micromegas_tracing/metrics/
metric_events.rs1use crate::property_set::PropertySetId;
2use micromegas_transit::prelude::*;
3
4use super::StaticMetricMetadata;
5
6#[derive(Debug, TransitReflect)]
8pub struct MetricMetadataDependency {
9 pub id: u64,
10 pub name: *const u8,
11 pub unit: *const u8,
12 pub target: *const u8,
13 pub file: *const u8,
14 pub line: u32,
15 pub lod: u32,
16}
17
18impl InProcSerialize for MetricMetadataDependency {}
19
20#[derive(Debug, TransitReflect)]
23pub struct IntegerMetricEvent {
24 pub desc: &'static StaticMetricMetadata,
25 pub value: u64,
26 pub time: i64,
27}
28
29impl InProcSerialize for IntegerMetricEvent {}
30
31#[derive(Debug, TransitReflect)]
33pub struct FloatMetricEvent {
34 pub desc: &'static StaticMetricMetadata,
35 pub value: f64,
36 pub time: i64,
37}
38
39impl InProcSerialize for FloatMetricEvent {}
40
41#[derive(Debug, TransitReflect)]
43pub struct TaggedFloatMetricEvent {
44 pub desc: &'static StaticMetricMetadata,
45 #[transit(reference)]
46 pub properties: PropertySetId,
47 pub value: f64,
48 pub time: i64,
49}
50
51impl InProcSerialize for TaggedFloatMetricEvent {}
52
53#[derive(Debug, TransitReflect)]
55pub struct TaggedIntegerMetricEvent {
56 pub desc: &'static StaticMetricMetadata,
57 #[transit(reference)]
58 pub properties: PropertySetId,
59 pub value: u64,
60 pub time: i64,
61}
62
63impl InProcSerialize for TaggedIntegerMetricEvent {}