feldera_types/telemetry.rs
1//! Telemetry events format exchanged between platform and telemetry service.
2use serde::{Deserialize, Serialize};
3
4/// Request to register a telemetry event.
5/// Shared type between client and server.
6#[derive(Serialize, Deserialize, Debug)]
7pub struct RegisterTelemetryEventRequest {
8 pub account_id: String,
9 pub license_key: String,
10 pub event: TelemetryEvent,
11}
12
13#[derive(Serialize, Deserialize, Debug, Clone)]
14pub enum TelemetryEvent {
15 /// Pipeline provisioning succeeded.
16 PipelineProvisioned { id_hash: String },
17 /// Pipeline shutdown finished successfully.
18 PipelineShutdownFinished { id_hash: String },
19 /// Statistics update about a deployed pipeline.
20 PipelineStatistics {
21 id_hash: String,
22 statistics: serde_json::Value,
23 },
24}