Get Pipeline Stats
Try it
GET
/v0/pipelines/{pipeline_name}/statsRetrieve statistics (e.g., performance counters) of a running or paused pipeline.
Authentication
JSON web token (JWT) or API keyBearer token
Parameters
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
pipeline_name | string | Yes | Unique pipeline name |
Response
200Pipeline statistics retrieved successfully
application/json- 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
404Pipeline with that name does not exist
application/json- objectInformation returned by REST API endpoints on error.
detailsobjectrequiredDetailed error metadata. The contents of this field is determined by `error_code`.error_codestringrequiredError code is a string that specifies this error type.messagestringrequiredHuman-readable error message.
500
application/json- objectInformation returned by REST API endpoints on error.
detailsobjectrequiredDetailed error metadata. The contents of this field is determined by `error_code`.error_codestringrequiredError code is a string that specifies this error type.messagestringrequiredHuman-readable error message.
503
application/json- objectInformation returned by REST API endpoints on error.
detailsobjectrequiredDetailed error metadata. The contents of this field is determined by `error_code`.error_codestringrequiredError code is a string that specifies this error type.messagestringrequiredHuman-readable error message.
curl -X GET 'https://api.example.com/v0/pipelines/{pipeline_name}/stats' \
-H 'Authorization: Bearer YOUR_TOKEN'const response = await fetch('https://api.example.com/v0/pipelines/{pipeline_name}/stats', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_TOKEN'
}
});
const data = await response.json();
console.log(data);interface ApiResponse {
// shape your response here
}
const response: Response = await fetch('https://api.example.com/v0/pipelines/{pipeline_name}/stats', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_TOKEN'
}
});
const data = (await response.json()) as ApiResponse;
console.log(data);import requests
url = "https://api.example.com/v0/pipelines/{pipeline_name}/stats"
headers = {
"Authorization": "Bearer YOUR_TOKEN"
}
response = requests.request("get", url, headers=headers)
print(response.json())package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.example.com/v0/pipelines/{pipeline_name}/stats", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer YOUR_TOKEN")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
out, _ := io.ReadAll(resp.Body)
fmt.Println(string(out))
}{
"message": "Unknown pipeline name 'non-existent-pipeline'",
"error_code": "UnknownPipelineName",
"details": {
"pipeline_name": "non-existent-pipeline"
}
}