summaryrefslogtreecommitdiff
path: root/src/node_perf.cc
diff options
context:
space:
mode:
authorJoyee Cheung <joyeec9h3@gmail.com>2021-06-09 00:19:04 +0800
committerJoyee Cheung <joyeec9h3@gmail.com>2021-06-28 16:20:15 +0800
commit50cfbf9f77ff1625f235d2ec9a31e409028b899d (patch)
treea6625e66a949dee03a8c8fb4ee5eb6f04dbbc888 /src/node_perf.cc
parenta75d4e272481dfaa1353a063a27baf035a6cc37a (diff)
downloadnode-new-50cfbf9f77ff1625f235d2ec9a31e409028b899d.tar.gz
bootstrap: support perf hooks in snapshot
PR-URL: https://github.com/nodejs/node/pull/38971 Refs: https://github.com/nodejs/node/issues/35711 Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'src/node_perf.cc')
-rw-r--r--src/node_perf.cc25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/node_perf.cc b/src/node_perf.cc
index 41c93ea164..acbb0e0d90 100644
--- a/src/node_perf.cc
+++ b/src/node_perf.cc
@@ -1,10 +1,11 @@
+#include "node_perf.h"
#include "aliased_buffer.h"
#include "env-inl.h"
#include "histogram-inl.h"
#include "memory_tracker-inl.h"
-#include "node_internals.h"
-#include "node_perf.h"
#include "node_buffer.h"
+#include "node_external_reference.h"
+#include "node_internals.h"
#include "node_process-inl.h"
#include "util-inl.h"
@@ -250,6 +251,12 @@ void ELDHistogram::Initialize(Environment* env, Local<Object> target) {
env->SetConstructorFunction(target, "ELDHistogram", tmpl);
}
+void ELDHistogram::RegisterExternalReferences(
+ ExternalReferenceRegistry* registry) {
+ registry->Register(New);
+ IntervalHistogram::RegisterExternalReferences(registry);
+}
+
ELDHistogram::ELDHistogram(
Environment* env,
Local<Object> wrap,
@@ -364,7 +371,21 @@ void Initialize(Local<Object> target,
ELDHistogram::Initialize(env, target);
}
+void RegisterExternalReferences(ExternalReferenceRegistry* registry) {
+ registry->Register(MarkMilestone);
+ registry->Register(SetupPerformanceObservers);
+ registry->Register(InstallGarbageCollectionTracking);
+ registry->Register(RemoveGarbageCollectionTracking);
+ registry->Register(Notify);
+ registry->Register(LoopIdleTime);
+ registry->Register(GetTimeOrigin);
+ registry->Register(GetTimeOriginTimeStamp);
+ HistogramBase::RegisterExternalReferences(registry);
+ ELDHistogram::RegisterExternalReferences(registry);
+}
} // namespace performance
} // namespace node
NODE_MODULE_CONTEXT_AWARE_INTERNAL(performance, node::performance::Initialize)
+NODE_MODULE_EXTERNAL_REFERENCE(performance,
+ node::performance::RegisterExternalReferences)