Skip to content

faq.mdx still recommends monitoring "queue depth", a second signal the runtime does not emit #96

Description

@os-zhuang

Found while working #87, which deleted the phantom auth_failures_total alert and removed "auth failure rate" from the same FAQ sentence. Filed rather than folded in: the two items are the same defect class but not the same call, and #87's own scope was the auth signal.

What is there

content/docs/resources/faq.mdx, "What metrics should I monitor?" — after #87 the answer reads:

A: 5xx rate, p95 latency, readiness (`/api/v1/ready`), queue depth. …

Three of those four are real. 5xx rate and p95 latency come off http_requests_total / http_request_duration_ms, and readiness is a shipped endpoint. queue depth is emitted by nothing.

On objectstack@origin/main at b057e53f4:

git grep -i 'queue_depth|queueDepth|queue_size|jobs_pending|queue_length' → 4 hits, all of them test fixtures

and the four are arbitrary placeholder names inside unit tests of the metrics registry itself — reg.gauge('queue_size', 7) in packages/observability/src/__tests__/otlp-http.test.ts:90, m.gauge('queue_depth', 3) in packages/runtime/src/observability/metrics.test.ts:58. Nothing in the runtime registers such a series. Control: job_schedule_failures_total greps to its declaration in semconv.ts:56and a live emitter at packages/runtime/src/app-plugin.ts:893, so the grep and the tree are fine.

packages/observability/src/semconv.ts declares 13 names and the only jobs-related one is job_schedule_failures_total — a counter for "a DECLARED background job could not be handed to the job service", i.e. the job will never run. That is a job outage counter, not a depth gauge.

Why this is a call, not a transcription

Same reason #87 was: deleting is honest but costs the answer its only background-jobs signal, and the replacement is not pinned by evidence.

⛔ The prohibition #87 carried applies here unchanged: do not resolve this by leaving the recommendation and annotating that the metric may not exist. A signal an operator is told to monitor, annotated as unavailable, is still a signal they will go looking for.

Note on filing

Checked for duplicates first: no open issue in this repository mentions queue depth or this FAQ answer.

Related: #87, #70, objectstack-ai/objectstack#9623.


Generated by Claude Code

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions