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}