MCPcopy
hub / github.com/IBM/sarama / printMetrics

Function printMetrics

tools/kafka-producer-performance/main.go:420–451  ·  view source on GitHub ↗
(w io.Writer, r metrics.Registry)

Source from the content-addressed store, hash-verified

418}
419
420func printMetrics(w io.Writer, r metrics.Registry) {
421 recordSendRateMetric := r.Get("record-send-rate")
422 requestLatencyMetric := r.Get("request-latency-in-ms")
423 outgoingByteRateMetric := r.Get("outgoing-byte-rate")
424 requestsInFlightMetric := r.Get("requests-in-flight")
425
426 if recordSendRateMetric == nil || requestLatencyMetric == nil || outgoingByteRateMetric == nil ||
427 requestsInFlightMetric == nil {
428 return
429 }
430 recordSendRate := recordSendRateMetric.(metrics.Meter).Snapshot()
431 requestLatency := requestLatencyMetric.(metrics.Histogram).Snapshot()
432 requestLatencyPercentiles := requestLatency.Percentiles([]float64{0.5, 0.75, 0.95, 0.99, 0.999})
433 outgoingByteRate := outgoingByteRateMetric.(metrics.Meter).Snapshot()
434 requestsInFlight := requestsInFlightMetric.(metrics.Counter).Count()
435 fmt.Fprintf(w, "%d records sent, %.1f records/sec (%.2f MiB/sec ingress, %.2f MiB/sec egress), "+
436 "%.1f ms avg latency, %.1f ms stddev, %.1f ms 50th, %.1f ms 75th, "+
437 "%.1f ms 95th, %.1f ms 99th, %.1f ms 99.9th, %d total req. in flight\n",
438 recordSendRate.Count(),
439 recordSendRate.RateMean(),
440 recordSendRate.RateMean()*float64(*messageSize)/1024/1024,
441 outgoingByteRate.RateMean()/1024/1024,
442 requestLatency.Mean(),
443 requestLatency.StdDev(),
444 requestLatencyPercentiles[0],
445 requestLatencyPercentiles[1],
446 requestLatencyPercentiles[2],
447 requestLatencyPercentiles[3],
448 requestLatencyPercentiles[4],
449 requestsInFlight,
450 )
451}
452
453func printUsageErrorAndExit(message string) {
454 fmt.Fprintln(os.Stderr, "ERROR:", message)

Callers 3

mainFunction · 0.85
runAsyncProducerFunction · 0.85
runSyncProducerFunction · 0.85

Calls 1

GetMethod · 0.45

Tested by

no test coverage detected