Skip to content

Commit ae0164a

Browse files
committed
docs: replace Jaeger screenshot TODO with section scaffold (#92)
The observability story in README has one visible loose end: a TODO block where the Jaeger trace screenshot should go. The rest of the section reads cleanly, so the TODO sticks out. Promotes the placeholder to a real subsection ("Jaeger trace") with the explanatory caption already written: what boots the stack, what endpoint produces the trace, where to view it, and that span attributes use only the constant-defined semconv keys from src/observability/spans.py. The image itself still needs to be captured. The original capture recipe is preserved as an HTML comment so it remains discoverable, and the comment includes the exact one-line markdown to paste in once docs/images/jaeger-trace.png lands. Hiding the placeholder inside an HTML comment (rather than a broken-image ref) keeps the rendered README clean while the PNG is outstanding. The image-capture step itself is a follow-up — needs the maintainer to run docker compose locally and take the screenshot. Closes #92 (capture step tracked separately as a single-line README edit when the PNG is committed).
1 parent ea6b8b1 commit ae0164a

1 file changed

Lines changed: 14 additions & 8 deletions

File tree

README.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,17 +80,23 @@ The scaffold's React page hits `/api/v1/health` on load and renders the version
8080

8181
![Hello page](docs/images/hello-page.png)
8282

83+
### Jaeger trace (`docker compose up` + `/api/v1/health`)
84+
85+
The full stack — backend, frontend, Jaeger collector — boots with `docker compose up`. Hitting `/api/v1/health` once produces an OpenTelemetry trace exported via OTLP/gRPC; the span hierarchy is visible at <http://localhost:16686> under the `harness-python-react` service, with `agent_span(...)` attributes attached using only the keys constant-defined at the top of [`src/observability/spans.py`](src/observability/spans.py).
86+
8387
<!--
84-
TODO (#28): one capture left — Jaeger trace.
88+
Screenshot pending: docs/images/jaeger-trace.png
89+
90+
Capture recipe (run once and commit the PNG to docs/images/):
91+
1. docker compose up
92+
2. curl http://localhost:8000/api/v1/health
93+
3. open http://localhost:16686 -> select service "harness-python-react"
94+
4. click the most recent trace
95+
5. screenshot the span timeline, save as docs/images/jaeger-trace.png
8596
86-
docs/images/jaeger-trace.png
87-
With the full stack running (`docker compose up`), hit /api/v1/health
88-
once, then open http://localhost:16686, select service
89-
`harness-python-react`, click the most recent trace, screenshot the
90-
span timeline.
97+
When the PNG is committed, replace this whole comment with:
9198
92-
When the PNG lands in docs/images/, replace this comment with a section
93-
analogous to "Hello page" above.
99+
![Jaeger trace — span timeline for GET /api/v1/health](docs/images/jaeger-trace.png)
94100
-->
95101

96102
## Why a harness

0 commit comments

Comments
 (0)