Skip to main content

Faro Exporter

Status Available in: contrib Maintainers: @dehaansa, @rlankfo, @mar4uk Source: opentelemetry-collector-contrib

Supported Telemetry

Logs Traces

Overview

The Faro exporter sends telemetry data to a Faro endpoint.

Configuration

The following settings are required: The following settings can be optionally configured:
  • sending_queue
    • enabled (default = true)
    • num_consumers (default = 10)
    • queue_size (default = 1000)
  • retry_on_failure
    • enabled (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.
Example:
The full list of settings exposed for this exporter are documented here with detailed sample configurations here.

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.
To use TLS, specify 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:
If a batch processor is present in the pipeline, add 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