diff options
| author | Shulhan <ms@kilabit.info> | 2022-04-15 02:53:12 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2022-04-15 02:53:12 +0700 |
| commit | 143087b8edc9fcfbf93dccf213c569797b1eea73 (patch) | |
| tree | f12ac21f4e2940ce89a5bf968bc5151b2ac80697 /cmd/resolver/resolver.go | |
| parent | 541bc6d4cfa918b766b8b528038f2ebcc65c19aa (diff) | |
| download | rescached-143087b8edc9fcfbf93dccf213c569797b1eea73.tar.xz | |
cmd/resolver: print the Answer ReceivedAt and AccessedAt from now
Instead of printing the full date and time, print the ReceivedAt and
AccessedAt fields in the perspective of current time.
For example, 1m ago, 30s ago.
Diffstat (limited to 'cmd/resolver/resolver.go')
| -rw-r--r-- | cmd/resolver/resolver.go | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/cmd/resolver/resolver.go b/cmd/resolver/resolver.go index 8804851..80d837d 100644 --- a/cmd/resolver/resolver.go +++ b/cmd/resolver/resolver.go @@ -275,7 +275,11 @@ func populateQueries(cr *libnet.ResolvConf, qname string) (queries []string) { // printAnswers print list of DNS Answer to stdout. func printAnswers(answers []*dns.Answer) { var ( + timeNow = time.Now() + answer *dns.Answer + receivedAt time.Duration + accessedAt time.Duration format string header string line strings.Builder @@ -289,7 +293,7 @@ func printAnswers(answers []*dns.Answer) { } } - format = fmt.Sprintf("%%4s | %%%ds | %%4s | %%5s | %%30s | %%30s", maxNameLen) + format = fmt.Sprintf("%%4s | %%%ds | %%4s | %%5s | %%12s | %%12s", maxNameLen) header = fmt.Sprintf(format, "#", "Name", "Type", "Class", "Received at", "Accessed at") for x = 0; x < len(header); x++ { line.WriteString("-") @@ -298,13 +302,15 @@ func printAnswers(answers []*dns.Answer) { fmt.Println(header) fmt.Println(line.String()) - format = fmt.Sprintf("%%4d | %%%ds | %%4s | %%5s | %%30s | %%30s\n", maxNameLen) + format = fmt.Sprintf("%%4d | %%%ds | %%4s | %%5s | %%12s | %%12s\n", maxNameLen) for x, answer = range answers { + receivedAt = timeNow.Sub(time.Unix(answer.ReceivedAt, 0)).Truncate(time.Second) + accessedAt = timeNow.Sub(time.Unix(answer.AccessedAt, 0)).Truncate(time.Second) fmt.Printf(format, x, answer.QName, dns.RecordTypeNames[answer.RType], dns.RecordClassName[answer.RClass], - time.Unix(answer.ReceivedAt, 0), - time.Unix(answer.AccessedAt, 0), + receivedAt.String()+" ago", + accessedAt.String()+" ago", ) } } |
