Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
a37dad7
Port OTEP-4947 thread-context writer from custom-labels/js
szegedi May 27, 2026
5dc7f61
Add test:docker harness for running tests on Linux from any host
szegedi May 27, 2026
ed5261b
Address review feedback
szegedi Jun 10, 2026
974b937
Rename CtxWrap::Bytes to DebugBytes
szegedi Jun 10, 2026
dca61d1
Propagate V8 pending exception on ToString failure instead of overwri…
szegedi Jun 11, 2026
3db0bb1
Compile addon on Node < 22 by guarding the V8 CPED offset lookup
szegedi Jun 11, 2026
5b3c972
Compile addon against older V8 ABIs (Node 18 prebuild targets)
szegedi Jun 11, 2026
6470ef5
Compile addon on Node 26 (V8 14.x V2 string API + Object::GetIsolate …
szegedi Jun 11, 2026
391a62d
Fix TS lint: prettier formatting, strict equality, unused-vars
szegedi Jun 11, 2026
d9799bc
Make the addon compile on MSVC
szegedi Jun 11, 2026
59c7235
Skip OTEP-4947 thread context tests where the feature is unavailable
szegedi Jun 11, 2026
d56c1d1
Surface the OTEP-4947 writer API on the package root
szegedi Jun 16, 2026
44c98eb
Expose CtxWrap as a first-class JS class; drop the implicit-storage h…
szegedi Jun 16, 2026
b4f57be
Rename CtxWrap to ThreadContext in the JS API surface
szegedi Jun 16, 2026
0cc1a18
use nodejs_v1_dev
szegedi Jun 23, 2026
5f80ea3
Drop nodejs_v1 namespace from threadlocal layout keys
szegedi Jun 23, 2026
d9665fc
Note vendored-from-polarsignals provenance on OTEP-4947 files
szegedi Jun 23, 2026
e03bacc
Restore upstream comment wording in vendored otel-thread-ctx.cc
szegedi Jun 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions binding.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
"bindings/binding.cc",
"bindings/map-get.cc",
"bindings/allocation-profile.cc",
"bindings/allocation-profile-node.cc"
"bindings/allocation-profile-node.cc",
"bindings/otel-thread-ctx.cc"
],
"include_dirs": [
"bindings",
Expand All @@ -46,7 +47,8 @@
"bindings/translate-time-profile.cc",
"bindings/test/binding.cc",
"bindings/allocation-profile.cc",
"bindings/allocation-profile-node.cc"
"bindings/allocation-profile-node.cc",
"bindings/otel-thread-ctx.cc"
],
"include_dirs": [
"bindings",
Expand Down Expand Up @@ -81,6 +83,15 @@
["-Wno-deprecated-declarations"],
"cflags_cc!": ["-std=gnu++14", "-std=gnu++1y", "-std=gnu++20" ],
"cflags_cc": ["-std=gnu++2a"],
"conditions": [
# -mtls-dialect=gnu2 forces TLSDESC on x86_64 so the
# otel_thread_ctx_nodejs_v1 symbol is reachable per the
# OTEP-4947 spec. On arm64 TLSDESC is the only dynamic
# model, so no flag is needed there.
['target_arch == "x64"', {
"cflags": ["-mtls-dialect=gnu2"],
}],
],
}
],
["OS == 'mac'",
Expand Down
2 changes: 2 additions & 0 deletions bindings/binding.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <v8.h>

#include "allocation-profile-node.hh"
#include "otel-thread-ctx.hh"
#include "profilers/heap.hh"
#include "profilers/wall.hh"
#include "translate-time-profile.hh"
Expand Down Expand Up @@ -53,5 +54,6 @@ NODE_MODULE_INIT(/* exports, module, context */) {
dd::TimeProfileNodeView::Init(exports);
dd::HeapProfiler::Init(exports);
dd::WallProfiler::Init(exports);
dd::OtelThreadCtx::Init(exports);
Nan::SetMethod(exports, "getNativeThreadId", GetNativeThreadId);
}
Loading
Loading