From 58a10db518944997a0351b104a060519468acdc0 Mon Sep 17 00:00:00 2001 From: Mike Aizatsky Date: Mon, 10 Oct 2022 15:17:46 -0700 Subject: [PATCH] adding created() event to IsolateObserver --- src/workerd/io/observer.h | 3 +++ src/workerd/io/worker.c++ | 1 + 2 files changed, 4 insertions(+) diff --git a/src/workerd/io/observer.h b/src/workerd/io/observer.h index 9b439fd6a49..2af08161985 100644 --- a/src/workerd/io/observer.h +++ b/src/workerd/io/observer.h @@ -74,6 +74,9 @@ class RequestObserver: public kj::Refcounted { class IsolateObserver: public kj::AtomicRefcounted { public: + virtual void created(kj::StringPtr id) {}; + // Called when Worker::Isolate is created. + virtual void evicted() {} // Called when the owning Worker::Script is being destroyed. The IsolateObserver may // live a while longer to handle deferred proxy requests. diff --git a/src/workerd/io/worker.c++ b/src/workerd/io/worker.c++ index 054469fc550..389de29723d 100644 --- a/src/workerd/io/worker.c++ +++ b/src/workerd/io/worker.c++ @@ -977,6 +977,7 @@ Worker::Isolate::Isolate(kj::Own apiIsolateParam, metrics(kj::mv(metricsParam)), impl(kj::heap(*apiIsolate, *metrics, *limitEnforcer, allowInspector)), weakIsolateRef(kj::atomicRefcounted(this)) { + metrics->created(id); // We just created our isolate, so we don't need to use Isolate::Impl::Lock (nor an async lock). auto lock = apiIsolate->lock(); auto features = apiIsolate->getFeatureFlags();