| Crates.io | rapace-tracing |
| lib.rs | rapace-tracing |
| version | 0.5.0 |
| created_at | 2025-12-11 18:00:16.801415+00 |
| updated_at | 2025-12-21 13:27:31.08339+00 |
| description | Tracing subscriber that forwards spans/events over rapace RPC |
| homepage | |
| repository | https://github.com/bearcove/rapace |
| max_upload_size | |
| id | 1980216 |
| size | 58,533 |
Tracing subscriber that forwards spans and events over rapace RPC.
This crate enables plugins to use tracing normally while having all spans and events collected in the host process via rapace RPC.
┌─────────────────────────────────────────────────────────────────────────┐
│ PLUGIN PROCESS │
│ │
│ tracing::info!("hello") ──► RapaceTracingLayer ──► TracingSinkClient ─┤
│ ▲ │
│ │ │
│ TracingConfigServer ◄──────────────────────────┤
│ (applies host's filter) │
└────────────────────────────────────────────────────────────────────────┬┘
│
rapace transport (TCP/Unix/SHM) │
│
┌────────────────────────────────────────────────────────────────────────┴┐
│ HOST PROCESS │
│ │
│ TracingSinkServer ──► HostTracingSink ──► tracing_subscriber / logs │
│ │
│ TracingConfigClient ──► pushes filter changes to plugin │
│ │
└─────────────────────────────────────────────────────────────────────────┘
The host is the single source of truth for log filtering:
TracingConfig::set_filter// Plugin side: install the layer
let layer = RapaceTracingLayer::new(sink_client);
tracing_subscriber::registry().with(layer).init();
// Now all tracing calls are forwarded to the host
tracing::info!("hello from plugin");
MIT OR Apache-2.0