Telemetry
Every field the outbound streams can carry, named. Each row was read from the source that emits it.
| Property | Value |
|---|---|
| Engine version | 1.1.136 |
| Verified against | the shipped 1.1.136 release and images |
| Verified | 2026-10-07 |
| Machine-readable | JSON |
Labels
These labels ride on every engine telemetry series.
| Label | Type | Example | Source | PII |
|---|---|---|---|---|
__name__ |
string | tenx_pipeline_up |
Prometheus series name | No |
tenx_reported_name |
string | edge-receiver |
Pipeline display name from the config | No |
tenx_pipeline_uuid |
string | a1b2c3d4-e5f6-... |
Generated per pipeline run | No |
tenx_host_name |
string | edge-node-1 |
The host the engine runs on, or Unknown when the lookup fails |
Hostname |
tenx_parent_uuid |
string | 9f8e7d6c-... |
Parent pipeline id, present only when one is set | No |
Three labels appear on specific series rather than on all of them.
| Label | Type | Example | Appears on | PII |
|---|---|---|---|---|
tenx_unit_name |
string | receive |
tenx_launch_failure_total |
No |
tenx_pipeline_factory |
string | run |
tenx_launch_failure_total, when a unit is missing from the factory |
No |
tenx_failure_reason |
string | missing unit |
tenx_launch_failure_total |
Review |
Two of those need a word more. tenx_failure_reason is missing unit or
unit init error for the two classified failures, and otherwise the launch
exception's message, which can name a config path or a unit, which is why
its PII column reads Review. It still carries no log content, because launch
fails before any event is read.
runtimeAttributes is the one field a deployment fills itself: name:value
pairs supplied at launch, each name prefixed with tenx_ if it is not
already, and the contents sent as given.
Metrics
The series names below are the wire names, after the suffix that micrometer's
Prometheus renderer adds: _seconds on timers, _total on counters.
| Metric | Type | Value | Measures |
|---|---|---|---|
tenx_pipeline_up |
gauge | 1 |
Pipeline is running. Emitted on every send, including the empty keepalive |
tenx_pipeline_bootstrap_time_seconds |
timer sum | seconds | Time from launcher construction to the pipeline starting |
tenx_pipeline_input_time_seconds |
timer sum | seconds | Time the input stage ran |
tenx_pipeline_runtime_seconds |
timer sum | seconds | Total pipeline runtime |
tenx_pipeline_invocation_time_seconds |
timer sum | seconds | Runtime of one invocation, for invocation-shaped launchers such as Lambda |
tenx_launch_failure_total |
counter | count | A pipeline failed to launch |
Every value is a number: a count or a duration. No metric value carries a string, so no metric value can carry log content.
Pipeline metrics
The series above are the engine reporting on itself. Per-pattern metrics
(all_events_summaryVolume_total, all_events_summaryBytes_total,
emitted_events_summaryBytes_total and the rest) are a separate stream that
goes wherever the pipeline's metric output
points: Prometheus, Datadog, CloudWatch, Elastic, or the log10x hosted
backend.
The shipped configs for the Receiver, the Reporter and the Retriever include
no metric output, so this stream goes only where an operator points it. It
reaches log10x only when run/output/metric/log10x is added and
backendEndpoint is set.
Per-pattern metrics are labelled with the enrichment fields the pipeline configures, which typically include a recurring pattern name, severity, Kubernetes namespace and container, and HTTP status. The pattern name is built from the line's library words, the words compiled from code, or, for a line with none, from a hash of its shape. No value outside the library enters it, so numbers, IDs, IPs and timestamps never do. A value that is also a library word can: a customer or product name made of library words can reach a metric label.