aboutsummaryrefslogtreecommitdiff
path: root/cmd/resolver/resolver.go
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2022-04-15 02:53:12 +0700
committerShulhan <ms@kilabit.info>2022-04-15 02:53:12 +0700
commit143087b8edc9fcfbf93dccf213c569797b1eea73 (patch)
treef12ac21f4e2940ce89a5bf968bc5151b2ac80697 /cmd/resolver/resolver.go
parent541bc6d4cfa918b766b8b528038f2ebcc65c19aa (diff)
downloadrescached-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.go14
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",
)
}
}