File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed
src/main/java/com/uber/cadence/internal Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -131,6 +131,10 @@ public class MetricsType {
131
131
public static final String ACTIVITY_LOCAL_DISPATCH_SUCCEED_COUNTER =
132
132
CADENCE_METRICS_PREFIX + "activity-local-dispatch-succeed" ;
133
133
public static final String WORKER_PANIC_COUNTER = CADENCE_METRICS_PREFIX + "worker-panic" ;
134
+ public static final String LOCAL_ACTIVITY_ACTIVE_THREAD_COUNT =
135
+ CADENCE_METRICS_PREFIX + "local_activity_active_thread_count" ;
136
+ public static final String ACTIVITY_ACTIVE_THREAD_COUNT =
137
+ CADENCE_METRICS_PREFIX + "activity_active_thread_count" ;
134
138
135
139
public static final String TASK_LIST_QUEUE_LATENCY =
136
140
CADENCE_METRICS_PREFIX + "tasklist-queue-latency" ;
Original file line number Diff line number Diff line change 19
19
20
20
import com .google .common .base .Joiner ;
21
21
import com .google .common .reflect .TypeToken ;
22
+ import com .google .common .util .concurrent .RateLimiter ;
22
23
import com .uber .cadence .PollForActivityTaskResponse ;
23
24
import com .uber .cadence .RespondActivityTaskCompletedRequest ;
24
25
import com .uber .cadence .RespondActivityTaskFailedRequest ;
43
44
import java .util .function .BiFunction ;
44
45
45
46
class POJOActivityTaskHandler implements ActivityTaskHandler {
47
+ private static final RateLimiter metricsRateLimiter = RateLimiter .create (1 );
46
48
47
49
private final DataConverter dataConverter ;
48
50
private final ScheduledExecutorService heartbeatExecutor ;
@@ -186,6 +188,13 @@ public Result handle(
186
188
metricsScope ,
187
189
isLocalActivity );
188
190
}
191
+ if (metricsRateLimiter .tryAcquire (1 )) {
192
+ if (isLocalActivity ) {
193
+ metricsScope .gauge (MetricsType .LOCAL_ACTIVITY_ACTIVE_THREAD_COUNT ).update (Thread .activeCount ());
194
+ } else {
195
+ metricsScope .gauge (MetricsType .ACTIVITY_ACTIVE_THREAD_COUNT ).update (Thread .activeCount ());
196
+ }
197
+ }
189
198
return activity .execute (activityTask , metricsScope );
190
199
}
191
200
You can’t perform that action at this time.
0 commit comments