From d7ce06e0038b7dbee5d7b9886f0df0ba1811fe4e Mon Sep 17 00:00:00 2001 From: Tim Li Date: Wed, 1 Oct 2025 12:48:34 -0700 Subject: [PATCH] add boilerplate to metrics with consistent metrics naming with go and java client Signed-off-by: Tim Li --- cadence/metrics/constants.py | 101 +++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 cadence/metrics/constants.py diff --git a/cadence/metrics/constants.py b/cadence/metrics/constants.py new file mode 100644 index 0000000..9b04e31 --- /dev/null +++ b/cadence/metrics/constants.py @@ -0,0 +1,101 @@ +"""Metric name constants for Cadence client matching Go client naming convention.""" + +# Metric name prefix +CADENCE_METRICS_PREFIX = "cadence-" + +# Workflow Creation metrics +WORKFLOW_START_COUNTER = CADENCE_METRICS_PREFIX + "workflow-start" +WORKFLOW_START_ASYNC_COUNTER = CADENCE_METRICS_PREFIX + "workflow-start-async" +WORKFLOW_COMPLETED_COUNTER = CADENCE_METRICS_PREFIX + "workflow-completed" +WORKFLOW_CANCELED_COUNTER = CADENCE_METRICS_PREFIX + "workflow-canceled" +WORKFLOW_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "workflow-failed" +WORKFLOW_CONTINUE_AS_NEW_COUNTER = CADENCE_METRICS_PREFIX + "workflow-continue-as-new" +WORKFLOW_END_TO_END_LATENCY = CADENCE_METRICS_PREFIX + "workflow-endtoend-latency" +WORKFLOW_GET_HISTORY_COUNTER = CADENCE_METRICS_PREFIX + "workflow-get-history-total" +WORKFLOW_GET_HISTORY_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "workflow-get-history-failed" +WORKFLOW_GET_HISTORY_SUCCEED_COUNTER = CADENCE_METRICS_PREFIX + "workflow-get-history-succeed" +WORKFLOW_GET_HISTORY_LATENCY = CADENCE_METRICS_PREFIX + "workflow-get-history-latency" +WORKFLOW_SIGNAL_WITH_START_COUNTER = CADENCE_METRICS_PREFIX + "workflow-signal-with-start" +WORKFLOW_SIGNAL_WITH_START_ASYNC_COUNTER = CADENCE_METRICS_PREFIX + "workflow-signal-with-start-async" +DECISION_TIMEOUT_COUNTER = CADENCE_METRICS_PREFIX + "decision-timeout" + +# Decision Poll metrics +DECISION_POLL_COUNTER = CADENCE_METRICS_PREFIX + "decision-poll-total" +DECISION_POLL_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "decision-poll-failed" +DECISION_POLL_TRANSIENT_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "decision-poll-transient-failed" +DECISION_POLL_NO_TASK_COUNTER = CADENCE_METRICS_PREFIX + "decision-poll-no-task" +DECISION_POLL_SUCCEED_COUNTER = CADENCE_METRICS_PREFIX + "decision-poll-succeed" +DECISION_POLL_LATENCY = CADENCE_METRICS_PREFIX + "decision-poll-latency" +DECISION_POLL_INVALID_COUNTER = CADENCE_METRICS_PREFIX + "decision-poll-invalid" +DECISION_SCHEDULED_TO_START_LATENCY = CADENCE_METRICS_PREFIX + "decision-scheduled-to-start-latency" +DECISION_EXECUTION_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "decision-execution-failed" +DECISION_EXECUTION_LATENCY = CADENCE_METRICS_PREFIX + "decision-execution-latency" +DECISION_RESPONSE_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "decision-response-failed" +DECISION_RESPONSE_LATENCY = CADENCE_METRICS_PREFIX + "decision-response-latency" +DECISION_TASK_PANIC_COUNTER = CADENCE_METRICS_PREFIX + "decision-task-panic" +DECISION_TASK_COMPLETED_COUNTER = CADENCE_METRICS_PREFIX + "decision-task-completed" +DECISION_TASK_FORCE_COMPLETED_COUNTER = CADENCE_METRICS_PREFIX + "decision-task-force-completed" + +# Activity Poll metrics +ACTIVITY_POLL_COUNTER = CADENCE_METRICS_PREFIX + "activity-poll-total" +ACTIVITY_POLL_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "activity-poll-failed" +ACTIVITY_POLL_TRANSIENT_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "activity-poll-transient-failed" +ACTIVITY_POLL_NO_TASK_COUNTER = CADENCE_METRICS_PREFIX + "activity-poll-no-task" +ACTIVITY_POLL_SUCCEED_COUNTER = CADENCE_METRICS_PREFIX + "activity-poll-succeed" +ACTIVITY_POLL_LATENCY = CADENCE_METRICS_PREFIX + "activity-poll-latency" +ACTIVITY_SCHEDULED_TO_START_LATENCY = CADENCE_METRICS_PREFIX + "activity-scheduled-to-start-latency" +ACTIVITY_EXECUTION_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "activity-execution-failed" +ACTIVITY_EXECUTION_LATENCY = CADENCE_METRICS_PREFIX + "activity-execution-latency" +ACTIVITY_RESPONSE_LATENCY = CADENCE_METRICS_PREFIX + "activity-response-latency" +ACTIVITY_RESPONSE_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "activity-response-failed" +ACTIVITY_END_TO_END_LATENCY = CADENCE_METRICS_PREFIX + "activity-endtoend-latency" +ACTIVITY_TASK_PANIC_COUNTER = CADENCE_METRICS_PREFIX + "activity-task-panic" +ACTIVITY_TASK_COMPLETED_COUNTER = CADENCE_METRICS_PREFIX + "activity-task-completed" +ACTIVITY_TASK_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "activity-task-failed" +ACTIVITY_TASK_CANCELED_COUNTER = CADENCE_METRICS_PREFIX + "activity-task-canceled" +ACTIVITY_TASK_COMPLETED_BY_ID_COUNTER = CADENCE_METRICS_PREFIX + "activity-task-completed-by-id" +ACTIVITY_TASK_FAILED_BY_ID_COUNTER = CADENCE_METRICS_PREFIX + "activity-task-failed-by-id" +ACTIVITY_TASK_CANCELED_BY_ID_COUNTER = CADENCE_METRICS_PREFIX + "activity-task-canceled-by-id" + +# Local Activity metrics +LOCAL_ACTIVITY_TOTAL_COUNTER = CADENCE_METRICS_PREFIX + "local-activity-total" +LOCAL_ACTIVITY_TIMEOUT_COUNTER = CADENCE_METRICS_PREFIX + "local-activity-timeout" +LOCAL_ACTIVITY_CANCELED_COUNTER = CADENCE_METRICS_PREFIX + "local-activity-canceled" +LOCAL_ACTIVITY_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "local-activity-failed" +LOCAL_ACTIVITY_PANIC_COUNTER = CADENCE_METRICS_PREFIX + "local-activity-panic" +LOCAL_ACTIVITY_EXECUTION_LATENCY = CADENCE_METRICS_PREFIX + "local-activity-execution-latency" +LOCALLY_DISPATCHED_ACTIVITY_POLL_COUNTER = CADENCE_METRICS_PREFIX + "locally-dispatched-activity-poll-total" +LOCALLY_DISPATCHED_ACTIVITY_POLL_NO_TASK_COUNTER = CADENCE_METRICS_PREFIX + "locally-dispatched-activity-poll-no-task" +LOCALLY_DISPATCHED_ACTIVITY_POLL_SUCCEED_COUNTER = CADENCE_METRICS_PREFIX + "locally-dispatched-activity-poll-succeed" +ACTIVITY_LOCAL_DISPATCH_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "activity-local-dispatch-failed" +ACTIVITY_LOCAL_DISPATCH_SUCCEED_COUNTER = CADENCE_METRICS_PREFIX + "activity-local-dispatch-succeed" +WORKER_PANIC_COUNTER = CADENCE_METRICS_PREFIX + "worker-panic" + +# Signal metrics +UNHANDLED_SIGNALS_COUNTER = CADENCE_METRICS_PREFIX + "unhandled-signals" +CORRUPTED_SIGNALS_COUNTER = CADENCE_METRICS_PREFIX + "corrupted-signals" + +# Worker metrics +WORKER_START_COUNTER = CADENCE_METRICS_PREFIX + "worker-start" +POLLER_START_COUNTER = CADENCE_METRICS_PREFIX + "poller-start" + +# Client metrics +CADENCE_REQUEST = CADENCE_METRICS_PREFIX + "request" +CADENCE_ERROR = CADENCE_METRICS_PREFIX + "error" +CADENCE_LATENCY = CADENCE_METRICS_PREFIX + "latency" +CADENCE_INVALID_REQUEST = CADENCE_METRICS_PREFIX + "invalid-request" + +# Sticky Cache metrics +STICKY_CACHE_HIT = CADENCE_METRICS_PREFIX + "sticky-cache-hit" +STICKY_CACHE_MISS = CADENCE_METRICS_PREFIX + "sticky-cache-miss" +STICKY_CACHE_EVICT = CADENCE_METRICS_PREFIX + "sticky-cache-evict" +STICKY_CACHE_STALL = CADENCE_METRICS_PREFIX + "sticky-cache-stall" +STICKY_CACHE_SIZE = CADENCE_METRICS_PREFIX + "sticky-cache-size" + +# Replay metrics +NON_DETERMINISTIC_ERROR = CADENCE_METRICS_PREFIX + "non-deterministic-error" +REPLAY_SUCCEED_COUNTER = CADENCE_METRICS_PREFIX + "replay-succeed" +REPLAY_FAILED_COUNTER = CADENCE_METRICS_PREFIX + "replay-failed" +REPLAY_SKIPPED_COUNTER = CADENCE_METRICS_PREFIX + "replay-skipped" +REPLAY_LATENCY = CADENCE_METRICS_PREFIX + "replay-latency" +