@@ -134,18 +134,13 @@ func (f *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
134
134
135
135
// reportSlowQuery reports slow queries.
136
136
func (f * Handler ) reportSlowQuery (r * http.Request , queryString url.Values , queryResponseTime time.Duration ) {
137
- logMessage := []interface {}{
137
+ logMessage := append ( []interface {}{
138
138
"msg" , "slow query detected" ,
139
139
"method" , r .Method ,
140
140
"host" , r .Host ,
141
141
"path" , r .URL .Path ,
142
142
"time_taken" , queryResponseTime .String (),
143
- }
144
-
145
- // Attempt to iterate through the Form to log any filled in values
146
- for k , v := range queryString {
147
- logMessage = append (logMessage , fmt .Sprintf ("param_%s" , k ), strings .Join (v , "," ))
148
- }
143
+ }, formatQueryString (queryString )... )
149
144
150
145
level .Info (util .WithContext (r .Context (), f .log )).Log (logMessage ... )
151
146
}
@@ -160,15 +155,15 @@ func (f *Handler) reportQueryStats(r *http.Request, queryString url.Values, quer
160
155
f .querySeconds .WithLabelValues (userID ).Add (float64 (stats .LoadWallTime ()))
161
156
162
157
// Log stats.
163
- level . Info ( util . WithContext ( r . Context (), f . log )). Log (
158
+ logMessage := append ([] interface {}{
164
159
"msg" , "query stats" ,
165
- "user" , userID ,
166
160
"method" , r .Method ,
167
161
"path" , r .URL .Path ,
168
- "query" , queryString .Encode (),
169
- "responseTime" , queryResponseTime ,
170
- "queryWallTime" , stats .LoadWallTime (),
171
- )
162
+ "response_time" , queryResponseTime ,
163
+ "query_wall_time" , stats .LoadWallTime (),
164
+ }, formatQueryString (queryString )... )
165
+
166
+ level .Info (util .WithContext (r .Context (), f .log )).Log (logMessage ... )
172
167
}
173
168
174
169
func (f * Handler ) parseRequestQueryString (r * http.Request , bodyBuf bytes.Buffer ) url.Values {
@@ -185,6 +180,13 @@ func (f *Handler) parseRequestQueryString(r *http.Request, bodyBuf bytes.Buffer)
185
180
return r .Form
186
181
}
187
182
183
+ func formatQueryString (queryString url.Values ) (fields []interface {}) {
184
+ for k , v := range queryString {
185
+ fields = append (fields , fmt .Sprintf ("param_%s" , k ), strings .Join (v , "," ))
186
+ }
187
+ return fields
188
+ }
189
+
188
190
func writeError (w http.ResponseWriter , err error ) {
189
191
switch err {
190
192
case context .Canceled :
0 commit comments