Temporal SDK metrics reference
The information on this page is relevant to Temporal SDKs π
See Cloud metrics π
See Cluster metrics π
The Temporal SDKs emit a set of metrics from Temporal Client usage and Worker Processes.
How to emit metrics using the Go SDK π
xLink previewHow to emit metricsEach Temporal SDK is capable of emitting an optional set of metrics from either the Client or the Worker process.How to emit metrics using the Java SDK π
xLink previewHow to emit metricsEach Temporal SDK is capable of emitting an optional set of metrics from either the Client or the Worker process.How to emit metrics using the Python SDK π
xLink previewHow to emit metricsEach Temporal SDK is capable of emitting an optional set of metrics from either the Client or the Worker process.How to emit metrics using the TypeScript SDK π
xLink previewHow to emit metricsEach Temporal SDK is capable of emitting an optional set of metrics from either the Client or the Worker process.
All metrics are prefixed with temporal_
before being exported to their configured destination.
(The prefix has been removed in the following reference.)
Currently, some metrics are specific to certain SDKs.
TypeScript, Python, .NET, and Ruby SDKs metrics are defined in the Core SDK.
PHP and Go metrics are defined in the Go SDK.
Java metrics are defined in the Java SDK Metrics are defined in the following locations.
- Core SDK Worker metrics
- Core SDK Client metrics
- Java SDK Worker metrics
- Java SDK Client metrics
- Go SDK Worker and Client metrics
Each metric may have some combination of the following keys attached to them:
task-queue
: Task Queue that the Worker Entity is pollingnamespace
: Namespace the Worker is bound topoller_type
: One of the following:workflow_task
activity_task
sticky_workflow_task
worker_type
: One of the following:ActivityWorker
WorkflowWorker
LocalActivityWorker
(Go and Java only)
activity_type
: The name of the Activity Function the metric is associated withworkflow_type
: The name of the Workflow Function the metric is associated withoperation
: RPC method name; available for metrics related to Temporal Client gRPC requests
Some keys may not be available in every SDK, and Histogram metrics may have different buckets in each SDK.
Metric name | Emitted by | Metric type | Availability |
---|---|---|---|
activity_execution_cancelled | Worker | Counter | Java |
activity_execution_failed | Worker | Counter | Core, Go, Java |
activity_execution_latency | Worker | Histogram | Core, Go, Java |
activity_poll_no_task | Worker | Counter | Core, Go, Java |
activity_schedule_to_start_latency | Worker | Histogram | Core, Go, Java |
activity_task_error | Worker | Counter | Go, |
corrupted_signals | Worker | Counter | Go, Java |
local_activity_execution_cancelled | Worker | Counter | Go, Java |
local_activity_execution_failed | Worker | Counter | Go, Java |
local_activity_execution_latency | Worker | Histogram | Go, Java |
local_activity_succeeded_endtoend_latency | Worker | Histogram | Go, Java |
local_activity_total | Worker | Counter | Go, Java |
long_request | Service Client | Counter | Core, Go, Java |
long_request_failure | Service Client | Counter | Core, Go, Java |
long_request_latency | Service Client | Histogram | Core, Go, Java |
num_pollers | Worker | Gauge | Core |
poller_start | Worker | Counter | Go, Java |
request | Service Client | Counter | Core, Go, Java |
request_failure | Service Client | Counter | Core, Go, Java |
request_latency | Service Client | Histogram | Core, Go, Java |
sticky_cache_hit | Worker | Counter | Core, Go, Java |
sticky_cache_miss | Worker | Counter | Core, Go, Java |
sticky_cache_size | Worker | Gauge | Core, Go, Java |
sticky_cache_total_forced_eviction | Worker | Counter | Go, Java |
unregistered_activity_invocation | Worker | Counter | Go, |
worker_start | Worker | Counter | Core, Go, Java |
worker_task_slots_available | Worker | Gauge | Go, Java |
workflow_active_thread_count | Worker | Gauge | Java |
workflow_cancelled | Worker | Counter | Core, Go, Java |
workflow_completed | Worker | Counter | Core, Go, Java |
workflow_continue_as_new | Worker | Counter | Core, Go, Java |
workflow_endtoend_latency | Worker | Histogram | Core, Go, Java |
workflow_failed | Worker | Counter | Core, Go, Java |
workflow_task_execution_failed | Worker | Counter | Core, Go, Java |
workflow_task_execution_latency | Worker | Histogram | Core, Go, Java |
workflow_task_queue_poll_empty | Worker | Counter | Core, Go, Java |
workflow_task_queue_poll_succeed | Worker | Counter | Core, Go, Java |
workflow_task_replay_latency | Worker | Histogram | Core, Go, Java |
workflow_task_schedule_to_start_latency | Worker | Histogram | Core, Go, Java |
activity_execution_cancelledβ
An Activity Execution was canceled.
- Type: Counter
- Available in: Java
- Tags:
activity_type
,namespace
,task_queue
activity_execution_failedβ
An Activity Execution failed.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
activity_type
,namespace
,task_queue
activity_execution_latencyβ
Time to complete an Activity Execution, from the time the Activity Task is generated to the time the language SDK responded with a completion (failure or success).
- Type: Histogram
- Available in: Core, Go, Java
- Tags:
activity_type
,namespace
,task_queue
activity_poll_no_taskβ
An Activity Worker poll for an Activity Task timed out, and no Activity Task is available to pick from the Task Queue.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
activity_type
,namespace
,task_queue
activity_schedule_to_start_latencyβ
The Schedule-To-Start time of an Activity Task in milliseconds. A Schedule-To-Start Timeout π
activity_type
label, but the metric should not vary by type, as it does not influence the rate at which tasks are pulled
from the queue.- Type: Histogram
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
activity_task_errorβ
An internal error or panic occurred during Activity Task handling or execution.
- Type: Counter
- Available in: Go,
- Tags:
activity_type
,namespace
,task_queue
,workflow_type
corrupted_signalsβ
Number of Signals whose payload could not be deserialized.
- Type: Counter
- Available in: Go, Java
- Tags:
namespace
,task_queue
,workflow_type
local_activity_execution_cancelledβ
A Local Activity Execution was canceled.
- Type: Counter
- Available in: Go, Java
- Tags:
activity_type
,namespace
,task_queue
local_activity_execution_failedβ
A Local Activity Execution failed.
- Type: Counter
- Available in: Go, Java
- Tags:
activity_type
,namespace
,task_queue
local_activity_execution_latencyβ
Time to complete a Local Activity Execution, from the time the first Activity Task is generated to the time the SDK responds that the execution is complete.
- Type: Histogram
- Available in: Go, Java
- Tags:
activity_type
,namespace
,task_queue
local_activity_succeeded_endtoend_latencyβ
Total latency of successfully finished Local Activity Executions (from schedule to completion).
- Type: Histogram
- Available in: Go, Java
- Tags:
activity_type
,namespace
,task_queue
local_activity_totalβ
Total number of Local Activity Executions π
- Type: Counter
- Available in: Go, Java
- Tags:
activity_type
,namespace
,task_queue
long_requestβ
Temporal Client made an RPC long poll request.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,operation
long_request_failureβ
Temporal Client made an RPC long poll request that failed.
This number is included into the total long_request
counter for long poll RPC requests.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,operation
long_request_latencyβ
Latency of a Temporal Client gRPC long poll request.
- Type: Histogram
- Available in: Core, Go, Java
- Tags:
namespace
,operation
num_pollersβ
Current number of Worker Entities that are polling.
- Type: Gauge
- Available in: Core
- Tags:
namespace
,poller_type
,task_queue
poller_startβ
A Worker Entity poller was started.
- Type: Counter
- Available in: Go, Java
- Tags:
namespace
,task_queue
requestβ
Temporal Client made an RPC request.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,operation
request_failureβ
Temporal Client made an RPC request that failed.
This number is included into the total request
counter for RPC requests.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,operation
request_latencyβ
Latency of a Temporal Client gRPC request.
- Type: Histogram
- Available in: Core, Go, Java
- Tags:
namespace
,operation
sticky_cache_hitβ
A Workflow Task found a cached Workflow Execution Event History to run against.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
sticky_cache_missβ
A Workflow Task did not find a cached Workflow Worker.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
sticky_cache_sizeβ
Current cache size, expressed in number of Workflow Executions.
- Type: Gauge
- Available in: Core, Go, Java
- Tags:
namespace
(TypeScript, Java),task_queue
(TypeScript)
sticky_cache_total_forced_evictionβ
A Workflow Execution has been forced from the cache intentionally.
- Type: Counter
- Available in: Go, Java
- Tags:
namespace
,task_queue
unregistered_activity_invocationβ
A request to spawn an Activity Execution is not registered with the Worker.
- Type: Counter
- Available in: Go,
- Tags:
activity_type
,namespace
,task_queue
,workflow_type
worker_startβ
A Worker Entity has been registered, created, or started.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
,worker_type
worker_task_slots_availableβ
The total number of Workflow Task and Activity Task execution slots that are currently available.
Use the worker_type
key to differentiate execution slots.
(Workflow Workers execute Workflow Tasks; Activity Workers execute Activity Tasks.)
- Type: Gauge
- Available in: Go, Java
- Tags:
namespace
,task_queue
,worker_type
workflow_active_thread_countβ
Total amount of Workflow threads in the Worker Process.
- Type: Gauge
- Available in: Java
workflow_cancelledβ
Workflow Execution ended because of a cancellation request.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
,workflow_type
workflow_completedβ
A Workflow Execution completed successfully.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
,workflow_type
workflow_continue_as_newβ
A Workflow ended with Continue-As-New.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
,workflow_type
workflow_endtoend_latencyβ
Total Workflow Execution time from schedule to completion for a single Workflow Run. (A retried Workflow Execution is a separate Run.)
- Type: Histogram
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
,workflow_type
workflow_failedβ
A Workflow Execution failed.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
,workflow_type
workflow_task_execution_failedβ
A Workflow Task Execution failed.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
,workflow_type
workflow_task_execution_latencyβ
Workflow Task Execution time.
- Type: Histogram
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
,workflow_type
workflow_task_queue_poll_emptyβ
A Workflow Worker polled a Task Queue and timed out without picking up a Workflow Task.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
,workflow_type
workflow_task_queue_poll_succeedβ
A Workflow Worker polled a Task Queue and successfully picked up a Workflow Task.
- Type: Counter
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
,workflow_type
workflow_task_replay_latencyβ
Time to catch up on replaying a Workflow Task.
- Type: Histogram
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
,workflow_type
workflow_task_schedule_to_start_latencyβ
The Schedule-To-Start time of a Workflow Task.
- Type: Histogram
- Available in: Core, Go, Java
- Tags:
namespace
,task_queue
,workflow_type