humanize `timeToFirstByte` and `timeToResponse` upto nanoseconds (#9641)

master
Praveen raj Mani 5 years ago committed by GitHub
parent b11adfa5cd
commit 0cc2ed04f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      cmd/logger/audit.go
  2. 7
      docs/logging/README.md

@ -22,6 +22,7 @@ import (
"io" "io"
"net/http" "net/http"
"net/url" "net/url"
"strconv"
"time" "time"
"github.com/gorilla/mux" "github.com/gorilla/mux"
@ -166,8 +167,11 @@ func AuditLog(w http.ResponseWriter, r *http.Request, api string, reqClaims map[
entry.API.Object = object entry.API.Object = object
entry.API.Status = http.StatusText(statusCode) entry.API.Status = http.StatusText(statusCode)
entry.API.StatusCode = statusCode entry.API.StatusCode = statusCode
entry.API.TimeToFirstByte = timeToFirstByte.String() entry.API.TimeToResponse = strconv.FormatInt(timeToResponse.Nanoseconds(), 10) + "ns"
entry.API.TimeToResponse = timeToResponse.String() // ttfb will be recorded only for GET requests, Ignore such cases where ttfb will be empty.
if timeToFirstByte != 0 {
entry.API.TimeToFirstByte = strconv.FormatInt(timeToFirstByte.Nanoseconds(), 10) + "ns"
}
// Send audit logs only to http targets. // Send audit logs only to http targets.
for _, t := range AuditTargets { for _, t := range AuditTargets {

@ -57,6 +57,9 @@ minio server /mnt/data
``` ```
Setting this environment variable automatically enables audit logging to the HTTP target. The audit logging is in JSON format as described below. Setting this environment variable automatically enables audit logging to the HTTP target. The audit logging is in JSON format as described below.
NOTE: `timeToFirstByte` and `timeToResponse` will be expressed in Nanoseconds.
```json ```json
{ {
"version": "1", "version": "1",
@ -68,8 +71,8 @@ Setting this environment variable automatically enables audit logging to the HTT
"object": "hosts", "object": "hosts",
"status": "OK", "status": "OK",
"statusCode": 200, "statusCode": 200,
"timeToFirstByte": "0s", "timeToFirstByte": "366333ns",
"timeToResponse": "2.143308ms" "timeToResponse": "16438202ns"
}, },
"remotehost": "127.0.0.1", "remotehost": "127.0.0.1",
"requestID": "15BA4A72C0C70AFC", "requestID": "15BA4A72C0C70AFC",

Loading…
Cancel
Save