# Tracing

Send LLM call traces to observability platforms to monitor and evaluate your Quor deployment

Tracing forwards every LLM call Quor makes to an external observability platform so you can monitor latency,
token usage, and cost, and evaluate response quality. Quor supports [Braintrust](https://www.braintrust.dev)
and [Langfuse](https://langfuse.com).

<Note>
  Tracing is available on **self-hosted** deployments. It is not configurable on Quor Cloud.
</Note>

## Connect a provider

<Steps>
  <Step title="Navigate to the Tracing dashboard">
    Click your user profile icon, select **Admin Panel**,
    and open the **Tracing** tab under the **Usage** section of the sidebar.
  </Step>

  <Step title="Connect Braintrust and/or Langfuse">
    You can connect either or both providers — traces are sent to every connected provider.

    <Tabs tabs={["Braintrust", "Langfuse"]}>
      <Tab title="Braintrust">
        Create an API key in the [Braintrust dashboard](https://www.braintrust.dev/app) under **Settings → API Keys**.

        In Quor, click **Connect** on the Braintrust card and fill in:

        - **API Key** — your Braintrust API key.
        - **Project Name** *(optional)* — the Braintrust project traces are logged to. Defaults
        to `Quor`.
        - **API URL** *(optional)* — only needed for self-hosted Braintrust or non-default
        regions. Defaults to `https://api.braintrust.dev`.
      </Tab>

      <Tab title="Langfuse">
        Create a key pair in your [Langfuse](https://cloud.langfuse.com) project settings under **Setup → API Keys**.

        In Quor, click **Connect** on the Langfuse card and fill in:

        - **Secret Key** — your Langfuse secret key (`sk-...`).
        - **Public Key** — your Langfuse public key (`pk-...`).
        - **API Base URL** *(optional)* — defaults to the EU region
        (`https://cloud.langfuse.com`). Set this for the US region, another region, or a self-hosted Langfuse instance.
      </Tab>
    </Tabs>

    Quor validates the credentials before saving. Once connected,
    the card shows **Connected** and traces begin flowing within about 30 seconds — no restart required.
  </Step>
</Steps>

## Disconnect a provider

Open the provider card, click the disconnect button, and confirm.
Quor stops sending new traces to that provider immediately. Traces already delivered are unaffected.

## Configuring with environment variables

Configuring tracing from the Admin Panel is the recommended approach,
but Quor also honors environment variables for backwards compatibility.
A provider configured through the UI takes precedence over its environment variables.

| Provider | Variable | Description |
| --- | --- | --- |
| Braintrust | `BRAINTRUST_API_KEY` | API key. Enables Braintrust tracing when set. |
| Braintrust | `BRAINTRUST_PROJECT` | Project name traces are logged to. Defaults to `Quor`. |
| Braintrust | `BRAINTRUST_API_URL` | Custom API URL for self-hosted / non-default regions. |
| Langfuse | `LANGFUSE_SECRET_KEY` | Secret key. Required (with the public key) to enable Langfuse. |
| Langfuse | `LANGFUSE_PUBLIC_KEY` | Public key. Required (with the secret key) to enable Langfuse. |
| Langfuse | `LANGFUSE_HOST` | Base URL for a non-default region or self-hosted Langfuse. |

<Note>
  Providers configured through environment variables appear in the Tracing dashboard as configured via environment.
  You can adopt them into UI-managed configuration by connecting the provider from the Admin Panel.
</Note>
