Skip to main content

valence_core/instrumentation/
labels.rs

1//! Stable label value helpers for Valence telemetry.
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq)]
4pub enum ReadOp {
5    Get,
6    Query,
7}
8
9impl ReadOp {
10    pub fn as_str(self) -> &'static str {
11        match self {
12            ReadOp::Get => "get",
13            ReadOp::Query => "query",
14        }
15    }
16}
17
18#[derive(Debug, Clone, Copy, PartialEq, Eq)]
19pub enum WriteOp {
20    Create,
21    Update,
22    Upsert,
23    Merge,
24    Delete,
25}
26
27impl WriteOp {
28    pub fn as_str(self) -> &'static str {
29        match self {
30            WriteOp::Create => "create",
31            WriteOp::Update => "update",
32            WriteOp::Upsert => "upsert",
33            WriteOp::Merge => "merge",
34            WriteOp::Delete => "delete",
35        }
36    }
37}
38
39#[derive(Debug, Clone, Copy, PartialEq, Eq)]
40pub enum EdgeWriteOp {
41    Relate,
42    Unrelate,
43}
44
45impl EdgeWriteOp {
46    pub fn as_str(self) -> &'static str {
47        match self {
48            EdgeWriteOp::Relate => "relate",
49            EdgeWriteOp::Unrelate => "unrelate",
50        }
51    }
52}