canic_core/dto/
metrics.rs1use crate::dto::prelude::*;
2
3#[derive(CandidType, Clone, Copy, Deserialize)]
14#[remain::sorted]
15pub enum MetricsKind {
16 Core,
17 Placement,
18 Platform,
19 Runtime,
20 Security,
21 Storage,
22}
23
24#[derive(CandidType, Deserialize)]
31pub struct MetricEntry {
32 pub labels: Vec<String>,
34
35 pub principal: Option<Principal>,
37
38 pub value: MetricValue,
40}
41
42#[derive(CandidType, Deserialize)]
47pub enum MetricValue {
48 Count(u64),
49 CountAndU64 { count: u64, value_u64: u64 },
50 U128(u128),
51}
52
53#[derive(CandidType, Deserialize)]
60pub struct QueryPerfSample<T> {
61 pub value: T,
63
64 pub local_instructions: u64,
66}