Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit bef78a2

Browse filesBrowse files
joyeecheungBethGriggs
authored andcommitted
src: register external references of dtrace for snapshot
PR-URL: #39961 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michael Dawson <midawson@redhat.com>
1 parent 381293f commit bef78a2
Copy full SHA for bef78a2

File tree

Expand file treeCollapse file tree

2 files changed

+30
-10
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

2 files changed

+30
-10
lines changed
Open diff view settings
Collapse file

‎src/node_dtrace.cc‎

Copy file name to clipboardExpand all lines: src/node_dtrace.cc
+22-9Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444

4545
#include "env-inl.h"
4646
#include "node_errors.h"
47+
#include "node_external_reference.h"
4748

4849
#include <cstring>
4950

@@ -288,23 +289,35 @@ void InitDTrace(Environment* env) {
288289
}, env);
289290
}
290291

292+
#define NODE_PROBES(V) \
293+
V(DTRACE_NET_SERVER_CONNECTION) \
294+
V(DTRACE_NET_STREAM_END) \
295+
V(DTRACE_HTTP_SERVER_REQUEST) \
296+
V(DTRACE_HTTP_SERVER_RESPONSE) \
297+
V(DTRACE_HTTP_CLIENT_REQUEST) \
298+
V(DTRACE_HTTP_CLIENT_RESPONSE)
299+
291300
void InitializeDTrace(Local<Object> target,
292301
Local<Value> unused,
293302
Local<Context> context,
294303
void* priv) {
295304
Environment* env = Environment::GetCurrent(context);
296305

297306
#if defined HAVE_DTRACE || defined HAVE_ETW
298-
# define NODE_PROBE(name) env->SetMethod(target, #name, name);
299-
NODE_PROBE(DTRACE_NET_SERVER_CONNECTION)
300-
NODE_PROBE(DTRACE_NET_STREAM_END)
301-
NODE_PROBE(DTRACE_HTTP_SERVER_REQUEST)
302-
NODE_PROBE(DTRACE_HTTP_SERVER_RESPONSE)
303-
NODE_PROBE(DTRACE_HTTP_CLIENT_REQUEST)
304-
NODE_PROBE(DTRACE_HTTP_CLIENT_RESPONSE)
305-
# undef NODE_PROBE
306-
#endif
307+
#define V(name) env->SetMethod(target, #name, name);
308+
NODE_PROBES(V)
309+
#undef V
310+
#endif // defined HAVE_DTRACE || defined HAVE_ETW
311+
}
312+
313+
void RegisterDtraceExternalReferences(ExternalReferenceRegistry* registry) {
314+
#if defined HAVE_DTRACE || defined HAVE_ETW
315+
#define V(name) registry->Register(name);
316+
NODE_PROBES(V)
317+
#undef V
318+
#endif // defined HAVE_DTRACE || defined HAVE_ETW
307319
}
308320

309321
} // namespace node
310322
NODE_MODULE_CONTEXT_AWARE_INTERNAL(dtrace, node::InitializeDTrace)
323+
NODE_MODULE_EXTERNAL_REFERENCE(dtrace, node::RegisterDtraceExternalReferences)
Collapse file

‎src/node_external_reference.h‎

Copy file name to clipboardExpand all lines: src/node_external_reference.h
+8-1Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,17 @@ class ExternalReferenceRegistry {
9292
#define EXTERNAL_REFERENCE_BINDING_LIST_INSPECTOR(V)
9393
#endif // HAVE_INSPECTOR
9494

95+
#if HAVE_DTRACE || HAVE_ETW
96+
#define EXTERNAL_REFERENCE_BINDING_LIST_DTRACE(V) V(dtrace)
97+
#else
98+
#define EXTERNAL_REFERENCE_BINDING_LIST_DTRACE(V)
99+
#endif
100+
95101
#define EXTERNAL_REFERENCE_BINDING_LIST(V) \
96102
EXTERNAL_REFERENCE_BINDING_LIST_BASE(V) \
97103
EXTERNAL_REFERENCE_BINDING_LIST_INSPECTOR(V) \
98-
EXTERNAL_REFERENCE_BINDING_LIST_I18N(V)
104+
EXTERNAL_REFERENCE_BINDING_LIST_I18N(V) \
105+
EXTERNAL_REFERENCE_BINDING_LIST_DTRACE(V)
99106

100107
} // namespace node
101108

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.