liquidmetal-dev / liquidmetal-dev/brigade
Distributed tracing (OpenTelemetry)
- Dominant language
- Elixir
- Stars
- 2
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Goal
Add OpenTelemetry tracing for cross-node create spans (client → Brigade node → scheduler singleton → HostDriver → flintlock).
## Context
M4 shipped `:telemetry` events + Prometheus metrics + a `/status` view. Tracing was explicitly deferred. A create currently hops nodes (any Brigade node → singleton scheduler, possibly remote → target host's driver); a trace would tie those spans together for latency debugging.
## Scope
- `opentelemetry` + exporter deps.
- Span around `create_micro_vm` (north handler), propagate context to the scheduler `reserve`/`confirm` calls and the HostDriver create.
- Propagate trace context across the Erlang-node hop (GenServer call to the singleton) and into the outbound gRPC metadata to flintlock.
- Config-gated exporter (OTLP endpoint).
Deferred from the M0–M4 build.
Contributor guide
No contributing guide indexed for this repository
Research direction
Locate the create_micro_vm north handler, the scheduler reserve/confirm calls, HostDriver create path, and outbound flintlock gRPC call. First trace how context crosses the Erlang-node hop and gRPC metadata, then review the exporter configuration path. Done means config-gated OTLP tracing connects spans across all listed steps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elixir, grpc
- Domain
- backend, distributed-systems, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100