///|
/// Structured, dependency-free operational events emitted by discord.mbt.
///
/// Callbacks receive these values synchronously and should return promptly.
pub(all) enum TelemetryEvent {
ShardConnecting(shard_id~ : Int)
ShardCompressionEnabled(shard_id~ : Int)
ShardConnected(shard_id~ : Int)
ShardDisconnected(shard_id~ : Int, code~ : Int?, will_resume~ : Bool)
ShardHeartbeatLatency(shard_id~ : Int, latency_ms~ : Int64)
ShardResumed(shard_id~ : Int)
ShardIdentified(shard_id~ : Int)
HttpRequest(
route_bucket~ : String,
method_name~ : String,
status~ : Int,
duration_ms~ : Int64,
retries~ : Int
)
HttpRateLimited(
route_bucket~ : String,
global~ : Bool,
retry_after_ms~ : Int64
)
EventDispatched(kind~ : String, handler_count~ : Int)
DecodeError(marker~ : String)
} derive(Debug)