aboutsummaryrefslogtreecommitdiff
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
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.
-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",
)
}
}