diff --git a/.claude/skills/ipx-prod-check/query.py b/.claude/skills/ipx-prod-check/query.py index 6754e29..9b81ecd 100755 --- a/.claude/skills/ipx-prod-check/query.py +++ b/.claude/skills/ipx-prod-check/query.py @@ -68,7 +68,7 @@ def main(): for ss in t.get("spanSets") or [t.get("spanSet") or {}]: for sp in ss.get("spans", []): attrs = {a["key"]: next(iter(a["value"].values()), None) for a in sp.get("attributes", [])} - what = attrs.get("http.route") or attrs.get("of") or sp.get("name") or "" + what = attrs.get("http.route") or attrs.get("of") or attrs.get("url.path") or sp.get("name") or "" rows.append((int(sp.get("durationNanos", 0)) / 1e6, int(sp["startTimeUnixNano"]), t["traceID"], what)) for ms, ts, tid, what in sorted(rows, reverse=True): when = time.strftime("%m-%d %H:%M:%S", time.gmtime(ts / 1e9)) diff --git a/web/CHANGELOG.md b/web/CHANGELOG.md index 42ac06f..857fec0 100644 --- a/web/CHANGELOG.md +++ b/web/CHANGELOG.md @@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - An OPML subscription's page lists the items of all its shows together, newest first, with the same tabs, search and sort as a show's, in place of a list of the shows; the shows are still in the folder in the feed list (#283). - Unless the server pays for them, Signals are turned on in Settings with your own TypeSafe key, and the Signals folder shows only once they are on (#271). - A Signal's dialog says how far back it reads, and that an edit reads again only what was picked out (#276). +- Each request's span in Tempo is named for its method and path, such as `GET /api/entries`, instead of `ipx-web` for every one (#286). ## [1.1.0] - 2026-10-16 diff --git a/web/Caddyfile b/web/Caddyfile index 403fd9f..c1f7b5f 100644 --- a/web/Caddyfile +++ b/web/Caddyfile @@ -30,7 +30,9 @@ (tracing-on) { tracing { - span ipx-web + # Named for the request, as ipx names its own (#286): one name for all left every span in + # Tempo looking the same. + span "{http.request.method} {http.request.uri.path}" } } (tracing-off) {