pub struct MeasureContext { /* private fields */ }Implementations§
Source§impl MeasureContext
impl MeasureContext
Sourcepub fn set_result(&self, r: &str)
pub fn set_result(&self, r: &str)
Examples found in repository?
examples/test_sdk.rs (line 54)
11async fn main() {
12 let dimensions: HashMap<String, String> = [
13 ("service".into(), "api".into()),
14 ("region".into(), "eu".into()),
15 ]
16 .into();
17
18 let client = Client::new(Config {
19 api_key: API_KEY.into(),
20 sli_id: SLI_ID.into(),
21 base_url: BASE_URL.into(),
22 ..Default::default()
23 })
24 .unwrap();
25
26 println!("LevelOps SDK test — boucle toutes les secondes. Ctrl+C pour arrêter.");
27 let mut i = 0u64;
28 loop {
29 i += 1;
30 let latency = rand_range(20, 500);
31
32 // Usage direct
33 let mut fields = HashMap::new();
34 fields.insert("result".into(), serde_json::Value::String("ok".into()));
35 fields.insert("latency_ms".into(), serde_json::Value::Number(latency.into()));
36
37 client
38 .record(Event {
39 fields,
40 dimensions: dimensions.clone(),
41 ..Default::default()
42 })
43 .await
44 .unwrap();
45 println!("[{i}] record() envoyé");
46
47 // Usage measure (simulation latence)
48 let extra_fields: HashMap<String, serde_json::Value> =
49 [("service_version".into(), serde_json::Value::String("1.0".into()))].into();
50 client
51 .measure(
52 |ctx| async move {
53 sleep(Duration::from_millis(rand_range(50, 300))).await;
54 ctx.set_result(if rand_bool(0.9) { "ok" } else { "error" });
55 Ok(())
56 },
57 MeasureOpts::new(dimensions.clone()).fields(extra_fields),
58 )
59 .await
60 .unwrap();
61 println!("[{i}] measure() terminé");
62
63 sleep(Duration::from_secs(1)).await;
64 }
65}Trait Implementations§
Source§impl Clone for MeasureContext
impl Clone for MeasureContext
Source§fn clone(&self) -> MeasureContext
fn clone(&self) -> MeasureContext
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for MeasureContext
impl RefUnwindSafe for MeasureContext
impl Send for MeasureContext
impl Sync for MeasureContext
impl Unpin for MeasureContext
impl UnsafeUnpin for MeasureContext
impl UnwindSafe for MeasureContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more