Commit 18b11fc8 authored by Malcolm Akinje's avatar Malcolm Akinje Committed by Miek Gieben

Normalizing Response Duration in Log Plugin (#1860)

* Current stage of the log files. Test need to be done as well as formatting of times.

* Finished testing. All altered classes test pass along with my additions

* Updated the replacer package to print the units as well. May take out.

* Changed the time units to be within the rules. Fixed the test as well.

* Fixed some tests, updated the readme, fixed the replacer class.

* Updates of standardizing only to seconds in response duration. Need to revert README.

* Reverted readme.

* Added a small test in new replacer.

* Changed replacer to inline the strconv for duration.
parent 751a08d6
......@@ -55,7 +55,7 @@ func New(r *dns.Msg, rr *dnstest.Recorder, emptyValue string) Replacer {
}
rep.replacements["{rcode}"] = rcode
rep.replacements["{rsize}"] = strconv.Itoa(rr.Len)
rep.replacements["{duration}"] = time.Since(rr.Start).String()
rep.replacements["{duration}"] = strconv.FormatFloat(time.Since(rr.Start).Seconds(), 'f', -1, 64) + "s"
if rr.Msg != nil {
rep.replacements[headerReplacer+"rflags}"] = flagsToString(rr.Msg.MsgHdr)
}
......
package replacer
import (
"strings"
"testing"
"github.com/coredns/coredns/plugin/pkg/dnstest"
......@@ -30,6 +31,9 @@ func TestNewReplacer(t *testing.T) {
if v.replacements["{size}"] != "29" { // size of request
t.Errorf("Expected size to be 29, got %q", v.replacements["{size}"])
}
if !strings.Contains(v.replacements["{duration}"], "s") {
t.Errorf("Expected units of time to be in seconds")
}
default:
t.Fatal("Return Value from New Replacer expected pass type assertion into a replacer type\n")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment