@rootcat/node 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +83 -0
- package/README.md +88 -7
- package/dist/attach.d.ts +1 -0
- package/dist/attach.js +24 -0
- package/dist/attach.js.map +1 -0
- package/dist/coexist.d.ts +183 -0
- package/dist/coexist.js +587 -0
- package/dist/coexist.js.map +1 -0
- package/dist/drizzle.js +4 -1
- package/dist/drizzle.js.map +1 -1
- package/dist/esm.mjs +32 -16
- package/dist/esmhook.d.ts +42 -2
- package/dist/esmhook.js +84 -10
- package/dist/esmhook.js.map +1 -1
- package/dist/iitm-hook.mjs +83 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/keys.d.ts +11 -0
- package/dist/keys.js +19 -1
- package/dist/keys.js.map +1 -1
- package/dist/pg.js +8 -3
- package/dist/pg.js.map +1 -1
- package/dist/pgpool.d.ts +7 -0
- package/dist/pgpool.js +19 -5
- package/dist/pgpool.js.map +1 -1
- package/dist/postgresjs.d.ts +27 -0
- package/dist/postgresjs.js +131 -3
- package/dist/postgresjs.js.map +1 -1
- package/dist/privacy.d.ts +3 -3
- package/dist/privacy.js +16 -2
- package/dist/privacy.js.map +1 -1
- package/dist/processor.d.ts +106 -3
- package/dist/processor.js +278 -36
- package/dist/processor.js.map +1 -1
- package/dist/sampler.d.ts +18 -0
- package/dist/sampler.js +50 -1
- package/dist/sampler.js.map +1 -1
- package/dist/sdk.d.ts +43 -2
- package/dist/sdk.js +333 -32
- package/dist/sdk.js.map +1 -1
- package/package.json +10 -3
package/dist/coexist.js
ADDED
|
@@ -0,0 +1,587 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.InProviderProcessor = exports.FlaggedExport = exports.keptSourceKey = exports.UrlSource = void 0;
|
|
37
|
+
exports.existingSetup = existingSetup;
|
|
38
|
+
exports.tracesByVersion = tracesByVersion;
|
|
39
|
+
exports.providerRegistered = providerRegistered;
|
|
40
|
+
exports.tracerDependency = tracerDependency;
|
|
41
|
+
exports.hasHeader = hasHeader;
|
|
42
|
+
exports.propagatedOnce = propagatedOnce;
|
|
43
|
+
exports.keeps = keeps;
|
|
44
|
+
exports.activeDatabaseSpan = activeDatabaseSpan;
|
|
45
|
+
exports.guardWrappers = guardWrappers;
|
|
46
|
+
exports.sentryLoaderShared = sentryLoaderShared;
|
|
47
|
+
// Living alongside another tracer that owns the process's OpenTelemetry
|
|
48
|
+
// setup: the global tracer provider, the context manager and the
|
|
49
|
+
// propagator. Sentry 8 and later is one (it registers all three in
|
|
50
|
+
// Sentry.init) and the tested case; an application's own NodeSDK, or any
|
|
51
|
+
// SDK whose provider takes span processors, fits the same path.
|
|
52
|
+
//
|
|
53
|
+
// existingSetup() says what is there. Two cases follow:
|
|
54
|
+
//
|
|
55
|
+
// - The owner records nothing (Sentry without tracesSampleRate or
|
|
56
|
+
// tracesSampler: its sampler makes every span on its provider
|
|
57
|
+
// non-recording, and it adds none of its performance instrumentations,
|
|
58
|
+
// only the request isolation its http instrumentation needs). The
|
|
59
|
+
// package then runs its own provider beside the owner's, never
|
|
60
|
+
// registered globally: its instrumentations are given that provider,
|
|
61
|
+
// the context they run in is the owner's context manager, and the
|
|
62
|
+
// owner's provider never sees a Rootcat span, so the owner sends
|
|
63
|
+
// nothing it did not send before ('beside').
|
|
64
|
+
// - The owner traces (Sentry with tracing; an app's own NodeSDK): it
|
|
65
|
+
// instruments http, the drivers and Redis itself, so the package adds
|
|
66
|
+
// no span of its own. Its processor goes into the owner's provider
|
|
67
|
+
// (Sentry.init's openTelemetrySpanProcessors, NodeSDK's spanProcessors)
|
|
68
|
+
// and exports a copy of each span the owner records, with the call
|
|
69
|
+
// site; its entry wrappers (Drizzle, pg pool, postgres.js origins) only
|
|
70
|
+
// carry call sites to the owner's spans ('inside').
|
|
71
|
+
const api_1 = require("@opentelemetry/api");
|
|
72
|
+
const fs = __importStar(require("node:fs"));
|
|
73
|
+
const node_module_1 = require("node:module");
|
|
74
|
+
const path = __importStar(require("node:path"));
|
|
75
|
+
const instrumentation_1 = require("@opentelemetry/instrumentation");
|
|
76
|
+
const keys_js_1 = require("./keys.js");
|
|
77
|
+
const processor_js_1 = require("./processor.js");
|
|
78
|
+
/**
|
|
79
|
+
* existingSetup describes the tracer that owns the process's
|
|
80
|
+
* OpenTelemetry setup, or undefined when there is none: no provider is
|
|
81
|
+
* registered and no Sentry client exists.
|
|
82
|
+
*/
|
|
83
|
+
function existingSetup() {
|
|
84
|
+
const registered = providerRegistered();
|
|
85
|
+
const found = sentryClient();
|
|
86
|
+
if (found) {
|
|
87
|
+
const { options, version } = found;
|
|
88
|
+
return {
|
|
89
|
+
kind: 'sentry',
|
|
90
|
+
registered,
|
|
91
|
+
tracing: tracesByVersion(options, version),
|
|
92
|
+
debug: options.debug === true,
|
|
93
|
+
processors: Array.isArray(options.openTelemetrySpanProcessors) && options.openTelemetrySpanProcessors.length > 0,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
if (registered) {
|
|
97
|
+
return { kind: 'other', registered, tracing: true, debug: false, processors: undefined };
|
|
98
|
+
}
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* tracesByVersion is Sentry's own rule for whether it records spans, by its
|
|
103
|
+
* major version, so the package never runs beside a Sentry that installed
|
|
104
|
+
* its performance instrumentations:
|
|
105
|
+
* - 8: hasTracingEnabled, enableTracing or a tracesSampleRate or
|
|
106
|
+
* tracesSampler key present, whatever its value (undefined included);
|
|
107
|
+
* - 9 and later: hasSpansEnabled, tracesSampleRate not null or undefined,
|
|
108
|
+
* or a tracesSampler (enableTracing was removed in 9).
|
|
109
|
+
* An unknown version is taken as tracing: inside mode, which adds no
|
|
110
|
+
* instrumentation of the package's own, rather than beside a Sentry that
|
|
111
|
+
* might have installed its own.
|
|
112
|
+
*/
|
|
113
|
+
function tracesByVersion(options, version) {
|
|
114
|
+
const major = Number.parseInt(version, 10);
|
|
115
|
+
if (major === 8) {
|
|
116
|
+
return Boolean(options.enableTracing) || 'tracesSampleRate' in options || 'tracesSampler' in options;
|
|
117
|
+
}
|
|
118
|
+
if (major >= 9) {
|
|
119
|
+
return options.tracesSampleRate != null || Boolean(options.tracesSampler);
|
|
120
|
+
}
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* sentryClient reads the options and version of the Sentry client
|
|
125
|
+
* initialised in this process, if any, through the carrier every Sentry
|
|
126
|
+
* copy shares (globalThis.__SENTRY__, one entry per SDK version), without
|
|
127
|
+
* loading Sentry.
|
|
128
|
+
*/
|
|
129
|
+
function sentryClient() {
|
|
130
|
+
try {
|
|
131
|
+
const carrier = globalThis.__SENTRY__;
|
|
132
|
+
if (!carrier || typeof carrier !== 'object') {
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
for (const key of Object.keys(carrier)) {
|
|
136
|
+
const entry = carrier[key];
|
|
137
|
+
if (!entry || typeof entry !== 'object') {
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
const scope = entry.acs?.getCurrentScope?.() ?? entry.defaultCurrentScope;
|
|
141
|
+
const options = scope?.getClient?.()?.getOptions?.();
|
|
142
|
+
if (options && typeof options === 'object') {
|
|
143
|
+
return { options, version: key === 'version' ? '' : key };
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
// an unknown carrier shape: no options the package can read
|
|
149
|
+
}
|
|
150
|
+
return undefined;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* providerRegistered reports whether a tracer provider is registered
|
|
154
|
+
* globally (by another SDK). The API's global is a proxy whose delegate
|
|
155
|
+
* is the registered provider, or the no-op one; a proxy from another
|
|
156
|
+
* copy of the API answers the same way.
|
|
157
|
+
*/
|
|
158
|
+
function providerRegistered() {
|
|
159
|
+
const global = api_1.trace.getTracerProvider();
|
|
160
|
+
const delegate = typeof global.getDelegate === 'function' ? global.getDelegate() : global;
|
|
161
|
+
return !!delegate && delegate.constructor?.name !== 'NoopTracerProvider';
|
|
162
|
+
}
|
|
163
|
+
/** Bounds on reading the application's package.json. */
|
|
164
|
+
const maxPackageJSONBytes = 64 * 1024;
|
|
165
|
+
const maxLevels = 8;
|
|
166
|
+
/**
|
|
167
|
+
* laterTracer matches the packages of a tracer that sets up OpenTelemetry
|
|
168
|
+
* when the application initialises it, after the package could load: the
|
|
169
|
+
* Sentry server SDKs.
|
|
170
|
+
*/
|
|
171
|
+
const laterTracer = /^@sentry\/(node|node-core|hono|nextjs|nestjs|remix|sveltekit|astro|nuxt|solidstart|tanstackstart-react|react-router|bun|aws-serverless|google-cloud-serverless)$/;
|
|
172
|
+
/**
|
|
173
|
+
* tracerDependency names the package of a tracer the application
|
|
174
|
+
* initialises later (laterTracer) that it depends on: the one the nearest
|
|
175
|
+
* package.json above cwd lists (at most eight
|
|
176
|
+
* levels, 64 KiB), else, when no readable package.json lists the
|
|
177
|
+
* application's dependencies (an image of a bundle and its node_modules),
|
|
178
|
+
* a Sentry SDK installed in a node_modules on the way up. undefined when
|
|
179
|
+
* neither.
|
|
180
|
+
*/
|
|
181
|
+
function tracerDependency(cwd) {
|
|
182
|
+
let dir = path.resolve(cwd);
|
|
183
|
+
for (let level = 0; level < maxLevels; level++) {
|
|
184
|
+
const file = path.join(dir, 'package.json');
|
|
185
|
+
try {
|
|
186
|
+
const stat = fs.statSync(file);
|
|
187
|
+
if (stat.isFile() && stat.size <= maxPackageJSONBytes) {
|
|
188
|
+
const pkg = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
189
|
+
let listed = false;
|
|
190
|
+
for (const deps of [pkg.dependencies, pkg.devDependencies]) {
|
|
191
|
+
if (deps && typeof deps === 'object') {
|
|
192
|
+
listed = true;
|
|
193
|
+
const name = Object.keys(deps).find((dep) => laterTracer.test(dep));
|
|
194
|
+
if (name) {
|
|
195
|
+
return name;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
if (listed) {
|
|
200
|
+
return undefined;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
// unreadable or not JSON: keep looking up
|
|
206
|
+
}
|
|
207
|
+
const parent = path.dirname(dir);
|
|
208
|
+
if (parent === dir) {
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
dir = parent;
|
|
212
|
+
}
|
|
213
|
+
return installedSentry(cwd);
|
|
214
|
+
}
|
|
215
|
+
/** installedSentry finds @sentry/node or @sentry/node-core in a node_modules above cwd (no package.json to read). */
|
|
216
|
+
function installedSentry(cwd) {
|
|
217
|
+
let dir = path.resolve(cwd);
|
|
218
|
+
for (let level = 0; level < maxLevels; level++) {
|
|
219
|
+
for (const name of ['@sentry/node', '@sentry/node-core']) {
|
|
220
|
+
try {
|
|
221
|
+
if (fs.statSync(path.join(dir, 'node_modules', name, 'package.json')).isFile()) {
|
|
222
|
+
return name;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
catch {
|
|
226
|
+
// not here
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
const parent = path.dirname(dir);
|
|
230
|
+
if (parent === dir) {
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
dir = parent;
|
|
234
|
+
}
|
|
235
|
+
return undefined;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* UrlSource marks the package's spans beside a Sentry that traces
|
|
239
|
+
* nothing as named after a URL (sentry.source "url"), and keeps them so:
|
|
240
|
+
* Sentry writes the name of a span with any other source into the
|
|
241
|
+
* dynamic sampling context it propagates (sentry-transaction in baggage)
|
|
242
|
+
* and sends with error events. @sentry/hono names the route on the active
|
|
243
|
+
* span as the response goes out (source "route"), so a call made after
|
|
244
|
+
* the response (a payment callback fired in the background) would carry
|
|
245
|
+
* the route; a source another SDK sets is kept aside instead
|
|
246
|
+
* (rootcat.source, read by routeFromHost for http.route). Neither key is
|
|
247
|
+
* exported. Outgoing requests and error events then carry the dynamic
|
|
248
|
+
* sampling context they carried without the package, before, during and
|
|
249
|
+
* after the response.
|
|
250
|
+
*/
|
|
251
|
+
class UrlSource {
|
|
252
|
+
onStart(span) {
|
|
253
|
+
// Every span, not only roots: Sentry takes the context of an outgoing
|
|
254
|
+
// request from the client span, which it treats as a root of its own.
|
|
255
|
+
span.setAttribute(sourceKey, 'url');
|
|
256
|
+
pinSource(span);
|
|
257
|
+
}
|
|
258
|
+
onEnd() { }
|
|
259
|
+
forceFlush() {
|
|
260
|
+
return Promise.resolve();
|
|
261
|
+
}
|
|
262
|
+
shutdown() {
|
|
263
|
+
return Promise.resolve();
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
exports.UrlSource = UrlSource;
|
|
267
|
+
const sourceKey = 'sentry.source';
|
|
268
|
+
/** keptSourceKey holds the source another SDK set on a pinned span. */
|
|
269
|
+
exports.keptSourceKey = 'rootcat.source';
|
|
270
|
+
/** pinSource makes the span's source stay "url", keeping any other aside. */
|
|
271
|
+
function pinSource(span) {
|
|
272
|
+
const setAttribute = span.setAttribute;
|
|
273
|
+
const setAttributes = span.setAttributes;
|
|
274
|
+
span.setAttribute = function (key, value) {
|
|
275
|
+
if (key !== sourceKey) {
|
|
276
|
+
return setAttribute.call(this, key, value);
|
|
277
|
+
}
|
|
278
|
+
if (value !== 'url' && typeof value === 'string') {
|
|
279
|
+
setAttribute.call(this, exports.keptSourceKey, value);
|
|
280
|
+
}
|
|
281
|
+
return this;
|
|
282
|
+
};
|
|
283
|
+
span.setAttributes = function (attributes) {
|
|
284
|
+
if (!attributes || typeof attributes !== 'object' || !(sourceKey in attributes)) {
|
|
285
|
+
return setAttributes.call(this, attributes);
|
|
286
|
+
}
|
|
287
|
+
const rest = { ...attributes };
|
|
288
|
+
const value = rest[sourceKey];
|
|
289
|
+
delete rest[sourceKey];
|
|
290
|
+
if (value !== 'url' && typeof value === 'string') {
|
|
291
|
+
rest[exports.keptSourceKey] = value;
|
|
292
|
+
}
|
|
293
|
+
return setAttributes.call(this, rest);
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
/** hasHeader reports whether an undici request already carries a header. */
|
|
297
|
+
function hasHeader(request, name) {
|
|
298
|
+
const headers = request.headers;
|
|
299
|
+
if (Array.isArray(headers)) {
|
|
300
|
+
for (let i = 0; i < headers.length; i += 2) {
|
|
301
|
+
if (String(headers[i]).toLowerCase() === name) {
|
|
302
|
+
return true;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
return false;
|
|
306
|
+
}
|
|
307
|
+
if (typeof headers === 'string') {
|
|
308
|
+
return new RegExp(`(^|\\r\\n)${name}:`, 'i').test(headers);
|
|
309
|
+
}
|
|
310
|
+
return false;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* propagatedOnce makes an undici instrumentation leave a request's
|
|
314
|
+
* headers alone when Sentry's fetch instrumentation has already propagated
|
|
315
|
+
* (it subscribes to the same channel first, and from the same active
|
|
316
|
+
* span): the instrumentation would otherwise add a second sentry-trace
|
|
317
|
+
* and baggage, which a downstream service reads as one comma-joined
|
|
318
|
+
* value. The span still starts. The instrumentation subscribed to its
|
|
319
|
+
* channels when it was created; it is disabled and enabled again around
|
|
320
|
+
* the change, so the subscriptions take the new handler.
|
|
321
|
+
*/
|
|
322
|
+
function propagatedOnce(instrumentation) {
|
|
323
|
+
const target = instrumentation;
|
|
324
|
+
const original = target.onRequestCreated;
|
|
325
|
+
if (typeof original !== 'function' || typeof target.enable !== 'function' || typeof target.disable !== 'function') {
|
|
326
|
+
return instrumentation;
|
|
327
|
+
}
|
|
328
|
+
target.disable();
|
|
329
|
+
try {
|
|
330
|
+
installOnce(target, original);
|
|
331
|
+
}
|
|
332
|
+
finally {
|
|
333
|
+
target.enable();
|
|
334
|
+
}
|
|
335
|
+
return instrumentation;
|
|
336
|
+
}
|
|
337
|
+
function installOnce(target, original) {
|
|
338
|
+
target.onRequestCreated = function (message) {
|
|
339
|
+
const request = message?.request;
|
|
340
|
+
if (!request || !hasHeader(request, 'sentry-trace')) {
|
|
341
|
+
return original.call(this, message);
|
|
342
|
+
}
|
|
343
|
+
const headers = request.headers;
|
|
344
|
+
const saved = Array.isArray(headers) ? headers.slice() : headers;
|
|
345
|
+
const ownAdd = Object.prototype.hasOwnProperty.call(request, 'addHeader');
|
|
346
|
+
const add = request.addHeader;
|
|
347
|
+
request.addHeader = function () {
|
|
348
|
+
return this;
|
|
349
|
+
};
|
|
350
|
+
try {
|
|
351
|
+
return original.call(this, message);
|
|
352
|
+
}
|
|
353
|
+
finally {
|
|
354
|
+
if (ownAdd) {
|
|
355
|
+
request.addHeader = add;
|
|
356
|
+
}
|
|
357
|
+
else {
|
|
358
|
+
delete request.addHeader;
|
|
359
|
+
}
|
|
360
|
+
if (Array.isArray(saved) && Array.isArray(request.headers)) {
|
|
361
|
+
request.headers.length = 0;
|
|
362
|
+
request.headers.push(...saved);
|
|
363
|
+
}
|
|
364
|
+
else if (typeof saved === 'string') {
|
|
365
|
+
request.headers = saved;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* FlaggedExport hands the spans the package records beside Sentry
|
|
372
|
+
* (recorded, not flagged sampled; see RecordOnlySampler) to an exporting
|
|
373
|
+
* processor as sampled views, which the batch processor exports.
|
|
374
|
+
*/
|
|
375
|
+
class FlaggedExport {
|
|
376
|
+
inner;
|
|
377
|
+
constructor(inner) {
|
|
378
|
+
this.inner = inner;
|
|
379
|
+
}
|
|
380
|
+
onStart(span, parentContext) {
|
|
381
|
+
this.inner.onStart(span, parentContext);
|
|
382
|
+
}
|
|
383
|
+
onEnd(span) {
|
|
384
|
+
// The copy drops the host's keys (sentry.*, the source kept aside) and
|
|
385
|
+
// takes a route it named as http.route; the live span keeps them.
|
|
386
|
+
const attributes = { ...span.attributes };
|
|
387
|
+
(0, processor_js_1.routeFromHost)(span.name, attributes);
|
|
388
|
+
this.inner.onEnd((0, processor_js_1.view)(span, { attributes: attributes }));
|
|
389
|
+
}
|
|
390
|
+
forceFlush() {
|
|
391
|
+
return this.inner.forceFlush();
|
|
392
|
+
}
|
|
393
|
+
shutdown() {
|
|
394
|
+
return this.inner.shutdown();
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
exports.FlaggedExport = FlaggedExport;
|
|
398
|
+
/**
|
|
399
|
+
* InProviderProcessor is the one processor the package puts in Sentry's
|
|
400
|
+
* provider: the read-only call-site processor, and a copy of each span
|
|
401
|
+
* Sentry records (and ROOTCAT_SAMPLE keeps) to the exporting processors,
|
|
402
|
+
* under the package's resource. Sentry's spans are never changed.
|
|
403
|
+
*/
|
|
404
|
+
class InProviderProcessor {
|
|
405
|
+
callSites;
|
|
406
|
+
exporting;
|
|
407
|
+
resource;
|
|
408
|
+
ratio;
|
|
409
|
+
constructor(callSites, exporting, resource, ratio) {
|
|
410
|
+
this.callSites = callSites;
|
|
411
|
+
this.exporting = exporting;
|
|
412
|
+
this.resource = resource;
|
|
413
|
+
this.ratio = ratio;
|
|
414
|
+
}
|
|
415
|
+
/** stopped is set by stop(): the processor then does nothing. */
|
|
416
|
+
stopped = false;
|
|
417
|
+
/**
|
|
418
|
+
* stop makes the processor inert and flushes what it holds: the
|
|
419
|
+
* package stopped (startAlongside() found no tracer to run alongside)
|
|
420
|
+
* after this processor was given to a provider.
|
|
421
|
+
*/
|
|
422
|
+
stop() {
|
|
423
|
+
this.stopped = true;
|
|
424
|
+
void this.shutdown().catch(() => undefined);
|
|
425
|
+
}
|
|
426
|
+
onStart(span, parentContext) {
|
|
427
|
+
if (!this.stopped && keeps(span.spanContext().traceId, this.ratio)) {
|
|
428
|
+
this.callSites.onStart(span, parentContext);
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
onEnd(span) {
|
|
432
|
+
try {
|
|
433
|
+
const spanContext = span.spanContext();
|
|
434
|
+
if (this.stopped || (spanContext.traceFlags & api_1.TraceFlags.SAMPLED) === 0 || !keeps(spanContext.traceId, this.ratio)) {
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
437
|
+
const copy = this.callSites.exportView(span, this.resource);
|
|
438
|
+
for (const processor of this.exporting) {
|
|
439
|
+
processor.onEnd(copy);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
catch {
|
|
443
|
+
// never reaches the app, nor Sentry
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
forceFlush() {
|
|
447
|
+
return Promise.all(this.exporting.map((p) => p.forceFlush())).then(() => undefined);
|
|
448
|
+
}
|
|
449
|
+
shutdown() {
|
|
450
|
+
return Promise.all(this.exporting.map((p) => p.shutdown())).then(() => undefined);
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
exports.InProviderProcessor = InProviderProcessor;
|
|
454
|
+
/**
|
|
455
|
+
* keeps applies ROOTCAT_SAMPLE to a trace Sentry records: the same share
|
|
456
|
+
* of trace ids the OpenTelemetry ratio sampler keeps, so every span of a
|
|
457
|
+
* trace gets the same answer.
|
|
458
|
+
*/
|
|
459
|
+
function keeps(traceId, ratio) {
|
|
460
|
+
if (ratio >= 1) {
|
|
461
|
+
return true;
|
|
462
|
+
}
|
|
463
|
+
if (ratio <= 0) {
|
|
464
|
+
return false;
|
|
465
|
+
}
|
|
466
|
+
const tail = parseInt(traceId.slice(-8), 16);
|
|
467
|
+
return Number.isFinite(tail) && tail / 0xffffffff < ratio;
|
|
468
|
+
}
|
|
469
|
+
/**
|
|
470
|
+
* activeDatabaseSpan is the active span when it is a recorded database
|
|
471
|
+
* span (the one Sentry's postgres.js instrumentation starts just before the
|
|
472
|
+
* query is handled), the span a postgres.js origin belongs to; anything
|
|
473
|
+
* else (a server span, when Sentry skipped the query for want of a
|
|
474
|
+
* parent) is not given the query's site.
|
|
475
|
+
*/
|
|
476
|
+
function activeDatabaseSpan() {
|
|
477
|
+
const span = api_1.trace.getSpan(api_1.context.active());
|
|
478
|
+
if (!span || !span.isRecording()) {
|
|
479
|
+
return undefined;
|
|
480
|
+
}
|
|
481
|
+
const attributes = span.attributes;
|
|
482
|
+
if (!attributes || (attributes['db.system'] === undefined && attributes['db.system.name'] === undefined)) {
|
|
483
|
+
return undefined;
|
|
484
|
+
}
|
|
485
|
+
return span;
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* guardWrappers keeps an instrumentation's hands off another SDK's
|
|
489
|
+
* wrappers. Upstream instrumentations unwrap whatever wrapper they find
|
|
490
|
+
* on a method before wrapping it (meant for their own second enable),
|
|
491
|
+
* which would remove another SDK's: Sentry 8's http instrumentation,
|
|
492
|
+
* behind its request isolation, for one. With the guard the
|
|
493
|
+
* instrumentation only ever unwraps the package's own wrappers, and
|
|
494
|
+
* marks its wrappers as the package's. With keepForeign (beside another
|
|
495
|
+
* SDK) it also leaves alone a method another SDK already wrapped: that
|
|
496
|
+
* SDK's instrumentation stays the only one, and the package records no
|
|
497
|
+
* span there.
|
|
498
|
+
*/
|
|
499
|
+
function guardWrappers(instrumentation, keepForeign) {
|
|
500
|
+
const target = instrumentation;
|
|
501
|
+
const wrap = target._wrap;
|
|
502
|
+
const unwrap = target._unwrap;
|
|
503
|
+
if (typeof wrap !== 'function' || typeof unwrap !== 'function') {
|
|
504
|
+
return instrumentation;
|
|
505
|
+
}
|
|
506
|
+
target._wrap = function (nodule, name, wrapper) {
|
|
507
|
+
const current = nodule?.[name];
|
|
508
|
+
if (keepForeign && (0, instrumentation_1.isWrapped)(current) && !(0, keys_js_1.mine)(current)) {
|
|
509
|
+
return undefined;
|
|
510
|
+
}
|
|
511
|
+
const result = wrap.call(this, nodule, name, wrapper);
|
|
512
|
+
if (nodule && typeof nodule[name] === 'function') {
|
|
513
|
+
(0, keys_js_1.marked)(nodule[name]);
|
|
514
|
+
}
|
|
515
|
+
return result;
|
|
516
|
+
};
|
|
517
|
+
target._unwrap = function (nodule, name) {
|
|
518
|
+
const current = nodule?.[name];
|
|
519
|
+
if ((0, instrumentation_1.isWrapped)(current) && !(0, keys_js_1.mine)(current)) {
|
|
520
|
+
return undefined;
|
|
521
|
+
}
|
|
522
|
+
return unwrap.call(this, nodule, name);
|
|
523
|
+
};
|
|
524
|
+
return instrumentation;
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* packageDir finds an installed package's directory through a require
|
|
528
|
+
* function, whether or not its exports map lists package.json.
|
|
529
|
+
*/
|
|
530
|
+
function packageDir(load, name) {
|
|
531
|
+
try {
|
|
532
|
+
return path.dirname(load.resolve(`${name}/package.json`));
|
|
533
|
+
}
|
|
534
|
+
catch {
|
|
535
|
+
// package.json not exported: walk up from the entry
|
|
536
|
+
}
|
|
537
|
+
try {
|
|
538
|
+
let dir = path.dirname(load.resolve(name));
|
|
539
|
+
for (let level = 0; level < maxLevels; level++) {
|
|
540
|
+
const file = path.join(dir, 'package.json');
|
|
541
|
+
if (fs.existsSync(file) && JSON.parse(fs.readFileSync(file, 'utf8')).name === name) {
|
|
542
|
+
return dir;
|
|
543
|
+
}
|
|
544
|
+
dir = path.dirname(dir);
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
catch {
|
|
548
|
+
// not installed
|
|
549
|
+
}
|
|
550
|
+
return undefined;
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* sentryLoaderShared reports whether the application's Sentry and the
|
|
554
|
+
* package load one import-in-the-middle copy (npm dedupes them; pnpm
|
|
555
|
+
* keeps a copy each). Unknown counts as not shared. It decides how much
|
|
556
|
+
* the package's loader hook may wrap before Sentry.init: registered first,
|
|
557
|
+
* that hook sits inside Sentry's, and a module it marks for itself is
|
|
558
|
+
* then wrapped through its copy alone, so with copies apart Sentry's own
|
|
559
|
+
* instrumentation of that module (postgres.js, pg, with tracing on) would
|
|
560
|
+
* never run.
|
|
561
|
+
*/
|
|
562
|
+
function sentryLoaderShared(cwd) {
|
|
563
|
+
try {
|
|
564
|
+
const app = (0, node_module_1.createRequire)(path.join(path.resolve(cwd), 'package.json'));
|
|
565
|
+
let sentry = packageDir(app, '@sentry/node');
|
|
566
|
+
if (!sentry) {
|
|
567
|
+
for (const sdk of ['@sentry/hono', '@sentry/nextjs', '@sentry/nestjs', '@sentry/node-core']) {
|
|
568
|
+
const dir = packageDir(app, sdk);
|
|
569
|
+
if (dir) {
|
|
570
|
+
sentry = packageDir((0, node_module_1.createRequire)(path.join(fs.realpathSync(dir), 'package.json')), '@sentry/node') ?? dir;
|
|
571
|
+
break;
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
if (!sentry) {
|
|
576
|
+
return false;
|
|
577
|
+
}
|
|
578
|
+
const theirs = packageDir((0, node_module_1.createRequire)(path.join(fs.realpathSync(sentry), 'package.json')), 'import-in-the-middle');
|
|
579
|
+
const instrumentation = path.dirname(require.resolve('@opentelemetry/instrumentation/package.json'));
|
|
580
|
+
const ours = packageDir((0, node_module_1.createRequire)(path.join(instrumentation, 'package.json')), 'import-in-the-middle');
|
|
581
|
+
return theirs !== undefined && ours !== undefined && fs.realpathSync(theirs) === fs.realpathSync(ours);
|
|
582
|
+
}
|
|
583
|
+
catch {
|
|
584
|
+
return false;
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
//# sourceMappingURL=coexist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coexist.js","sourceRoot":"","sources":["../src/coexist.ts"],"names":[],"mappings":"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"}
|
package/dist/drizzle.js
CHANGED
|
@@ -22,7 +22,7 @@ class DrizzleEntryInstrumentation extends instrumentation_1.InstrumentationBase
|
|
|
22
22
|
/** built holds the call site and root decision of every builder constructed. */
|
|
23
23
|
built = new WeakMap();
|
|
24
24
|
constructor(options) {
|
|
25
|
-
super('@rootcat/node/drizzle-entry', '0.
|
|
25
|
+
super('@rootcat/node/drizzle-entry', '0.2.0', options);
|
|
26
26
|
}
|
|
27
27
|
init() {
|
|
28
28
|
// Both loaders name an internal file by its path inside the package:
|
|
@@ -69,6 +69,9 @@ class DrizzleEntryInstrumentation extends instrumentation_1.InstrumentationBase
|
|
|
69
69
|
const Traced = class extends Original {
|
|
70
70
|
constructor(...args) {
|
|
71
71
|
super(...args);
|
|
72
|
+
if (!instrumentation.isEnabled()) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
72
75
|
try {
|
|
73
76
|
const config = instrumentation.getConfig();
|
|
74
77
|
const carried = config.sampling.carry(() => (0, callsite_js_1.captureCallSite)(config.depth, config.isApp, Traced));
|
package/dist/drizzle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drizzle.js","sourceRoot":"","sources":["../src/drizzle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"drizzle.js","sourceRoot":"","sources":["../src/drizzle.ts"],"names":[],"mappings":"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"}
|