Faro Exporter
contrib
Maintainers: @dehaansa, @rlankfo, @mar4uk
Source: opentelemetry-collector-contrib
Supported Telemetry
Overview
The Faro exporter sends telemetry data to a Faro endpoint.Configuration
The following settings are required:endpoint(no default): The URL to send telemetry data to (e.g., https://faro.example.com/collect).
sending_queueenabled(default = true)num_consumers(default = 10)queue_size(default = 1000)
retry_on_failureenabled(default = true)initial_interval(default = 5s): Time to wait after the first failure before retrying.max_interval(default = 30s): Upper bound on backoff.max_elapsed_time(default = 300s): Maximum amount of time spent trying to send a batch.
timeout(default = 5s): HTTP request timeout when sending data.read_buffer_size(default = 0): Size of the buffer used to read the response body.write_buffer_size(default = 512 KiB): Size of the buffer used to write the request body.headers(default ={}): Additional headers to send with the request.compression(default = none): Compression method to use for the request body. Supported values:none,gzip.
Getting Started
The following settings are required:endpoint(no default): URL to which the exporter is going to send Faro telemetry data. For example:https://faro.example.com/collect.
https:// as the protocol scheme in the URL passed to the endpoint property.
See Advanced Configuration for more TLS options.
Example:
Propagating the X-Faro-Session-Id header
If using the faro exporter component to send telemetry data to the Grafana Cloud Collector Endpoint for Frontend Observability, make sure to propagate the X-Faro-Session-Id header.
Grafana Cloud’s Faro collector validates the session at the HTTP level and rejects requests that do
not carry an X-Faro-Session-Id header (HTTP 400, missing X-Faro-Session-Id header). The Faro Web
SDK sends this header on every request to the Faro receiver, but the exporter does
not forward incoming request headers automatically.
To propagate the session id from the incoming request onto the outgoing export, use the
headers_setter extension with from_context, and set include_metadata: true on
the receiver so the header is available to the pipeline:
X-Faro-Session-Id to its
metadata_keys so the metadata is preserved through batching.
When using Grafana Alloy, the equivalent is the otelcol.auth.headers
component with from_context = "X-Faro-Session-Id" and include_metadata = true on
otelcol.receiver.faro.
For a complete preprocessing example (including PII redaction and event filtering), see the Grafana
Cloud Process Faro telemetry documentation.
Advanced Configuration
Several helper files are leveraged to provide additional capabilities automatically:Configuration
Example Configuration
Last generated: 2026-08-24