Built for humans and agents

Get telemetry into Updog. Get answers back out.

Choose the maintained client for your stack, send production context without slowing your app, and give coding agents a read-only path to the evidence they need.

Quickstart

One key. One maintained client. Five minutes.

Updog capture calls enqueue locally and return without waiting for the network. The clients batch, retry only transient failures, and keep memory bounded.

  1. 01

    Open or create a project

    Sign in to Updog, choose the project that should own this telemetry, and open its project page.
  2. 02

    Create an ingestion key

    In API Keys, create an ingestion key and copy it once. Store it as UPDOG_API_KEY in the app's secret manager—never in source control.
  3. 03

    Install the client for this stack

    Use one of the canonical repositories below. Configure service, environment, and release so every signal is attributable.
  4. 04

    Verify without breaking production

    Run the repository's tests, exercise one intentional test error outside production, call the client's bounded flush, and confirm the event appears in Updog.

Agent setup contract

A deterministic trail from prompt to working integration.

The agent guide tells a coding agent how to detect the repository's stack, select the official client, protect credentials, edit the right integration points, and verify the result. The JSON manifest exposes the same canonical repositories as structured data.

Maintained clients

Start with the code built for your runtime.

Package-registry releases are still being prepared. These source installs point only to repositories owned by the WuzUpdog organization.

Source install

Mix dependency

Elixir / Phoenix

Capture Phoenix requests, LiveView events, Ecto queries, logs, metrics, traces, and errors.

{:updog_elixir_client, github: "wuzupdog/updog_elixir_client"}

Configure `UPDOG_API_KEY`, service, environment, and release; then add `use UpdogElixirClient.Plug` to the endpoint.

Open the canonical repository
Source install

Bundler dependency

Ruby

Report exceptions, messages, deployments, context, and breadcrumbs from Ruby applications.

gem "updog_ruby_client", github: "wuzupdog/updog_ruby_client"

Run `bundle install`, configure the client from environment variables, and flush before short-lived jobs exit.

Open the canonical repository
Git source install

Unity Package Manager

Unity

Capture server, editor-tool, or dedicated-world errors without shipping credentials in player clients.

"com.wuzupdog.updog-unity-client": "https://github.com/wuzupdog/updog_unity_client.git"

Add the dependency to `Packages/manifest.json` and call `Updog.Initialize(...)` only in the process that should report.

Open the canonical repository
Git source install

Cargo dependency

Rust / Tauri

Send errors and deployment markers from a Rust or Tauri process through a bounded worker.

updog_tauri_client = { git = "https://github.com/wuzupdog/updog_tauri_client" }

Create an `UpdogClient` from `UPDOG_API_KEY`, set resource fields, and call its bounded flush during shutdown.

Open the canonical repository

Go binary · GitHub release

Production context without production write access.

Give humans and agents project-scoped, read-only access to production logs and errors.

CLI source and releases
TERMINALREAD-ONLY
$ go install github.com/wuzupdog/updog_cli/cmd/updog@latest
$ updog login
$ updog --project my-app --json errors search --since 1h
$ updog --project my-app --json logs search --level error --since 30m

Need the wire contract?

Maintained clients are preferred. The HTTP contract is public too.

Use the ingestion contract when building a new maintained client, and the read API contract when integrating telemetry search outside the CLI.