Skip to content

Commit 6d50b18

Browse files
committed
feat(rivetkit): add current actor metrics
1 parent 3a9c1be commit 6d50b18

7 files changed

Lines changed: 529 additions & 22 deletions

File tree

engine/packages/depot-client/src/vfs.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,8 @@ pub trait SqliteVfsMetrics: Send + Sync {
303303

304304
fn set_worker_queue_depth(&self, _depth: u64) {}
305305

306+
fn set_worker_active(&self, _active: bool) {}
307+
306308
fn record_worker_queue_overload(&self) {}
307309

308310
fn observe_worker_command_duration(&self, _operation: &'static str, _duration_ns: u64) {}

examples/kitchen-sink/src/server.ts

Lines changed: 6 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rivetkit-rust/packages/rivetkit-core/src/actor/context.rs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,6 +1364,44 @@ impl ActorContext {
13641364
}
13651365

13661366
fn configure_sleep_hooks(&self) {
1367+
let keep_awake_ctx = self.clone();
1368+
self.0
1369+
.sleep
1370+
.work
1371+
.keep_awake
1372+
.register_change_callback(Arc::new(move || {
1373+
keep_awake_ctx
1374+
.0
1375+
.metrics
1376+
.set_keep_awake_active(keep_awake_ctx.sleep_keep_awake_count());
1377+
}));
1378+
1379+
let internal_keep_awake_metric_ctx = self.clone();
1380+
self.0
1381+
.sleep
1382+
.work
1383+
.internal_keep_awake
1384+
.register_change_callback(Arc::new(move || {
1385+
internal_keep_awake_metric_ctx
1386+
.0
1387+
.metrics
1388+
.set_internal_keep_awake_active(
1389+
internal_keep_awake_metric_ctx.sleep_internal_keep_awake_count(),
1390+
);
1391+
}));
1392+
1393+
let shutdown_tasks_ctx = self.clone();
1394+
self.0
1395+
.sleep
1396+
.work
1397+
.shutdown_counter
1398+
.register_change_callback(Arc::new(move || {
1399+
shutdown_tasks_ctx
1400+
.0
1401+
.metrics
1402+
.set_shutdown_tasks_active(shutdown_tasks_ctx.shutdown_task_count());
1403+
}));
1404+
13671405
let internal_keep_awake_ctx = self.clone();
13681406
self.set_internal_keep_awake(Some(Arc::new(move |future| {
13691407
let ctx = internal_keep_awake_ctx.clone();

0 commit comments

Comments
 (0)