1 unstable release
0.0.1 | Jan 3, 2024 |
---|
#7 in #otlp
11MB
663 lines
otlp-embedded
A simple in-memory implementation of the OpenTelemetry trace collector with a Web UI for visualizing the traces that can be embedded into other Rust applications.
Example
use otlp_embedded::{ui_app, State, TraceServiceImpl, TraceServiceServer};
#[tokio::main]
async fn main() {
let state = State::new(100);
let state_clone = state.clone();
tokio::spawn(async {
axum::Server::bind(&"0.0.0.0:10188".parse().unwrap())
.serve(ui_app(state, "/").into_make_service())
.await
.unwrap();
});
tonic::transport::Server::builder()
.add_service(TraceServiceServer::new(TraceServiceImpl::new(state_clone)))
.serve("0.0.0.0:43177".parse().unwrap())
.await
.unwrap();
}
Dependencies
~11–24MB
~308K SLoC