Collector Pipelines and Connectors: OTCA practice questions
A pipeline is the path telemetry takes through the Collector, from reception through optional processing to export. Each pipeline has a data type, which is traces, metrics or logs, and the type is part of the pipeline identifier, as in metrics or metrics/internal. Every receiver, processor and exporter used in a pipeline has to support that type.
By Ibrahim Yesilay · Published · Updated
Independent community practice, not affiliated with or endorsed by CNCF or The Linux Foundation.
What Collector Pipelines and Connectors covers in OTCA
A pipeline is the path telemetry takes through the Collector, from reception through optional processing to export. Each pipeline has a data type, which is traces, metrics or logs, and the type is part of the pipeline identifier, as in metrics or metrics/internal. Every receiver, processor and exporter used in a pipeline has to support that type. If one does not, the Collector reports a signal-not-supported error when it loads the configuration, so the mistake surfaces at startup rather than at runtime.
Inside a pipeline, data from all listed receivers flows into the first processor, then through each processor in the order written, and the last processor hands it to the exporters. That hand-off is a fan-out: every exporter receives its own copy of every data element. A processor may also drop data, which is how sampling and filtering work. The batch processor guidance adds an ordering rule: put memory_limiter first and batch after any sampling, so batching happens after data has been dropped.
Sharing components across pipelines follows different rules for each kind. A receiver listed in several pipelines runs as a single instance that feeds a fan-out consumer, and the hand-off is a synchronous call. If a processor in one of those pipelines blocks, the other pipelines stop receiving that receiver's data and the receiver stops accepting new data. Exporters can likewise be shared, and several pipelines can send to the same exporter. Processors are never shared: each pipeline that references a processor gets its own instance with its own state, built from the same configuration. A single pipeline must not list the same processor twice.
Connectors link pipelines. A connector is listed as an exporter at the end of one pipeline and as a receiver at the start of another, and the two sides may carry the same or different signal types. Each connector supports only specific pairs. The count connector turns spans, metrics or logs into count metrics. If the traces pipeline exports only to count, the original spans go nowhere unless you also add a trace exporter. The span metrics connector, now typed span_metrics with spanmetrics kept as a deprecated name, consumes traces and emits request, error and duration metrics. The forward connector has no settings and simply merges or forks pipelines of one type. The routing connector sends data to different pipelines based on OTTL conditions. By default a match moves data to the target and removes it from later routes, while the copy action leaves it available to later routes, and default_pipelines catch anything that matches nothing.
Seen together, these rules explain most pipeline designs: receivers fan data into pipelines, processors shape it in order, exporters each get a copy, and connectors let one pipeline's output become another pipeline's input.
Key points
- A pipeline has one data type, and components that do not support it fail at configuration load.
- Processors run in listed order and every exporter receives a copy of each data element.
- A shared receiver is one instance with a synchronous fan-out, so a blocked processor stalls all its pipelines.
- Each pipeline gets its own instance of a referenced processor, with separate state.
- Connectors act as an exporter in one pipeline and a receiver in another, for example count, span_metrics, forward and routing.
Three sample questions
17 OTCA questions on Collector Pipelines and Connectors, 17 with explanations. How practice works
Question 1
- A.Define two separate receiver instances with different names.
- B.Use a processor to duplicate the telemetry data to multiple pipelines.
- C.List the same receiver in both pipelines under service.pipelines.
- D.Configure the receiver to export to multiple exporters within a single pipeline.
Correct answer: C
Sources: OpenTelemetry docs: Collector architecture, OpenTelemetry docs: Collector configuration
Question 2
- A.Implement the OpenTelemetry API directly in each service.
- B.Configure the Collector to ingest and map the different signals.
- C.Use the OpenTelemetry SDK to replace all legacy libraries.
- D.Set up separate backends for logs, traces and metrics without using OpenTelemetry.
Correct answer: B
Sources: OpenTelemetry docs: Collector, OpenTelemetry docs: Collector configuration
Question 3
- A.The priority level assigned to each processor.
- B.The type of telemetry data being processed.
- C.The sequence in which processors are added to a pipeline.
- D.The alphabetical order of processor names in the configuration file
Correct answer: C
Sources: OpenTelemetry docs: Collector configuration, OpenTelemetry docs: Collector architecture
Practice this topic
Focus mode keeps every question on Collector Pipelines and Connectors until you leave it. 10 free guest answers, then a free account; no credit card.
Or open OTCA practice across all topics.
Sources
The explanation above was checked against these official documents.
- OpenTelemetry docs: Collector architecture (checked 2026-10-28)
- OpenTelemetry docs: Collector configuration (checked 2026-10-28)
- Collector contrib README: Span metrics connector (checked 2026-10-28)
- Collector core README: Forward connector (checked 2026-10-28)
- Collector contrib README: Routing connector (checked 2026-10-28)
- Collector core README: Batch processor (checked 2026-10-28)
Frequently asked questions
Can a processor be shared so two pipelines see the same state?
No. The architecture docs say processors are never shared between pipelines; each pipeline gets its own instance even when it references the same processor key.
What does the routing connector do with a record that matches a route when no action is set?
The default action is move, so the record goes to that route and is not evaluated by later routes.