#tracing-layer #logging-tracing #tracing #logging #profiling

venator

A tracing layer for exporting logs and spans to the Venator app

4 releases (2 stable)

1.1.0 Jan 28, 2025
1.0.0 Jan 15, 2025
0.2.0 Nov 13, 2024
0.1.0 Sep 12, 2024

#590 in Debugging

Download history 105/week @ 2024-11-08 29/week @ 2024-11-15 7/week @ 2024-11-22 14/week @ 2024-11-29 20/week @ 2024-12-06 3/week @ 2024-12-13 101/week @ 2025-01-10 36/week @ 2025-01-17 129/week @ 2025-01-24 140/week @ 2025-01-31 239/week @ 2025-02-07

559 downloads per month

MIT license

34KB
717 lines

The Venator Rust library provides a tracing layer that will export logs and spans to the Venator app.

Usage

[dependencies]
venator = "1.1.0"

Install it as the global subscriber:

use venator::Venator;

// minimal
Venator::default().install();
use venator::Venator;

// configured
Venator::builder()
    .with_host("localhost:8362")
    .with_attribute("service", "my_app")
    .with_attribute("environment.name", "internal")
    .with_attribute("environment.dev", true)
    .build()
    .install();

Or use it as a Layer:

use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::util::SubscriberInitExt;
use venator::Venator;

tracing_subscriber::registry()
    .with(Venator::default())
    .with(tracing_subscriber::fmt::Layer::default())
    .with(tracing_subscriber::EnvFilter::from_default_env())
    .init()

Dependencies

~1.8–9MB
~80K SLoC