@softprobe/softprobe-js 2.0.6 → 2.0.7
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/dist/instrumentations/common/utils/callback.d.ts +8 -0
- package/dist/instrumentations/common/utils/callback.d.ts.map +1 -0
- package/dist/instrumentations/common/utils/callback.js +16 -0
- package/dist/instrumentations/common/utils/callback.js.map +1 -0
- package/dist/instrumentations/postgres/replay.d.ts.map +1 -1
- package/dist/instrumentations/postgres/replay.js +3 -2
- package/dist/instrumentations/postgres/replay.js.map +1 -1
- package/dist/instrumentations/redis/replay.d.ts.map +1 -1
- package/dist/instrumentations/redis/replay.js +3 -2
- package/dist/instrumentations/redis/replay.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Settles an asynchronous callback with a value.
|
|
3
|
+
* @param args - The arguments array.
|
|
4
|
+
* @param value - The value to settle with.
|
|
5
|
+
* @returns A promise that resolves with the value.
|
|
6
|
+
*/
|
|
7
|
+
export declare function settleAsync(args: unknown[], value?: unknown): Promise<unknown>;
|
|
8
|
+
//# sourceMappingURL=callback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../../../src/instrumentations/common/utils/callback.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,GAAE,OAAmB,oBAI1E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.settleAsync = settleAsync;
|
|
4
|
+
/**
|
|
5
|
+
* Settles an asynchronous callback with a value.
|
|
6
|
+
* @param args - The arguments array.
|
|
7
|
+
* @param value - The value to settle with.
|
|
8
|
+
* @returns A promise that resolves with the value.
|
|
9
|
+
*/
|
|
10
|
+
async function settleAsync(args, value = undefined) {
|
|
11
|
+
const cb = typeof args[args.length - 1] === 'function' ? args[args.length - 1] : undefined;
|
|
12
|
+
if (cb)
|
|
13
|
+
process.nextTick(() => cb(null, value));
|
|
14
|
+
return Promise.resolve(value);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=callback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callback.js","sourceRoot":"","sources":["../../../../src/instrumentations/common/utils/callback.ts"],"names":[],"mappings":";;AAMA,kCAIG;AAVH;;;;;GAKG;AACI,KAAK,UAAU,WAAW,CAAC,IAAe,EAAE,QAAiB,SAAS;IACzE,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,IAAI,EAAE;QAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAE,EAAkD,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACjG,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/postgres/replay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/postgres/replay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE;IAAE,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,GAAG,IAAI,CAuIhG;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAQ1C"}
|
|
@@ -14,6 +14,7 @@ const shimmer_1 = __importDefault(require("shimmer"));
|
|
|
14
14
|
const api_1 = require("@opentelemetry/api");
|
|
15
15
|
const context_1 = require("../../context");
|
|
16
16
|
const postgres_span_1 = require("../../core/bindings/postgres-span");
|
|
17
|
+
const callback_1 = require("../common/utils/callback");
|
|
17
18
|
const SOFTPROBE_WRAPPED_MARKER = '__softprobeWrapped';
|
|
18
19
|
/**
|
|
19
20
|
* Patches a pg module so connect is no-op and query uses matcher. Idempotent.
|
|
@@ -32,7 +33,7 @@ function applyPostgresReplay(pg) {
|
|
|
32
33
|
// replacing it. Call chain: OTel wrapper → our wrapper → original connect.
|
|
33
34
|
const patchedConnect = function wrappedConnect(...args) {
|
|
34
35
|
if (context_1.SoftprobeContext.getMode() === 'REPLAY')
|
|
35
|
-
return
|
|
36
|
+
return (0, callback_1.settleAsync)(args);
|
|
36
37
|
return origConnect.apply(this, args);
|
|
37
38
|
};
|
|
38
39
|
patchedConnect.__softprobeConnect = true;
|
|
@@ -49,7 +50,7 @@ function applyPostgresReplay(pg) {
|
|
|
49
50
|
if (typeof pg.Client.prototype[endKey] === 'function' && !existingEnd?.__softprobeEndNoop) {
|
|
50
51
|
shimmer_1.default.wrap(pg.Client.prototype, endKey, (originalEnd) => function wrappedEnd(...args) {
|
|
51
52
|
if (context_1.SoftprobeContext.getMode() === 'REPLAY')
|
|
52
|
-
return
|
|
53
|
+
return (0, callback_1.settleAsync)(args);
|
|
53
54
|
return originalEnd.apply(this, args);
|
|
54
55
|
});
|
|
55
56
|
pg.Client.prototype[endKey].__softprobeEndNoop = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/instrumentations/postgres/replay.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;
|
|
1
|
+
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/instrumentations/postgres/replay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/redis/replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/redis/replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoBH;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CA+HvC;AAgCD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAgBrE"}
|
|
@@ -18,6 +18,7 @@ const api_1 = require("@opentelemetry/api");
|
|
|
18
18
|
const shimmer_1 = __importDefault(require("shimmer"));
|
|
19
19
|
const redis_span_1 = require("../../core/bindings/redis-span");
|
|
20
20
|
const context_1 = require("../../context");
|
|
21
|
+
const callback_1 = require("../common/utils/callback");
|
|
21
22
|
/**
|
|
22
23
|
* Builds the same identifier string as the Redis capture hook (capture/redis.ts):
|
|
23
24
|
* command name (uppercase) plus args joined by space.
|
|
@@ -135,13 +136,13 @@ function applyInstanceNoops(client) {
|
|
|
135
136
|
const orig = client.connect;
|
|
136
137
|
client.connect = function (...args) {
|
|
137
138
|
if (context_1.SoftprobeContext.getMode() === 'REPLAY')
|
|
138
|
-
return
|
|
139
|
+
return (0, callback_1.settleAsync)(args);
|
|
139
140
|
return orig.apply(this, args);
|
|
140
141
|
};
|
|
141
142
|
}
|
|
142
143
|
const noopQuitFn = (orig) => function (...args) {
|
|
143
144
|
if (context_1.SoftprobeContext.getMode() === 'REPLAY')
|
|
144
|
-
return
|
|
145
|
+
return (0, callback_1.settleAsync)(args, 'OK');
|
|
145
146
|
return orig.apply(this, args);
|
|
146
147
|
};
|
|
147
148
|
if (typeof client.quit === 'function')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/instrumentations/redis/replay.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;
|
|
1
|
+
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/instrumentations/redis/replay.ts"],"names":[],"mappings":"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"}
|