Skip to content

Commit dad8c8f

Browse files
committed
Use fields instead of cells
1 parent ed80dc7 commit dad8c8f

File tree

4 files changed

+18
-21
lines changed

4 files changed

+18
-21
lines changed

Cargo.lock

-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tools/monitor/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ anyhow = "1.0.44"
88
async-trait = "0.1.51"
99
log = "0.4.14"
1010
meio = "0.95.1"
11-
once_cell = "1.8.0"
1211
rate-config = "0.40.0"
1312
reqwest = "0.11.4"
1413
rillrate = "0.40.0"

tools/monitor/src/actors/watcher/actor.rs

+13-14
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,21 @@ use anyhow::Error;
88
use async_trait::async_trait;
99
use meio::task::HeartBeatHandle;
1010
use meio::{Actor, Context, InterruptedBy, StartedBy};
11-
use once_cell::sync::OnceCell;
1211
use rillrate::prime::*;
1312
use std::sync::Arc;
1413
use std::time::Duration;
1514

16-
// TODO: Use local fields instead
17-
static LATENCY: OnceCell<String> = OnceCell::new();
18-
static TAIL: OnceCell<String> = OnceCell::new();
19-
static INTERVAL: OnceCell<String> = OnceCell::new();
20-
2115
pub struct Watcher {
2216
name: String,
2317
url: Arc<String>,
2418
latency: Pulse,
2519
tail: LiveTail,
2620
interval: Slider,
2721
handle: HeartBeatHandle,
22+
23+
latency_entry: String,
24+
tail_entry: String,
25+
interval_entry: String,
2826
}
2927

3028
impl Actor for Watcher {
@@ -33,9 +31,9 @@ impl Actor for Watcher {
3331

3432
impl Watcher {
3533
pub fn new(name: String, url: String) -> Self {
36-
LATENCY.set(format!("site.{}.latency.pulse", name)).unwrap();
34+
let latency_entry = format!("site.{}.latency.pulse", name);
3735
let latency = Pulse::new(
38-
LATENCY.get().unwrap().as_ref(),
36+
latency_entry.as_ref(),
3937
Default::default(),
4038
PulseOpts::default()
4139
.retain(30u32)
@@ -44,17 +42,15 @@ impl Watcher {
4442
.higher(true)
4543
.suffix("ms"),
4644
);
47-
TAIL.set(format!("site.{}.latency.events", name)).unwrap();
45+
let tail_entry = format!("site.{}.latency.events", name);
4846
let tail = LiveTail::new(
49-
TAIL.get().unwrap().as_ref(),
47+
tail_entry.as_ref(),
5048
Default::default(),
5149
LiveTailOpts::default(),
5250
);
53-
INTERVAL
54-
.set(format!("site.{}.settings.interval", name))
55-
.unwrap();
51+
let interval_entry = format!("site.{}.settings.interval", name);
5652
let interval = Slider::new(
57-
INTERVAL.get().unwrap().as_ref(),
53+
interval_entry.as_ref(),
5854
SliderOpts::default()
5955
.label("Slide Me!")
6056
.min(1)
@@ -71,6 +67,9 @@ impl Watcher {
7167
tail,
7268
interval,
7369
handle,
70+
latency_entry,
71+
tail_entry,
72+
interval_entry,
7473
}
7574
}
7675
}

tools/monitor/src/actors/watcher/actor/layout.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ use rillrate::basis::{Layout, LayoutTab};
33

44
impl Watcher {
55
pub fn register_layout(&mut self) {
6-
let mut layout = Layout::new(self.name.as_ref());
7-
let mut tab = LayoutTab::new("Latency");
8-
tab.add_item((0, 0), (20, 30), LATENCY.get().unwrap().as_ref());
9-
tab.add_item((0, 30), (20, 30), TAIL.get().unwrap().as_ref());
10-
tab.add_item((0, 60), (20, 30), INTERVAL.get().unwrap().as_ref());
6+
let mut layout = Layout::new("Monitor");
7+
let mut tab = LayoutTab::new(self.name.as_ref());
8+
tab.add_item((0, 0), (60, 40), self.tail_entry.as_ref());
9+
tab.add_item((60, 0), (40, 40), self.latency_entry.as_ref());
10+
tab.add_item((0, 60), (20, 30), self.interval_entry.as_ref());
1111
layout.add_tab(tab);
1212
layout.register();
1313
}

0 commit comments

Comments
 (0)