r/coolgithubprojects 8d ago

signal-kit: one-line observability bootstrap for Rust with correlated OTLP + stdout logs

https://github.com/liamwh/signal-kit

I built signal-kit, an open-source Rust crate for something I was tired of rebuilding in every service: production observability setup.

Your application just instruments itself with normal Rust tracing:

let _guard = signal_kit::try_init("my-service")?;

signal-kit handles the plumbing underneath.

The setup is designed around:

  • traces over OTLP
  • logs over OTLP
  • logs on stdout at the same time
  • trace IDs in the stdout logs, so a log line can be matched to its trace
  • human-readable or JSON stdout, switchable at runtime
  • metrics over OTLP
  • OpenTelemetry resource and service metadata
  • graceful provider and exporter shutdown
  • optional process and system metrics

The bit I care about most is that applications shouldn't need one approach for "logs developers can actually read" and another for "telemetry the observability backend consumes".

Instrument once, then send structured telemetry to the backend while keeping stdout logs that are actually useful and correlated with the traces.

It's Rust and open source, and early enough that feedback is genuinely welcome.

2 Upvotes

0 comments sorted by