veecle_telemetry/collector/
json_exporter.rs

1use super::Export;
2use crate::protocol::InstanceMessage;
3
4/// An exporter that outputs telemetry messages as JSON to stdout.
5///
6/// # Examples
7///
8/// ```rust
9/// use veecle_telemetry::collector::{ConsoleJsonExporter, set_exporter, ProcessId};
10///
11/// let process_id = ProcessId::random(&mut rand::rng());
12/// set_exporter(process_id, &ConsoleJsonExporter).unwrap();
13/// ```
14#[derive(Debug)]
15pub struct ConsoleJsonExporter;
16
17impl Export for ConsoleJsonExporter {
18    fn export(&self, message: InstanceMessage) {
19        std::println!("{}", serde_json::to_string(&message).unwrap());
20    }
21}