Skip to content

Commit 56a5f43

Browse files
committed
(docs): trim Telemetry section in AGENTS.md
1 parent ccb9292 commit 56a5f43

1 file changed

Lines changed: 5 additions & 25 deletions

File tree

AGENTS.md

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -37,31 +37,11 @@ Source lives in `src/mcp_server_appwrite/`:
3737

3838
### Telemetry (metrics)
3939

40-
The hosted HTTP server emits OpenTelemetry metrics over OTLP/HTTP to the shared
41-
Appwrite observability stack (OpenTelemetry Collector → Prometheus/Mimir → Grafana
42-
at `telemetry.appwrite.systems`), mirroring the `utopia-php/telemetry` pattern used
43-
by the PHP services. All instrumentation lives in `telemetry.py` and is wired in at
44-
the operator/handler/auth boundaries.
45-
46-
* **Hosted-only & no-op by default.** Telemetry is enabled only when the transport
47-
is `http` *and* an OTLP endpoint is set. The self-hosted `stdio` transport never
48-
emits, and an unconfigured hosted server is a silent no-op.
49-
* **Config (env):** `OTEL_EXPORTER_OTLP_ENDPOINT` enables export and points at the
50-
in-cluster Alloy collector (`http://alloy.telemetry.svc.cluster.local:4318`). Alloy
51-
authenticates and forwards upstream and **upserts** the `deployment.environment.name`
52-
/ `deployment.region.name` / `deployment.cluster.name` resource attributes that the
53-
fleet-wide Grafana dashboards filter on — so the app needs no credentials and no
54-
`OTEL_RESOURCE_ATTRIBUTES`.
55-
* **Metrics** are prefixed `mcp.` (e.g. `mcp.requests`, `mcp.appwrite.calls`,
56-
`mcp.initializations`, `mcp.auth.validations`). User ids (`sub`) are never used as
57-
labels — distinct-user/-client counts are derived in-process and exposed only as
58-
the aggregate gauges `mcp.users.active` / `mcp.clients.active`.
59-
* **Dashboards** live in the separate `dashboards` repo under `MCP/`
60-
(`overview.json`, `adoption.json`).
61-
* **Local check:** run an OTel Collector on `:4318` with a debug exporter, start the
62-
server with `OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 ... --transport http`,
63-
and confirm metrics appear. Unit tests use an in-memory reader
64-
(`tests/unit/test_telemetry.py`) — no collector required.
40+
`telemetry.py` emits OpenTelemetry metrics (prefixed `mcp.`) over OTLP/HTTP. It is a
41+
no-op unless the transport is `http` and `OTEL_EXPORTER_OTLP_ENDPOINT` is set, so
42+
`stdio` and unconfigured servers stay silent. In the cluster that endpoint is the
43+
Alloy collector, which adds the `deployment.*` labels and forwards upstream — the app
44+
needs no credentials. Dashboards live in the `dashboards` repo under `MCP/`.
6545

6646
### Tool surface (key design point)
6747

0 commit comments

Comments
 (0)