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.
This commit is contained in:
Malcolm Akinje 2018-06-07 11:21:17 -04:00 committed by Miek Gieben
parent 751a08d6a2
commit 18b11fc851
2 changed files with 5 additions and 1 deletions

View file

@ -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)
}

View file

@ -1,6 +1,7 @@
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")