Server Metrics
Feature Update
Since v3.21.16, Conductor has switched to Micrometer for metrics collection.
Conductor uses Micrometer for metrics collection and export.
The following metrics are published by the Conductor server. You can export these metrics to set up alerts for your workflows and tasks.
| Metric Name | Description | Tags |
|---|---|---|
| workflow_server_error | The rate at which server-side errors are occurring. | methodName |
| workflow_failure | The number of failed workflows. | workflowName, status |
| workflow_start_error | The number of workflows that fail to start. | workflowName |
| workflow_running | The number of running workflows. | workflowName, version |
| workflow_execution | The time taken for workflow completion. | workflowName, ownerApp |
| task_queue_wait | The amount of time spent by a task in queue. | taskType |
| task_execution | The time taken to execute a task. | taskType, includeRetries, status |
| task_poll | The time taken to poll for a task. | taskType |
| task_poll_count | The number of times the task is being polled. | taskType, domain |
| task_queue_depth | The queue depth for pending tasks. | taskType, ownerApp |
| task_rate_limited | The current number of tasks that are being rate limited. | taskType |
| task_concurrent_execution_limited | The current number of tasks that are being limited by its concurrent execution limit. | taskType |
| task_timeout | The number of timed-out tasks. | taskType |
| task_response_timeout | The number of tasks that timed out due to responseTimeout. |
taskType |
| task_update_conflict | The number of task update conflicts. For example, a worker updates the task status even though the workflow is already in a terminal state. |
workflowName, taskType, taskStatus, workflowStatus |
| event_queue_messages_processed | The number of messages fetched from an event queue. | queueType, queueName |
| observable_queue_error | The number of errors encountered when fetching messages from an event queue. | queueType |
| event_queue_messages_handled | The number of messages executed from an event queue. | queueType, queueName |
| external_payload_storage_usage | The number of times an external payload storage was used. | name, operation, payloadType |
Supported monitoring systems
Conductor supports the following Micrometer publishers:
- Atlas
- Prometheus
- Datadog
- JMX
- OpenTelemetry Protocol (OTPL)
- Dynatrace
- Elasticsearch
- New Relic
- StackDriver
- StatsD
- CloudWatch
- Azure Monitor
- Influx
Enabling metrics collection
To enable metrics collection to a particular monitoring system, refer to the Micrometer documentation complete the implementation. You will also need to enable the particular monitoring system in the Conductor's application.properties file.