Get Pipeline Stats
Retrieve statistics (e.g., performance counters) of a running or paused pipeline.
Authentication
| Scheme | Type | Details |
|---|---|---|
JSON web token (JWT) or API key | Bearer token | Authorization header · Use a JWT token obtained via an OAuth2/OIDC login workflow or an API key obtained via the `/v0/api-keys` endpoint. |
Parameters
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
pipeline_name | string | Yes | Unique pipeline name |
Response
Pipeline statistics retrieved successfully
- objectComplete pipeline statistics returned by the `/stats` endpoint. This schema definition matches the serialized JSON structure from `adapters::controller::ControllerStatus`. The actual implementation with atomics and mutexes lives in the adapters crate, which uses ExternalControllerStatus to register this OpenAPI schema, making it available to pipeline-manager without requiring a direct dependency on the adapters crate.
checkpoint_activityobjectglobal_metricsobjectrequiredGlobal controller metrics.inputsInputEndpointStatus[]requiredInput endpoint configs and metrics.outputsOutputEndpointStatus[]requiredOutput endpoint configs and metrics.permanent_checkpoint_errorsPermanentSuspendError[]If the pipeline fundamentally cannot checkpoint (e.g. storage is not configured, or an input endpoint does not support suspend), the reasons are listed here. Unlike a checkpoint failure, this means *no* checkpoint can succeed until the pipeline configuration changes.suspend_errorobject
curl -X GET '/v0/pipelines/{pipeline_name}/stats' \
-H 'Authorization: Bearer YOUR_TOKEN'Pipeline with that name does not exist
{
"message": "Unknown pipeline name 'non-existent-pipeline'",
"error_code": "UnknownPipelineName",
"details": {
"pipeline_name": "non-existent-pipeline"
}
}