Publishing metrics

Conductor uses spectator to collect the metrics.

  • To enable conductor serve to publish metrics, add this dependency to your build.gradle.
  • Conductor Server enables you to load additional modules dynamically, this feature can be controlled using this configuration.
  • Create your own AbstractModule that overides configure function and registers the Spectator metrics registry.
  • Initialize the Registry and add it to the global registry via ((CompositeRegistry)Spectator.globalRegistry()).add(...).

The following metrics are published by the server. You can use these metrics to configure alerts for your workflows and tasks.

Name Purpose Tags
workflow_server_error Rate at which server side error is happening methodName
workflow_failure Counter for failing workflows workflowName, status
workflow_start_error Counter for failing to start a workflow workflowName
workflow_running Counter for no. of running workflows workflowName, version
workflow_execution Timer for Workflow completion workflowName, ownerApp
task_queue_wait Time spent by a task in queue taskType
task_execution Time taken to execute a task taskType, includeRetries, status
task_poll Time taken to poll for a task taskType
task_poll_count Counter for number of times the task is being polled taskType, domain
task_queue_depth Pending tasks queue depth taskType, ownerApp
task_rate_limited Current number of tasks being rate limited taskType
task_concurrent_execution_limited Current number of tasks being limited by concurrent execution limit taskType
task_timeout Counter for timed out tasks taskType
task_response_timeout Counter for tasks timedout due to responseTimeout taskType
task_update_conflict Counter for task update conflicts. Eg: when the workflow is in terminal state workflowName, taskType, taskStatus, workflowStatus
event_queue_messages_processed Counter for number of messages fetched from an event queue queueType, queueName
observable_queue_error Counter for number of errors encountered when fetching messages from an event queue queueType
event_queue_messages_handled Counter for number of messages executed from an event queue queueType, queueName
external_payload_storage_usage Counter for number of times external payload storage was used name, operation, payloadType