Getting started

Instrument your app

Set up OpenTelemetry and verify data from your app locally, with your coding agent or by hand.

Instrumentation gives you a view of what your app does while it runs: which requests are slow, where errors happen, and what led up to them. Start with one path you can exercise, such as opening a page, making an API request, or running a job.

After installing Everr, choose the agent or manual path below. Both end with fresh telemetry you can query and explore locally.

Use your coding agent

Open your coding agent in the project where you installed the Everr skills and run:

/everr-setup-telemetry

The skill inspects your project to find services that need instrumentation. For each service, it helps you decide what to measure and proposes a plan to configure OpenTelemetry for the selected service or paths. Using the Everr CLI, the agent can verify and debug the instrumentation locally, then provide a final configuration ready for use both locally and in production.

Set up manually

Start the local collector:

everr local start

Keep that terminal running. For background operation, use everr local start -d --no-open; stop it later with everr local stop.

Read the endpoints from:

everr local status

Use the returned otlp: URL as your SDK's OTLP/HTTP base endpoint and the ui: URL to open the local UI. Endpoint ports can vary, so use the values from your own status output.

If your app already emits OpenTelemetry, point its development exporter at that endpoint. Otherwise, configure the OpenTelemetry SDK and instrumentation for your language. Set service.name to a stable name for each service and deployment.environment.name to development. Enable the signals you need, such as request spans and structured logs. An existing logger needs an OpenTelemetry integration to export its output.

Keep local export in development and test configuration. Restart the app after changing its telemetry setup, then exercise the path you chose.

Verify locally

Use the local collector UI to explore the data sent. You can find the UI URL using everr local status

You can also ask your agent:

/everr-use-telemetry Check my local telemetry for the action I just performed. Show the fresh traces or logs and explain what they tell us.

To check traces yourself, replace my-service with your app's service.name:

everr local query "SELECT Timestamp, ServiceName, SpanName, Duration / 1e6 AS duration_ms, TraceId FROM traces WHERE ServiceName = 'my-service' AND Timestamp >= now() - INTERVAL 15 MINUTE ORDER BY Timestamp DESC LIMIT 20"

For a path instrumented with logs instead:

everr local query "SELECT Timestamp, ServiceName, SeverityText, Body FROM logs WHERE ServiceName = 'my-service' AND Timestamp >= now() - INTERVAL 15 MINUTE ORDER BY Timestamp DESC LIMIT 20"

Check the timestamps and the request or log content against the action you triggered. Old rows alone don't verify the new setup.

If data is missing, check that the collector is running, the exporter uses the otlp: URL from status, and the app has restarted. Trigger the path again and allow the SDK's export batch to flush. With an agent, use everr-setup-telemetry to investigate the missing signal.