Struct Collector
pub struct Collector { /* private fields */ }
Expand description
The global telemetry collector.
This structure manages the collection and export of telemetry data. It maintains a unique execution ID, handles trace ID generation, and coordinates with the configured exporter.
The collector is typically accessed through the get_collector
function rather
than being constructed directly.
Implementations§
§impl Collector
impl Collector
pub fn collect_external(&self, message: InstanceMessage<'_>)
pub fn collect_external(&self, message: InstanceMessage<'_>)
Collects and exports an external telemetry message.
This method allows external systems to inject telemetry messages into the collector pipeline. The message will be exported using the configured exporter.
§Examples
use veecle_telemetry::collector::get_collector;
use veecle_telemetry::protocol::{
ExecutionId,
InstanceMessage,
TelemetryMessage,
TimeSyncMessage,
};
let collector = get_collector();
let message = InstanceMessage {
execution: ExecutionId::from_raw(1),
message: TelemetryMessage::TimeSync(TimeSyncMessage {
local_timestamp: 0,
since_epoch: 0,
}),
};
collector.collect_external(message);
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Collector
impl !RefUnwindSafe for Collector
impl Send for Collector
impl Sync for Collector
impl Unpin for Collector
impl !UnwindSafe for Collector
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more