Crates.io | otlp-embedded |
lib.rs | otlp-embedded |
version | 0.0.1 |
source | src |
created_at | 2024-01-03 07:05:26.96093 |
updated_at | 2024-01-03 07:05:26.96093 |
description | In-memory OpenTelemetry trace collector and Web UI visualizer. |
homepage | |
repository | https://github.com/risingwavelabs/otlp-embedded |
max_upload_size | |
id | 1087168 |
size | 11,839,012 |
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.
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();
}