# Observability (/observability)



## See what production is doing [#see-what-production-is-doing]

Shipping fast means finding out fast when something breaks, and seeing how users actually behave. The Agents template already reports errors to Sentry and product events to PostHog. Connect your organization's accounts once, and Crucible gives each full deployment its own Sentry and PostHog project.

```mermaid
flowchart LR
  subgraph D[Full deployment]
    F[Frontend]
    B[Backend]
    W[Worker]
  end
  subgraph O[Your organization's accounts]
    S[Sentry project]
    P[PostHog project]
  end
  D -->|errors| S
  D -->|events and traces| P
```

* **Errors (Sentry)**: The frontend, backend, and worker report runtime errors, so a broken release surfaces instead of going unnoticed.
* **Product analytics (PostHog)**: See how users move through the project, with a managed home for behavior and funnels. When PostHog is connected, the template also sends agent traces there.
* **[Model calls (LLM Gateway)](/llm-gateway/)**: Model calls go through one gateway, which owns provider routing and fallbacks.
* **[Deployment status](/deployments/)**: Each deployment's status shows whether its latest release succeeded, and full deployments have **Logs** and **Metrics** tabs.

## Turn it on [#turn-it-on]

<Steps>
  <Step>
    **Connect the accounts**

    An organization admin connects Sentry and PostHog. See [Connect organization-owned providers](/integrations/#connect-organization-owned-providers).
  </Step>

  <Step>
    **Add them to the project**

    In the project, open **Settings**, choose **Add integration** under **Integrations**, and pick each provider.
  </Step>

  <Step>
    **Find each deployment's projects**

    Open a full deployment's **Settings** and expand **Advanced settings** to see its **Sentry project** and **PostHog project**.
  </Step>
</Steps>

<Accordions>
  <Accordion title="Under the hood: observability wiring">
    Sentry and PostHog are organization-connected standard integrations that provision only for full deployments; workspaces, lite deployments, and local development do not get them. The template initializes Sentry in the frontend only when `VITE_SENTRY_DSN` is set, and in the backend and worker when `SENTRY_URL` is set, so an unconnected project runs without either. The LLM Gateway records token usage and cost per project for Ciridae; Crucible has no usage view.
  </Accordion>
</Accordions>
