aboutsummaryrefslogtreecommitdiff
path: root/cmd/resolver
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
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')
-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",
)
}
}