use std::time::SystemTime;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum MessageType {
Trace,
Metric,
}
#[derive(Debug, Clone)]
pub struct OtlpMessage {
pub message_type: MessageType,
pub received_at: SystemTime,
}
impl OtlpMessage {
pub fn trace() -> Self {
Self {
message_type: MessageType::Trace,
received_at: SystemTime::now(),
}
}
pub fn metric() -> Self {
Self {
message_type: MessageType::Metric,
received_at: SystemTime::now(),
}
}
}
pub mod batch_writer;
pub mod converter;
pub mod exporter;
pub mod forwarder;
pub mod metrics_converter;
pub mod metrics_data;
pub mod metrics_extractor;
pub mod server;
pub mod server_arrow;
pub use batch_writer::BatchBuffer;
pub use exporter::{ExportFormat, FileSpanExporter, OtlpFileExporter, OtlpSpanExporter};
pub use server::{MetricsServiceImpl, OtlpGrpcServer, TraceServiceImpl};
pub use server_arrow::OtlpArrowFlightServer;