Add .Elapsed in context.ResponseWriter for monitor purpose

With this commit we can record per requests's elapsed time,
so we can easy to monitor that by use a filter.
This commit is contained in:
wanghui 2018-11-19 16:38:14 +08:00
parent 7a50ea7e36
commit b021686521
No known key found for this signature in database
GPG Key ID: 9DD1E28DBFC06C26
2 changed files with 4 additions and 3 deletions

View File

@ -201,6 +201,7 @@ type Response struct {
http.ResponseWriter
Started bool
Status int
Elapsed time.Duration
}
func (r *Response) reset(rw http.ResponseWriter) {
@ -259,4 +260,4 @@ func (r *Response) Pusher() (pusher http.Pusher) {
return pusher
}
return nil
}
}

View File

@ -890,8 +890,9 @@ Admin:
logAccess(context, &startTime, statusCode)
timeDur := time.Since(startTime)
context.ResponseWriter.Elapsed = timeDur
if BConfig.Listen.EnableAdmin {
timeDur := time.Since(startTime)
pattern := ""
if routerInfo != nil {
pattern = routerInfo.pattern
@ -908,7 +909,6 @@ Admin:
if BConfig.RunMode == DEV && !BConfig.Log.AccessLogs {
var devInfo string
timeDur := time.Since(startTime)
iswin := (runtime.GOOS == "windows")
statusColor := logs.ColorByStatus(iswin, statusCode)
methodColor := logs.ColorByMethod(iswin, r.Method)