OpenTelemetry tracing#189
Conversation
5a18031 to
f743cf2
Compare
6d18566 to
c61fafe
Compare
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
c61fafe to
c543b5b
Compare
|
|
||
| services: | ||
| jaeger: | ||
| image: jaegertracing/all-in-one:latest |
There was a problem hiding this comment.
@carole-lavillonniere What's the reason for using the deprecated Jaeger v1 image?
It failed on startup, so I migrated to v2 here (including volume mount for persistence): https://github.com/localstack/appinspector-workspace/pull/5/changes#diff-43ae25c5821a0740c7abdf88127b2a54b7f009a971a4904e11b090071fc5e18bR18
There was a problem hiding this comment.
No reason, I did not realise (and did not get any failure), upgrading sounds like a good idea!
There was a problem hiding this comment.
Ok, I created a PR to update the docker-compose: #240
Feel free to decide whether to keep Jaeger (easier for traces-only) or try SigNoz for consistency with LS tracing and logging.

Motivation
Add end-to-end distributed tracing to lstk so developers can inspect the full call tree of any command — Docker API calls, platform API calls, emulator health checks — in a local Jaeger (or any OTLP-compatible) backend.
Can be enabled with env var
LSTK_OTEL=1.Closes DRG-410
Changes
internal/tracing: new package that initialises the global OTel TracerProvider; exports spans via OTLP/HTTPcmd/root.go: wraps every commandlstk.<command>spanlstk.exit_codeon all commands,service.name,service.version,os.type,host.archon all spansdocker-compose.tracing.yaml: allow running Jaeger locallyTests
Manually verified with
docker compose -f docker-compose.tracing.yaml up -dandlstk start/lstk status. Traces appear in Jaeger at http://localhost:16686 with correct span hierarchy and names. Existing unit and integration tests pass unchanged.