MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / logSlow

Method logSlow

worker/db.go:301–334  ·  view source on GitHub ↗
(request *types.Request, isFinished bool, tmStart time.Time)

Source from the content-addressed store, hash-verified

299}
300
301func (db *Database) logSlow(request *types.Request, isFinished bool, tmStart time.Time) {
302 if request == nil {
303 return
304 }
305
306 // sample the queries
307 querySample := ""
308
309 for _, q := range request.Payload.Queries {
310 if len(querySample) < SlowQuerySampleSize {
311 querySample += "; "
312 querySample += q.Pattern
313 } else {
314 break
315 }
316 }
317
318 if len(querySample) >= SlowQuerySampleSize {
319 querySample = querySample[:SlowQuerySampleSize-3]
320 querySample += "..."
321 }
322
323 log.WithFields(log.Fields{
324 "finished": isFinished,
325 "db": request.Header.DatabaseID,
326 "req_time": request.Header.Timestamp.String(),
327 "req_node": request.Header.NodeID,
328 "count": request.Header.BatchCount,
329 "type": request.Header.QueryType.String(),
330 "sample": querySample,
331 "start": tmStart.String(),
332 "elapsed": time.Now().Sub(tmStart).String(),
333 }).Error("slow query detected")
334}
335
336// Ack defines client response ack interface.
337func (db *Database) Ack(ack *types.Ack) (err error) {

Callers 1

QueryMethod · 0.95

Calls 3

WithFieldsFunction · 0.92
ErrorMethod · 0.80
StringMethod · 0.45

Tested by

no test coverage detected