Skip to main content

api.NodePipelineMetricsSnapshot

api.NodePipelineMetricsSnapshot API schema defining 2 fields, including connection state and pipelines.

connection_statestring
pipelines object
property name* object[]
  • Array [
  • bytes_inputinteger

    BytesInput / BytesOutput are the per-stage byte totals (bytes) over the batch interval, matching the pipeline_bytes_total{stage} counter. Always serialized (no omitempty) so a zero-throughput window reads as 0, not a gap.

    bytes_outputinteger
    components object[]

    Components carries per-component throughput + latency, one entry per Benthos component path (e.g. "root.pipeline.processors.1").

  • Array [
  • component_namestring

    ComponentName is the component's plugin/type name (e.g. "generate", "http_server", "mapping") -- the component_name label on the OTLP/Prometheus series. Empty for an older edge that does not report it, or a component that carries no name attribute.

    errorsinteger
    latency object

    Latency is the component latency histogram (seconds).

    boundsnumber[]

    Bounds are the explicit upper bounds (le), ascending.

    bucket_countsinteger[]

    BucketCounts are the per-bucket counts; len == len(Bounds)+1, where the final entry is the +Inf overflow bucket. NOTE: these are OTel DELTA (non-cumulative) per-bucket counts. A Prometheus _bucket{le} series / PromQL histogram_quantile needs CUMULATIVE counts, so a remote-write must ascending-cumsum them first. The counts are consistent with Count (sum(BucketCounts) == Count).

    countinteger
    sumnumber

    seconds for durations

    pathstring

    Path is the Benthos component path, e.g. "root.pipeline.processors.1".

    receivedinteger

    Received / Sent / Errors are message counts over the batch interval.

    sentinteger
    stagestring

    Stage is the component's stage: "input", "processor", or "output" (derived from the emitting metric name; reconstructs the series name).

  • ]
  • execution_idstring
    orchestration_errorsinteger

    OrchestrationErrors is the pipeline.orchestration.errors count over the batch interval (pipeline-level; no per-component attribution). Always serialized (no omitempty): zero is a meaningful value for a health series, and a consumer charting it must not see the field vanish on a healthy window.

    pipeline_idstring
    readiness object

    Readiness is the pipeline.readiness.duration histogram (seconds), pipeline-level.

    boundsnumber[]

    Bounds are the explicit upper bounds (le), ascending.

    bucket_countsinteger[]

    BucketCounts are the per-bucket counts; len == len(Bounds)+1, where the final entry is the +Inf overflow bucket. NOTE: these are OTel DELTA (non-cumulative) per-bucket counts. A Prometheus _bucket{le} series / PromQL histogram_quantile needs CUMULATIVE counts, so a remote-write must ascending-cumsum them first. The counts are consistent with Count (sum(BucketCounts) == Count).

    countinteger
    sumnumber

    seconds for durations

    timestampstring

    Timestamp is the collection time on the edge (NOT arrival time), so a reconnect catch-up flush renders in the correct window rather than collapsing into a spike.

  • ]
  • api.NodePipelineMetricsSnapshot
    {
    "connection_state": "string",
    "pipelines": {}
    }