Skip to content

Commit e9e55a9

Browse files
authored
change task permit metrics from gauge to histogram (#1437)
What changed? changed 2 metrics from gauge to histogram Why? It's more accurate to get the distribution overview on clients
1 parent 0c96659 commit e9e55a9

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

internal/internal_worker_base.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ const (
5252
)
5353

5454
var (
55-
pollOperationRetryPolicy = createPollRetryPolicy()
55+
pollOperationRetryPolicy = createPollRetryPolicy()
56+
concurrentTaskHistogramBuckets = tally.ValueBuckets{10, 20, 50, 100, 150, 200, 400, 600, 800, 1000, 1500, 2000, 3000, 5000, 10000}
5657
)
5758

5859
var errShutdown = errors.New("worker shutting down")
@@ -265,8 +266,8 @@ func (bw *baseWorker) runPoller() {
265266
// emit metrics on concurrent task permit quota and current task permit count
266267
// NOTE task permit doesn't mean there is a task running, it still needs to poll until it gets a task to process
267268
// thus the metrics is only an estimated value of how many tasks are running concurrently
268-
bw.metricsScope.Gauge(metrics.ConcurrentTaskQuota).Update(float64(bw.concurrency.TaskPermit.Quota()))
269-
bw.metricsScope.Gauge(metrics.PollerRequestBufferUsage).Update(float64(bw.concurrency.TaskPermit.Count()))
269+
bw.metricsScope.Histogram(metrics.ConcurrentTaskQuota, concurrentTaskHistogramBuckets).RecordValue(float64(bw.concurrency.TaskPermit.Quota()))
270+
bw.metricsScope.Histogram(metrics.PollerRequestBufferUsage, concurrentTaskHistogramBuckets).RecordValue(float64(bw.concurrency.TaskPermit.Count()))
270271
if bw.sessionTokenBucket != nil {
271272
bw.sessionTokenBucket.waitForAvailableToken()
272273
}

0 commit comments

Comments
 (0)