Skip to content

Commit a8bcc17

Browse files
authored
Add metrics for SCHEDULED_TO_STAR latency (#380)
1 parent 79d4c44 commit a8bcc17

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

src/main/java/com/uber/cadence/internal/metrics/MetricsType.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ public class MetricsType {
5353
CADENCE_METRICS_PREFIX + "decision-poll-succeed";
5454
public static final String DECISION_POLL_LATENCY =
5555
CADENCE_METRICS_PREFIX + "decision-poll-latency"; // measure succeed poll request latency
56+
public static final String DECISION_SCHEDULED_TO_START_LATENCY =
57+
CADENCE_METRICS_PREFIX + "decision-scheduled-to-start-latency";
5658
public static final String DECISION_EXECUTION_FAILED_COUNTER =
5759
CADENCE_METRICS_PREFIX + "decision-execution-failed";
5860
public static final String DECISION_EXECUTION_LATENCY =
@@ -77,6 +79,8 @@ public class MetricsType {
7779
CADENCE_METRICS_PREFIX + "activity-poll-succeed";
7880
public static final String ACTIVITY_POLL_LATENCY =
7981
CADENCE_METRICS_PREFIX + "activity-poll-latency";
82+
public static final String ACTIVITY_SCHEDULED_TO_START_LATENCY =
83+
CADENCE_METRICS_PREFIX + "activity-scheduled-to-start-latency";
8084
public static final String ACTIVITY_EXEC_FAILED_COUNTER =
8185
CADENCE_METRICS_PREFIX + "activity-execution-failed";
8286
public static final String ACTIVITY_EXEC_LATENCY =
@@ -120,7 +124,6 @@ public class MetricsType {
120124

121125
public static final String UNHANDLED_SIGNALS_COUNTER =
122126
CADENCE_METRICS_PREFIX + "unhandled-signals";
123-
124127
public static final String CORRUPTED_SIGNALS_COUNTER =
125128
CADENCE_METRICS_PREFIX + "corrupted-signals";
126129

src/main/java/com/uber/cadence/internal/worker/ActivityPollTask.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.uber.cadence.internal.metrics.MetricsType;
2727
import com.uber.cadence.serviceclient.IWorkflowService;
2828
import com.uber.m3.tally.Stopwatch;
29+
import com.uber.m3.util.Duration;
2930
import org.apache.thrift.TException;
3031
import org.slf4j.Logger;
3132
import org.slf4j.LoggerFactory;
@@ -91,6 +92,10 @@ public ActivityWorker.MeasurableActivityTask poll() throws TException {
9192
}
9293

9394
options.getMetricsScope().counter(MetricsType.ACTIVITY_POLL_SUCCEED_COUNTER).inc(1);
95+
options
96+
.getMetricsScope()
97+
.timer(MetricsType.ACTIVITY_SCHEDULED_TO_START_LATENCY)
98+
.record(Duration.ofNanos(result.getStartedTimestamp() - result.getScheduledTimestampOfThisAttempt()));
9499
sw.stop();
95100
return new ActivityWorker.MeasurableActivityTask(result, e2eSW);
96101
}

src/main/java/com/uber/cadence/internal/worker/WorkflowPollTask.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.uber.cadence.serviceclient.IWorkflowService;
2727
import com.uber.m3.tally.Scope;
2828
import com.uber.m3.tally.Stopwatch;
29+
import com.uber.m3.util.Duration;
2930
import java.util.Objects;
3031
import org.apache.thrift.TException;
3132
import org.slf4j.Logger;
@@ -101,6 +102,9 @@ public PollForDecisionTaskResponse poll() throws TException {
101102
}
102103

103104
metricScope.counter(MetricsType.DECISION_POLL_SUCCEED_COUNTER).inc(1);
105+
metricScope
106+
.timer(MetricsType.DECISION_SCHEDULED_TO_START_LATENCY)
107+
.record(Duration.ofNanos(result.getStartedTimestamp() - result.getScheduledTimestamp()));
104108
sw.stop();
105109
return result;
106110
}

0 commit comments

Comments
 (0)