@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/postgresjs.js
CHANGED
|
@@ -21,6 +21,7 @@ exports.PostgresJsInstrumentation = void 0;
|
|
|
21
21
|
const api_1 = require("@opentelemetry/api");
|
|
22
22
|
const instrumentation_1 = require("@opentelemetry/instrumentation");
|
|
23
23
|
const callsite_js_1 = require("./callsite.js");
|
|
24
|
+
const keys_js_1 = require("./keys.js");
|
|
24
25
|
const privacy_js_1 = require("./privacy.js");
|
|
25
26
|
const processor_js_1 = require("./processor.js");
|
|
26
27
|
/** Bounds. */
|
|
@@ -29,14 +30,22 @@ const supportedVersions = ['>=3.0.0 <4'];
|
|
|
29
30
|
const rootcatSpan = Symbol('rootcat.span');
|
|
30
31
|
const rootcatWrapped = Symbol('rootcat.wrapped');
|
|
31
32
|
const rootcatOptions = Symbol('rootcat.options');
|
|
33
|
+
/** ownFactories are the package's wrappers of the postgres() factory. */
|
|
34
|
+
const ownFactories = new WeakSet();
|
|
32
35
|
/** probe is a template that is never executed; it only yields the class. */
|
|
33
36
|
const probe = Object.freeze(Object.assign(['select 1'], { raw: Object.freeze(['select 1']) }));
|
|
34
37
|
class PostgresJsInstrumentation extends instrumentation_1.InstrumentationBase {
|
|
35
38
|
patched = new WeakSet();
|
|
36
39
|
/** origins remembers the parsed call site per template, null for none. */
|
|
37
40
|
origins = new WeakMap();
|
|
41
|
+
/** recording maps a sql function to its site-recording proxy (spans false). */
|
|
42
|
+
recording = new WeakMap();
|
|
43
|
+
/** templateSites remembers the captured call site per template (spans false). */
|
|
44
|
+
templateSites = new WeakMap();
|
|
45
|
+
/** querySites holds the call site captured for a query until it is handled (spans false). */
|
|
46
|
+
querySites = new WeakMap();
|
|
38
47
|
constructor(options) {
|
|
39
|
-
super('@rootcat/node/postgres-js', '0.
|
|
48
|
+
super('@rootcat/node/postgres-js', '0.2.0', options);
|
|
40
49
|
}
|
|
41
50
|
init() {
|
|
42
51
|
return new instrumentation_1.InstrumentationNodeModuleDefinition('postgres', supportedVersions, (moduleExports) => this.patchModule(moduleExports), (moduleExports) => this.unpatchModule(moduleExports));
|
|
@@ -64,6 +73,12 @@ class PostgresJsInstrumentation extends instrumentation_1.InstrumentationBase {
|
|
|
64
73
|
unpatchModule(moduleExports) {
|
|
65
74
|
const ns = moduleExports;
|
|
66
75
|
const wrapped = typeof ns === 'function' ? ns : ns?.default;
|
|
76
|
+
// Only the package's own wrapper is taken off: another SDK's wrapper
|
|
77
|
+
// of it (Sentry's Proxy forwards the symbol below) stays, and the
|
|
78
|
+
// package's inside it passes through once disabled.
|
|
79
|
+
if (!ownFactories.has(wrapped)) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
67
82
|
const original = wrapped?.[rootcatWrapped];
|
|
68
83
|
if (original && typeof ns !== 'function' && ns) {
|
|
69
84
|
ns.default = original;
|
|
@@ -77,8 +92,14 @@ class PostgresJsInstrumentation extends instrumentation_1.InstrumentationBase {
|
|
|
77
92
|
const instrumentation = this;
|
|
78
93
|
const wrapper = function postgres(...args) {
|
|
79
94
|
const sql = original.apply(this, args);
|
|
95
|
+
if (!instrumentation.isEnabled()) {
|
|
96
|
+
return sql;
|
|
97
|
+
}
|
|
80
98
|
try {
|
|
81
99
|
instrumentation.patchQueryClass(sql);
|
|
100
|
+
if (instrumentation.getConfig().spans === false) {
|
|
101
|
+
return instrumentation.siteRecording(sql);
|
|
102
|
+
}
|
|
82
103
|
}
|
|
83
104
|
catch {
|
|
84
105
|
// the driver works untraced
|
|
@@ -88,8 +109,91 @@ class PostgresJsInstrumentation extends instrumentation_1.InstrumentationBase {
|
|
|
88
109
|
Object.assign(wrapper, original);
|
|
89
110
|
Object.setPrototypeOf(wrapper, Object.getPrototypeOf(original));
|
|
90
111
|
wrapper[rootcatWrapped] = original;
|
|
112
|
+
ownFactories.add(wrapper);
|
|
91
113
|
return wrapper;
|
|
92
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* siteRecording is the sql function as the application gets it when
|
|
117
|
+
* another SDK (Sentry) spans the queries: the driver's own origin then
|
|
118
|
+
* cannot name the application, as it keeps four frames and Sentry's
|
|
119
|
+
* wrapper of the sql function takes the last one. The call site is
|
|
120
|
+
* captured here instead, where the application calls: once per tagged
|
|
121
|
+
* template (a template is one place in the source, as the driver's own
|
|
122
|
+
* origin cache assumes), and per unsafe() call unless an outer layer
|
|
123
|
+
* (Drizzle) already carries one; queries inside sql.begin() get the
|
|
124
|
+
* same treatment through the transaction's sql function.
|
|
125
|
+
*/
|
|
126
|
+
siteRecording(sql) {
|
|
127
|
+
const instrumentation = this;
|
|
128
|
+
const known = this.recording.get(sql);
|
|
129
|
+
if (known) {
|
|
130
|
+
return known;
|
|
131
|
+
}
|
|
132
|
+
const unsafe = function unsafe(...args) {
|
|
133
|
+
const query = sql.unsafe(...args);
|
|
134
|
+
try {
|
|
135
|
+
const config = instrumentation.getConfig();
|
|
136
|
+
if (query && typeof query === 'object' && api_1.context.active().getValue(keys_js_1.callSiteContextKey) === undefined && config.sampling.take()) {
|
|
137
|
+
const site = (0, callsite_js_1.captureCallSite)(callsite_js_1.defaultDepth, callsite_js_1.isAppFile, unsafe);
|
|
138
|
+
if (site) {
|
|
139
|
+
instrumentation.querySites.set(query, site);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
// the query runs without a site
|
|
145
|
+
}
|
|
146
|
+
return query;
|
|
147
|
+
};
|
|
148
|
+
const begin = function begin(...args) {
|
|
149
|
+
const last = args.length - 1;
|
|
150
|
+
const callback = args[last];
|
|
151
|
+
if (typeof callback === 'function') {
|
|
152
|
+
args[last] = function (scoped) {
|
|
153
|
+
return callback.call(this, typeof scoped === 'function' ? instrumentation.siteRecording(scoped) : scoped);
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
return sql.begin(...args);
|
|
157
|
+
};
|
|
158
|
+
const handler = {
|
|
159
|
+
// The trap is the frame a capture starts below.
|
|
160
|
+
apply: function apply(target, thisArg, args) {
|
|
161
|
+
const query = Reflect.apply(target, thisArg, args);
|
|
162
|
+
if (!instrumentation.isEnabled()) {
|
|
163
|
+
return query;
|
|
164
|
+
}
|
|
165
|
+
try {
|
|
166
|
+
const strings = args[0];
|
|
167
|
+
if (query && typeof query === 'object' && Array.isArray(strings) && Array.isArray(strings.raw)) {
|
|
168
|
+
let site = instrumentation.templateSites.get(strings);
|
|
169
|
+
if (site === undefined && instrumentation.getConfig().sampling.on) {
|
|
170
|
+
site = (0, callsite_js_1.captureCallSite)(callsite_js_1.defaultDepth, callsite_js_1.isAppFile, handler.apply) ?? null;
|
|
171
|
+
instrumentation.templateSites.set(strings, site);
|
|
172
|
+
}
|
|
173
|
+
if (site) {
|
|
174
|
+
instrumentation.querySites.set(query, site);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
// the query runs without a site
|
|
180
|
+
}
|
|
181
|
+
return query;
|
|
182
|
+
},
|
|
183
|
+
get(target, property, receiver) {
|
|
184
|
+
if (property === 'unsafe' && typeof target.unsafe === 'function') {
|
|
185
|
+
return unsafe;
|
|
186
|
+
}
|
|
187
|
+
if (property === 'begin' && typeof target.begin === 'function') {
|
|
188
|
+
return begin;
|
|
189
|
+
}
|
|
190
|
+
return Reflect.get(target, property, receiver);
|
|
191
|
+
},
|
|
192
|
+
};
|
|
193
|
+
const proxy = new Proxy(sql, handler);
|
|
194
|
+
this.recording.set(sql, proxy);
|
|
195
|
+
return proxy;
|
|
196
|
+
}
|
|
93
197
|
/** patchQueryClass finds Query.prototype through an unexecuted query. */
|
|
94
198
|
patchQueryClass(sql) {
|
|
95
199
|
if (typeof sql !== 'function') {
|
|
@@ -112,15 +216,39 @@ class PostgresJsInstrumentation extends instrumentation_1.InstrumentationBase {
|
|
|
112
216
|
return;
|
|
113
217
|
}
|
|
114
218
|
this.patched.add(proto);
|
|
115
|
-
if ((0, instrumentation_1.isWrapped)(proto.handle)) {
|
|
219
|
+
if ((0, instrumentation_1.isWrapped)(proto.handle) && (0, keys_js_1.mine)(proto.handle)) {
|
|
116
220
|
this._unwrap(proto, 'handle');
|
|
117
221
|
}
|
|
222
|
+
const before = proto.handle;
|
|
118
223
|
this._wrap(proto, 'handle', this.wrapHandle);
|
|
224
|
+
if (proto.handle !== before) {
|
|
225
|
+
(0, keys_js_1.marked)(proto.handle); // not when a guard kept another SDK's wrapper
|
|
226
|
+
}
|
|
119
227
|
}
|
|
120
228
|
wrapHandle = (original) => {
|
|
121
229
|
const instrumentation = this;
|
|
122
230
|
return function handle(...args) {
|
|
123
|
-
if (this.executed || this[rootcatSpan]) {
|
|
231
|
+
if (this.executed || this[rootcatSpan] || !instrumentation.isEnabled()) {
|
|
232
|
+
return original.apply(this, args);
|
|
233
|
+
}
|
|
234
|
+
if (typeof this.canceller !== 'function') {
|
|
235
|
+
// The driver's own queries on a new connection (the array type
|
|
236
|
+
// lookup, the read-only check) have no canceller: they are part
|
|
237
|
+
// of connecting, like the handshake, and are not traced (they
|
|
238
|
+
// would show as a second span for the query that opened it).
|
|
239
|
+
return original.apply(this, args);
|
|
240
|
+
}
|
|
241
|
+
const config = instrumentation.getConfig();
|
|
242
|
+
if (config.spans === false) {
|
|
243
|
+
try {
|
|
244
|
+
const site = instrumentation.querySites.get(this) ?? (config.sampling.on ? instrumentation.originSite(this) : undefined);
|
|
245
|
+
if (site) {
|
|
246
|
+
config.onSite?.(site);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
catch {
|
|
250
|
+
// the query runs without a site
|
|
251
|
+
}
|
|
124
252
|
return original.apply(this, args);
|
|
125
253
|
}
|
|
126
254
|
let span;
|
package/dist/postgresjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresjs.js","sourceRoot":"","sources":["../src/postgresjs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"postgresjs.js","sourceRoot":"","sources":["../src/postgresjs.ts"],"names":[],"mappings":"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"}
|
package/dist/privacy.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import type { Attributes } from '@opentelemetry/api';
|
|
|
2
2
|
/** StatementMode is what query text keeps: its shape with literals masked, or its first keyword. */
|
|
3
3
|
export type StatementMode = 'masked' | 'off';
|
|
4
4
|
/** urlKeys hold a URL or path whose query, fragment and opaque segments are cut. */
|
|
5
|
-
export declare const urlKeys: readonly ["http.url", "url.full", "http.target", "url.path"];
|
|
6
|
-
/** clearedKeys hold a query string, a client's address or a user agent; they are emptied. */
|
|
7
|
-
export declare const clearedKeys: readonly ["url.query", "http.client_ip", "client.address", "net.peer.ip", "net.sock.peer.addr", "network.peer.address", "user_agent.original", "http.user_agent"];
|
|
5
|
+
export declare const urlKeys: readonly ["http.url", "url.full", "http.target", "url.path", "url"];
|
|
6
|
+
/** clearedKeys hold a query string, a connection string, a client's address or a user agent; they are emptied. */
|
|
7
|
+
export declare const clearedKeys: readonly ["url.query", "url.fragment", "http.query", "db.connection_string", "http.client_ip", "client.address", "net.peer.ip", "net.sock.peer.addr", "network.peer.address", "user_agent.original", "http.user_agent"];
|
|
8
8
|
/** maxStatementLength bounds the text the masker reads. */
|
|
9
9
|
export declare const maxStatementLength = 4096;
|
|
10
10
|
/** statementKeys hold query text. */
|
package/dist/privacy.js
CHANGED
|
@@ -8,10 +8,13 @@ exports.statementKeyword = statementKeyword;
|
|
|
8
8
|
exports.maskLiterals = maskLiterals;
|
|
9
9
|
exports.scrubbed = scrubbed;
|
|
10
10
|
/** urlKeys hold a URL or path whose query, fragment and opaque segments are cut. */
|
|
11
|
-
exports.urlKeys = ['http.url', 'url.full', 'http.target', 'url.path'];
|
|
12
|
-
/** clearedKeys hold a query string, a client's address or a user agent; they are emptied. */
|
|
11
|
+
exports.urlKeys = ['http.url', 'url.full', 'http.target', 'url.path', 'url'];
|
|
12
|
+
/** clearedKeys hold a query string, a connection string, a client's address or a user agent; they are emptied. */
|
|
13
13
|
exports.clearedKeys = [
|
|
14
14
|
'url.query',
|
|
15
|
+
'url.fragment',
|
|
16
|
+
'http.query',
|
|
17
|
+
'db.connection_string',
|
|
15
18
|
'http.client_ip',
|
|
16
19
|
'client.address',
|
|
17
20
|
'net.peer.ip',
|
|
@@ -130,8 +133,19 @@ function scrubbed(attributes, statement) {
|
|
|
130
133
|
set(key, '');
|
|
131
134
|
}
|
|
132
135
|
}
|
|
136
|
+
const redis = attributes['db.system'] === 'redis' || attributes['db.system.name'] === 'redis';
|
|
133
137
|
for (const key of exports.statementKeys) {
|
|
134
138
|
const value = attributes[key];
|
|
139
|
+
if (typeof value === 'string' && value !== '' && redis) {
|
|
140
|
+
// A Redis statement is its command and the argument count (the
|
|
141
|
+
// package's own serializer); one written by another SDK (Sentry's
|
|
142
|
+
// "get user:42:session") keeps only the command: keys name users.
|
|
143
|
+
const kept = /^\S+( \[\d+ args\])?$/.test(value) ? value : value.split(' ', 1)[0].slice(0, 64);
|
|
144
|
+
if (kept !== value) {
|
|
145
|
+
set(key, kept);
|
|
146
|
+
}
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
135
149
|
if (typeof value === 'string' && value !== '') {
|
|
136
150
|
// The span limits bound attribute values; the masker never runs over
|
|
137
151
|
// more than that, whatever set the attribute.
|
package/dist/privacy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"privacy.js","sourceRoot":"","sources":["../src/privacy.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"privacy.js","sourceRoot":"","sources":["../src/privacy.ts"],"names":[],"mappings":"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"}
|
package/dist/processor.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type Context } from '@opentelemetry/api';
|
|
1
|
+
import { type Attributes, type Context, type Span as ApiSpan, type SpanStatus } from '@opentelemetry/api';
|
|
2
|
+
import type { Resource } from '@opentelemetry/resources';
|
|
2
3
|
import type { ReadableSpan, Span, SpanProcessor } from '@opentelemetry/sdk-trace-base';
|
|
3
4
|
import { type CallSiteLocation } from './callsite.js';
|
|
4
5
|
import { type StatementMode } from './privacy.js';
|
|
@@ -24,7 +25,7 @@ export declare class CallSiteSampling {
|
|
|
24
25
|
/**
|
|
25
26
|
* carry is what an entry wrapper calls before the operation it wraps:
|
|
26
27
|
* it returns the context to run the operation in, or undefined to run
|
|
27
|
-
* it as it is. Under an
|
|
28
|
+
* it as it is. Under an unrecorded span nothing happens. Outside any
|
|
28
29
|
* span with a ratio below 1, the trace decision is made here (the
|
|
29
30
|
* sampler follows it), and an unsampled operation captures nothing. A
|
|
30
31
|
* site already carried by an outer layer of the same operation stands,
|
|
@@ -34,9 +35,40 @@ export declare class CallSiteSampling {
|
|
|
34
35
|
*/
|
|
35
36
|
carry(capture: () => CallSiteLocation | undefined, override?: boolean): Context | undefined;
|
|
36
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* recorded reports whether a span in this process is part of a recorded
|
|
40
|
+
* trace: it is recording (beside an errors-only Sentry the package
|
|
41
|
+
* records spans without the sampled flag, see RecordOnlySampler), or it
|
|
42
|
+
* carries the flag (a span context an application wrapped itself, to
|
|
43
|
+
* continue a trace from a queued job).
|
|
44
|
+
*/
|
|
45
|
+
export declare function recorded(span: ApiSpan): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* droppedMark is the trace-state key on the spans the package itself
|
|
48
|
+
* decided not to record beside Sentry (see RecordOnlySampler), so they
|
|
49
|
+
* can be told from another SDK's unrecorded spans.
|
|
50
|
+
*/
|
|
51
|
+
export declare const droppedMark = "rootcat";
|
|
52
|
+
/**
|
|
53
|
+
* parentPolicy says how an unrecorded parent from another SDK counts.
|
|
54
|
+
* Beside an errors-only Sentry every span on Sentry's provider is
|
|
55
|
+
* unrecorded (Next.js starts its own through it), and the package's spans
|
|
56
|
+
* below one must not be lost: such a parent is passed through, as if the
|
|
57
|
+
* span had none, and the trace ratio decides on its trace id. Set once,
|
|
58
|
+
* when the package starts beside Sentry.
|
|
59
|
+
*/
|
|
60
|
+
export declare const parentPolicy: {
|
|
61
|
+
transparentForeign: boolean;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* localParent is the span in ctx when it was started in this process
|
|
65
|
+
* (not a parent from an incoming header), and counts as one (see
|
|
66
|
+
* parentPolicy).
|
|
67
|
+
*/
|
|
68
|
+
export declare function localParent(ctx: Context): ApiSpan | undefined;
|
|
37
69
|
/**
|
|
38
70
|
* unsampled reports whether a span started under ctx would not be
|
|
39
|
-
* recorded (an
|
|
71
|
+
* recorded (an unrecorded parent, or a root an entry wrapper decided
|
|
40
72
|
* against): the drivers then run untouched, without even a
|
|
41
73
|
* non-recording span or a context of their own.
|
|
42
74
|
*/
|
|
@@ -58,6 +90,21 @@ export interface CallSiteProcessorOptions {
|
|
|
58
90
|
* SDK tracer's startSpan), so the walk skips the SDK's own frames.
|
|
59
91
|
*/
|
|
60
92
|
above?: Function;
|
|
93
|
+
/**
|
|
94
|
+
* readOnly leaves the spans as they are: the processor sits in another
|
|
95
|
+
* SDK's provider, which sends those spans on. The call site and the
|
|
96
|
+
* privacy rules then apply only to the copy the package exports
|
|
97
|
+
* (exportView).
|
|
98
|
+
*/
|
|
99
|
+
readOnly?: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* keepHostKeys leaves another SDK's keys (sentry.*) on the live span
|
|
102
|
+
* at its end: beside Sentry, Sentry reads an ended span still active in
|
|
103
|
+
* a request's context (a call made after the response), and its source
|
|
104
|
+
* must stay what UrlSource pinned. The exported copy drops them (see
|
|
105
|
+
* FlaggedExport).
|
|
106
|
+
*/
|
|
107
|
+
keepHostKeys?: boolean;
|
|
61
108
|
}
|
|
62
109
|
/** Attribute keys written. */
|
|
63
110
|
export declare const codeFilepath = "code.filepath";
|
|
@@ -67,8 +114,15 @@ export declare const codeFunction = "code.function";
|
|
|
67
114
|
* eligible reports whether a span is a client operation worth a call
|
|
68
115
|
* site: client and producer spans, anything carrying db.system, and the
|
|
69
116
|
* operation spans of the ORMs that start their work in application code.
|
|
117
|
+
* A processor runs for recorded spans only, so every span here exports.
|
|
70
118
|
*/
|
|
71
119
|
export declare function eligible(span: ReadableSpan): boolean;
|
|
120
|
+
/**
|
|
121
|
+
* clientOperationByOp reports whether a Sentry span is a client
|
|
122
|
+
* operation by its op, the one attribute Sentry sets when it starts a
|
|
123
|
+
* span (its postgres.js span gets db.system.name only after the start).
|
|
124
|
+
*/
|
|
125
|
+
export declare function clientOperationByOp(span: ReadableSpan): boolean;
|
|
72
126
|
/** CallSiteProcessor implements SpanProcessor. */
|
|
73
127
|
export declare class CallSiteProcessor implements SpanProcessor {
|
|
74
128
|
readonly sampling: CallSiteSampling;
|
|
@@ -77,10 +131,20 @@ export declare class CallSiteProcessor implements SpanProcessor {
|
|
|
77
131
|
private readonly isApp;
|
|
78
132
|
/** above is where a processor capture starts (the SDK tracer startSpan); set once the provider exists. */
|
|
79
133
|
above: Function | undefined;
|
|
134
|
+
readonly readOnly: boolean;
|
|
135
|
+
private readonly keepHostKeys;
|
|
80
136
|
private readonly sites;
|
|
81
137
|
/** captured counts spans given a call site (tests and the benchmark). */
|
|
82
138
|
captured: number;
|
|
83
139
|
constructor(options: CallSiteProcessorOptions);
|
|
140
|
+
/**
|
|
141
|
+
* assign gives a started span a call site found after its start (a
|
|
142
|
+
* driver's own origin, read once another SDK's span exists); it
|
|
143
|
+
* replaces any the processor found at the start.
|
|
144
|
+
*/
|
|
145
|
+
assign(span: object, site: CallSiteLocation): void;
|
|
146
|
+
/** siteOf is the call site the processor holds for a span. */
|
|
147
|
+
siteOf(span: object): CallSiteLocation | undefined;
|
|
84
148
|
onStart(span: Span, parentContext: Context): void;
|
|
85
149
|
/**
|
|
86
150
|
* locate takes a site already carried in the context or by the parent
|
|
@@ -89,6 +153,45 @@ export declare class CallSiteProcessor implements SpanProcessor {
|
|
|
89
153
|
*/
|
|
90
154
|
private locate;
|
|
91
155
|
onEnd(span: ReadableSpan): void;
|
|
156
|
+
/**
|
|
157
|
+
* exportView is the span as the package exports it from a read-only
|
|
158
|
+
* processor: a copy of its attributes, events and status with the
|
|
159
|
+
* privacy rules and the call site applied, under the package's
|
|
160
|
+
* resource. The span itself is not touched.
|
|
161
|
+
*/
|
|
162
|
+
exportView(span: ReadableSpan, resource?: Resource): ReadableSpan;
|
|
163
|
+
/** statementName is a statement-shaped span name under the statement rule. */
|
|
164
|
+
private statementName;
|
|
92
165
|
shutdown(): Promise<void>;
|
|
93
166
|
forceFlush(): Promise<void>;
|
|
94
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* routeFromHost drops the keys never exported and turns what a Sentry
|
|
170
|
+
* framework instrumentation wrote on the active span into the package's own
|
|
171
|
+
* vocabulary. @sentry/hono renames the server span to "GET /users/:id"
|
|
172
|
+
* once the route is known (sentry.source "route"): the template becomes
|
|
173
|
+
* http.route.
|
|
174
|
+
*/
|
|
175
|
+
export declare function routeFromHost(name: string, attributes: Record<string, unknown>): unknown;
|
|
176
|
+
/**
|
|
177
|
+
* exportedName is the name a span is exported under. Another SDK's HTTP
|
|
178
|
+
* span is named by the method and the path or URL it served or called
|
|
179
|
+
* (Sentry's: "GET /reset/3f9c...", "GET https://api.example.com/u/42"):
|
|
180
|
+
* the target is masked as an attribute URL is, unless the name is a
|
|
181
|
+
* route template a framework set (sentry.source "route").
|
|
182
|
+
*/
|
|
183
|
+
export declare function exportedName(name: string, source: unknown): string;
|
|
184
|
+
/** Overrides is what a view replaces; the rest reads through to the span. */
|
|
185
|
+
interface Overrides {
|
|
186
|
+
name?: string;
|
|
187
|
+
attributes?: Attributes;
|
|
188
|
+
events?: ReadableSpan['events'];
|
|
189
|
+
status?: SpanStatus;
|
|
190
|
+
resource?: Resource;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* view is a ReadableSpan with the span's fields except the given ones,
|
|
194
|
+
* and always flagged sampled: the package exports only spans it chose to
|
|
195
|
+
* record, whatever flag they carry inside the process.
|
|
196
|
+
*/
|
|
197
|
+
export declare function view(span: ReadableSpan, overrides?: Overrides): ReadableSpan;
|