liquidmetal-dev / liquidmetal-dev/brigade

Distributed tracing (OpenTelemetry)

Open
#9 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.