Hanzo O11y
Traces, metrics and logs, in one place
View on GitHub- gatewayGET /v1/checkout
- authverify token
- queueenqueue receipt
One store, one query language
Every panel scopes to your org from the token, so a shared deployment still answers one tenant at a time.
Point an OTLP endpoint at it
- gRPC
- 4317
- HTTP
- 4318
if you already have it
rate(http_requests_total[5m])- gatewayReady
- payments-apiReady
- checkout-webBuilding
- docs-siteReady
Every request enters here, so the limiter does too.
The service the session above is changing.
A build is running from the last commit on main.
Static, published by the same pipeline as the rest.
Example project. Every name in it is one you would give your own.
Paste and ship
Paste this into any agent. It reads the skill manifest and calls O11y from there.
Read https://hanzo.ai/skill.md and use Hanzo O11y in my project. Start with: hanzo o11y logs getTraces and APM
01
Follow one request across services, queues and databases. Sort by the slow tail rather than the average, and open the span that spent the time.
Metrics
02
Write PromQL if you already have it, or build the query in the UI if you do not. Both run against the same store the traces are in.
Logs
03
Search structured logs by field, not by regex over a blob. A span carries the id its log lines were written with, so the pivot is a click.
Exceptions
04
Errors are grouped and counted rather than listed, so a thousand of the same stack trace is one row with a number on it — and it links to the trace that raised it.
Dashboards and alerts
05
An alert rule is a saved query, so what fires at three in the morning is something you already looked at. It reaches PagerDuty, Opsgenie, Slack, Teams, email or a webhook.
OpenTelemetry on the wire
06
OTLP over gRPC on 4317 and HTTP on 4318. Any OTel SDK or collector points at it by setting one endpoint variable — there is no agent of ours to install.