Get statistics for a pipeline

Base URL
/
Auth optional

Get performance metrics and plugin details for a pipeline.

Path parameters

pipeline_name string required

The name of the pipeline to retrieve information for.

Query parameters

pretty boolean

If you append ?pretty=true to the request, the JSON returned will be pretty formatted. Use it for debugging only!

Response

A JSON object containing a single pipeline statistics.

application/json
pipelines map string to object

A map where each key is a user-defined pipeline name, and the value contains the metrics for that pipeline.

<string> object
events object
in integer · format: int64
filtered integer · format: int64
out integer · format: int64
duration_in_millis integer · format: int64
queue_push_duration_in_millis integer · format: int64
flow union oneOf
One of:
input_throughput object

This metric is expressed in events-per-second, and is the rate of events being pushed into the pipeline(s) queue(s) relative to wall-clock time (events.in / second). It includes events that are blocked by the queue and have not yet been accepted.

current union number | enum

The most recent ~10s.

Values: Infinity
last_1_minute union number | enum
Values: Infinity
last_5_minutes union number | enum
Values: Infinity
last_15_minutes union number | enum
Values: Infinity
last_1_hour union number | enum
Values: Infinity
last_24_hours union number | enum
Values: Infinity
lifetime union number | enum

The lifetime of the relevant pipeline or process.

Values: Infinity
filter_throughput object

This metric is expressed in events-per-second, and is the rate of events flowing through the filter phase of the pipeline(s) relative to wall-clock time (events.filtered / second).

current union number | enum

The most recent ~10s.

Values: Infinity
last_1_minute union number | enum
Values: Infinity
last_5_minutes union number | enum
Values: Infinity
last_15_minutes union number | enum
Values: Infinity
last_1_hour union number | enum
Values: Infinity
last_24_hours union number | enum
Values: Infinity
lifetime union number | enum

The lifetime of the relevant pipeline or process.

Values: Infinity
output_throughput object

This metric is expressed in events-per-second, and is the rate of events flowing through the output phase of the pipeline(s) relative to wall-clock time (events.out / second).

current union number | enum

The most recent ~10s.

Values: Infinity
last_1_minute union number | enum
Values: Infinity
last_5_minutes union number | enum
Values: Infinity
last_15_minutes union number | enum
Values: Infinity
last_1_hour union number | enum
Values: Infinity
last_24_hours union number | enum
Values: Infinity
lifetime union number | enum

The lifetime of the relevant pipeline or process.

Values: Infinity
queue_backpressure object

This is a unitless metric representing the cumulative time spent by all inputs blocked pushing events into their pipeline’s queue, relative to wall-clock time (queue_push_duration_in_millis / millisecond). It is typically most useful when looking at the stats for an individual pipeline.

While a "zero" value indicates no back-pressure to the queue, the magnitude of this metric is highly dependent on the shape of the pipelines and their inputs. It cannot be used to compare one pipeline to another or even one process to itself if the quantity or shape of its pipelines changes. A pipeline with only one single-threaded input may contribute up to 1.00, a pipeline whose inputs have hundreds of inbound connections may contribute much higher numbers to this combined value.

Additionally, some amount of back-pressure is both normal and expected for pipelines that are pulling data, as this back-pressure allows them to slow down and pull data at a rate its downstream pipeline can tolerate.

current union number | enum

The most recent ~10s.

Values: Infinity
last_1_minute union number | enum
Values: Infinity
last_5_minutes union number | enum
Values: Infinity
last_15_minutes union number | enum
Values: Infinity
last_1_hour union number | enum
Values: Infinity
last_24_hours union number | enum
Values: Infinity
lifetime union number | enum

The lifetime of the relevant pipeline or process.

Values: Infinity
worker_concurrency object

This is a unitless metric representing the cumulative time spent by all workers relative to wall-clock time (duration_in_millis / millisecond).

A pipeline is considered "saturated" when its worker_concurrency flow metric approaches its available pipeline.workers, because it indicates that all of its available workers are being kept busy. Tuning a saturated pipeline to have more workers can often work to increase that pipeline’s throughput and decrease back-pressure to its queue, unless the pipeline is experiencing back-pressure from its outputs.

A process is also considered "saturated" when its top-level worker_concurrency flow metric approaches the cumulative pipeline.workers across all pipelines, and similarly can be addressed by tuning the individual pipelines that are saturated.

current union number | enum

The most recent ~10s.

Values: Infinity
last_1_minute union number | enum
Values: Infinity
last_5_minutes union number | enum
Values: Infinity
last_15_minutes union number | enum
Values: Infinity
last_1_hour union number | enum
Values: Infinity
last_24_hours union number | enum
Values: Infinity
lifetime union number | enum

The lifetime of the relevant pipeline or process.

Values: Infinity
worker_utilization object

This is a unitless metric that indicates the percentage of available worker time being used by this individual plugin (duration / (uptime * pipeline.workers). It is useful for identifying which plugins in a pipeline are using the available worker resources.

A pipeline is considered "saturated" when worker_utilization approaches 100, because it indicates that all of its workers are being kept busy. This is typically an indication of either downstream back-pressure or insufficient resources allocated to the pipeline. Tuning a saturated pipeline to have more workers can often work to increase that pipeline’s throughput and decrease back-pressure to its queue, unless the pipeline is experiencing back-pressure from its outputs.

A pipeline is considered "starved" when worker_utilization approaches 0, because it indicates that none of its workers are being kept busy. This is typically an indication that the inputs are not receiving or retrieving enough volume to keep the pipeline workers busy. Tuning a starved pipeline to have fewer workers can help it to consume less memory and CPU, freeing up resources for other pipelines.

current union number | enum

The most recent ~10s.

Values: Infinity
last_1_minute union number | enum
Values: Infinity
last_5_minutes union number | enum
Values: Infinity
last_15_minutes union number | enum
Values: Infinity
last_1_hour union number | enum
Values: Infinity
last_24_hours union number | enum
Values: Infinity
lifetime union number | enum

The lifetime of the relevant pipeline or process.

Values: Infinity
plugins object
inputs object[]
id string
name string
flow object
throughput object

This metric is expressed in events-per-second, and is the rate of events this input plugin is pushing into the pipeline’s queue relative to wall-clock time (events.in / second). It includes events that are blocked by the queue and have not yet been accepted.

current union number | enum

The most recent ~10s.

Values: Infinity
last_1_minute union number | enum
Values: Infinity
last_5_minutes union number | enum
Values: Infinity
last_15_minutes union number | enum
Values: Infinity
last_1_hour union number | enum
Values: Infinity
last_24_hours union number | enum
Values: Infinity
lifetime union number | enum

The lifetime of the relevant pipeline or process.

Values: Infinity
events object
out integer · format: int64
queue_push_duration_in_millis integer · format: int64
codecs object[]
id string
name string
decode object
duration_in_millis integer
writes_in integer
out integer
encode object
duration_in_millis integer
writes_in integer
filters object[]
id string
name string
flow object
worker_utilization object

This is a unitless metric that indicates the percentage of available worker time being used by this individual plugin (duration / (uptime * pipeline.workers). It is useful for identifying which plugins in a pipeline are using the available worker resources.

current union number | enum

The most recent ~10s.

Values: Infinity
last_1_minute union number | enum
Values: Infinity
last_5_minutes union number | enum
Values: Infinity
last_15_minutes union number | enum
Values: Infinity
last_1_hour union number | enum
Values: Infinity
last_24_hours union number | enum
Values: Infinity
lifetime union number | enum

The lifetime of the relevant pipeline or process.

Values: Infinity
worker_millis_per_event object

This metric is expressed in worker-millis-spent-per-event (duration_in_millis / events.in) with higher scores indicating more resources spent per event. It is especially useful for identifying issues with plugins that operate on a small subset of events. An "Infinity" value for a given flow window indicates that worker millis have been spent without any events completing processing; this can indicate a plugin that is either stuck or handling only empty batches.

current union number | enum

The most recent ~10s.

Values: Infinity
last_1_minute union number | enum
Values: Infinity
last_5_minutes union number | enum
Values: Infinity
last_15_minutes union number | enum
Values: Infinity
last_1_hour union number | enum
Values: Infinity
last_24_hours union number | enum
Values: Infinity
lifetime union number | enum

The lifetime of the relevant pipeline or process.

Values: Infinity
events object
in integer · format: int64
out integer · format: int64
duration_in_millis integer · format: int64
outputs object[]
Same fields as filters in plugins
reloads object
last_error string nullable
successes integer · format: int64
last_success_timestamp string · format: date-time nullable
last_failure_timestamp string · format: date-time nullable
failures integer · format: int64
queue union oneOf
One of: (determined by type)
type: persisted

The metrics of persisted queue.

type enum required
Values: persisted
capacity object
max_unread_events integer · format: int64
page_capacity_in_bytes integer · format: int64
max_queue_size_in_bytes integer · format: int64
queue_size_in_bytes integer · format: int64
data object
path string
free_space_in_bytes integer · format: int64
storage_type string
events integer · format: int64
events_count integer · format: int64
queue_size_in_bytes integer · format: int64
max_queue_size_in_bytes integer · format: int64
compression object
encode object
goal enum
Values: speed balanced size
ratio object

the ratio of event size in bytes to its representation on disk

lifetime union number | enum
Values: Infinity NaN -Infinity
spend object

the fraction of wall-clock time spent encoding events

lifetime union number | enum
Values: Infinity NaN -Infinity
decode object
ratio object

the ratio of event representation on disk to event size

lifetime union number | enum
Values: Infinity NaN -Infinity
spend object

the fraction of wall-clock time spent decoding events

lifetime union number | enum
Values: Infinity NaN -Infinity
pipeline object
workers integer
batch_size integer
batch_delay integer
hash string

A unique hash identifier.

ephemeral_id string · format: uuid

A temporary unique identifier for the instance.

Base URL
/