> ## Documentation Index
> Fetch the complete documentation index at: https://otel.fyi/llms.txt
> Use this file to discover all available pages before exploring further.

# Faro

> OpenTelemetry exporter for Faro

# Faro Exporter

![Status](https://img.shields.io/badge/status-alpha-red)

**Available in:** `contrib`

**Maintainers:** [@dehaansa](https://github.com/dehaansa), [@rlankfo](https://github.com/rlankfo), [@mar4uk](https://github.com/mar4uk)

**Source:** [opentelemetry-collector-contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/faroexporter)

## Supported Telemetry

![Logs](https://img.shields.io/badge/logs-alpha-blue) ![Traces](https://img.shields.io/badge/traces-alpha-orange)

## Overview

The Faro exporter sends telemetry data to a [Faro](https://grafana.com/oss/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](https://faro.example.com/collect)).

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:

```yaml theme={null}
exporters:
  faro:
    endpoint: https://faro.example.com/collect
    timeout: 10s
    headers:
      X-API-Key: "my-api-key"
```

The full list of settings exposed for this exporter are documented [here](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/faroexporter/config.go) with detailed sample configurations [here](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/faroexporter/testdata/config.yaml).

## 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](#advanced-configuration) for more TLS options.

Example:

```yaml theme={null}
exporters:
  faro:
    endpoint: "https://faro.example.com/collect"

  faro/tlsnoverify:
    endpoint: "https://faro.example.com/collect"
    tls:
      insecure_skip_verify: true
```

## Advanced Configuration

Several helper files are leveraged to provide additional capabilities automatically:

* [HTTP client settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/confighttp/README.md#client-configuration)
* [TLS and mTLS settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md)
* [Queuing, retry and timeout settings](https://github.com/open-telemetry/opentelemetry-collector/blob/main/exporter/exporterhelper/README.md)

## Configuration

### Example Configuration

```yaml theme={null}
receivers:
  nop:

processors:
  nop:

exporters:
  faro:
    endpoint: https://faro.example.com/collect
    timeout: 10s
    headers:
      X-API-Key: "my-api-key"

  faro/with_queue_settings:
    endpoint: https://faro.example.com/collect
    sending_queue:
      enabled: true
      num_consumers: 2
      queue_size: 10

  faro/with_retry_settings:
    endpoint: https://faro.example.com/collect
    retry_on_failure:
      enabled: true
      initial_interval: 10s
      max_interval: 60s
      max_elapsed_time: 10m

  faro/with_compression:
    endpoint: https://faro.example.com/collect
    compression: gzip

service:
  pipelines:
    traces:
      receivers: [nop]
      processors: [nop]
      exporters: [faro]
    metrics:
      receivers: [nop]
      processors: [nop]
      exporters: [faro]
    logs:
      receivers: [nop]
      processors: [nop]
      exporters: [faro]
```

***

*Last generated: 2026-07-06*
