Overview

Validate a configuration, then run sample telemetry through it to check what it does.

Telflo checks a configuration in two ways.

CheckQuestion it answersWhere
ValidationIs the configuration well-formed and valid?Inline in the editor. See Validation.
TestingDoes the configuration process telemetry as expected?The Testing tab, telflo test from the CLI, run_pipeline_test from the MCP server, or POST /testing/runs on the API.

Validation is static: it checks structure and schema. Testing is dynamic: Telflo runs a real OpenTelemetry Collector of the configuration's distribution and selected version, feeds your sample telemetry through the configuration, and captures the output. A ClickStack configuration tested from the Testing tab runs on the OpenTelemetry Collector Contrib build its ClickStack version is based on. The same tests can be run from a terminal or CI with telflo test; see Pipeline tests from the CLI.

pipeline.test3 passed
redact PII from log bodiesexpect → card number is maskedPASS
OTTL set k8s.cluster.nameexpect → attribute present on every spanPASS
tail_sampling at 5%expect → volume lands within budgetPASS
A test asserts what a pipeline does to real telemetry: define a sample input and the output you expect, then confirm the change before it reaches production.

The Testing tab appears when testing is enabled for your account.

Testing tab

The Testing tab has three sub-tabs.

  • Tests. Run the configuration against a sample input and review run history. See Running tests.
  • Validation. Define rules that a run's output must satisfy. See Validating output.
  • Suites. Group reusable tests and run them together. See Test suites.

The Testing tab requires a configuration version to be loaded; save a version first if prompted. A run tests the configuration as it currently appears in the editor.

What a test run does

  1. You select a sample input file and a pipeline.
  2. Telflo runs a collector that matches the configuration's collector distribution and version, for a set duration of 1 to 60 seconds. The duration starts at 5 seconds. For runs you start from the Tests sub-tab, the field afterwards remembers the value you last used in that browser; a run started from a suite uses the test configuration's saved duration, and a run started from the CLI or the API uses the duration in its spec or request. The distribution and version are fixed on the run when you start it.
  3. The sample telemetry is fed through the configuration, and the output is captured.
  4. The run is recorded in the history with a status, and you can inspect its output.
What a test run doesSample inputMy Files · TemplatesREAL COLLECTORyour configurationmatching collector version · 1–60 s runCaptured outputrecords + stderrValidation rulesPassFailThe run is recorded in the history with its status, and you can inspect the captured output.
A test run feeds sample telemetry through your configuration on a real collector, captures the output, and evaluates your validation rules against it.

Tests outside the editor

A pipeline test can also be started from the command line with telflo test, or by any client through POST /testing/runs on the Telflo API. Both use the same sandbox as the Testing tab. The request names a stored configuration version, or sends YAML inline, together with a sample of up to 1 MB, the pipeline to test, a duration of 1 to 60 seconds, and either the rules to evaluate or an instruction to run the rules already saved on the version's Validation sub-tab.

A run that targets a stored version appears in that version's history on the Tests sub-tab, with cli-sample.json as its input file, and can be inspected there like any other run. A run on inline YAML belongs to no version and is read back through the CLI or the API only. The CLI and the API report a run with a failed rule as Fail, which the history shows as Validation Failed. $orgvar: references are not substituted in these runs. See Pipeline tests and API endpoints.

The following pages describe each part.

Last updated on

On this page