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

# Send Heroku Fir telemetry to Bronto

> Forward logs, metrics, and traces from Heroku Fir apps to Bronto with a native OpenTelemetry telemetry drain — no Logplex, proxy, or Collector needed.

## Overview

Heroku's Fir generation exports logs, metrics, and traces as OpenTelemetry signals. A **telemetry drain** forwards all three straight to Bronto — no Logplex, proxy, or intermediate Collector.

## Prerequisites

* A Bronto account and API key ([how to create one](/Account-Management/API-Keys))
* A Heroku **Fir**-generation app
* The [Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli) installed and authenticated

## Add the telemetry drain

Add a drain on your app pointing at Bronto's ingestion endpoint:

```bash theme={"dark"}
heroku telemetry:add https://ingestion.<REGION>.bronto.io \
  --app <YOUR_APP_NAME> \
  --signals logs,metrics,traces \
  --transport http \
  --headers '{"x-bronto-api-key":"<YOUR_API_KEY>","x-bronto-dataset":"<YOUR_DATASET_NAME>","x-bronto-collection":"<YOUR_COLLECTION_NAME>"}'
```

Set `<REGION>` to `eu` or `us`. Heroku appends the signal-specific OTLP paths. Telemetry drains are additive, so this adds Bronto alongside existing drains. You can select a subset of signals if needed.

<Note>
  Exponential histograms are not supported, and the Metric Explorer does not currently provide a Rate function.
</Note>

## Verify in Bronto

Open Search for logs, Metric Explorer for metrics, and Explore Traces for spans. Generate activity in your app and confirm all configured signals arrive. List drains with `heroku telemetry --app <YOUR_APP_NAME>`.

## What you will see in Bronto

Logs arrive as OTLP records carrying the app's stdout/stderr output plus Heroku resource attributes — `service.name`, severity, and timestamp. Platform logs (router, build, and dyno lifecycle events) are included alongside your application output.

## Troubleshooting

* **Missing signals?** Run `heroku telemetry --app <YOUR_APP_NAME>` and confirm the drain lists `logs`, `metrics`, and `traces`.
* **Getting 401 errors?** Verify the `x-bronto-api-key` value is a valid Bronto key with the Ingestion role.
* **Wrong dataset or collection?** Check the `x-bronto-dataset` and `x-bronto-collection` headers in the drain's `--headers` JSON.
