@reproapp/node-sdk 0.0.36 → 0.0.37
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/index.js +4 -4
- package/package.json +1 -1
- package/src/index.ts +4 -4
- package/test/client-performance-regression.test.js +21 -3
package/dist/index.js
CHANGED
|
@@ -330,7 +330,7 @@ let disabledFunctionTraceRules = computeDisabledFunctionTraceRules();
|
|
|
330
330
|
let disabledFunctionTypePatterns = [];
|
|
331
331
|
let disabledTraceFilePatterns = [];
|
|
332
332
|
let __TRACE_LOG_PREF = null;
|
|
333
|
-
let __FULL_VALUE_CAPTURE_ENABLED =
|
|
333
|
+
let __FULL_VALUE_CAPTURE_ENABLED = true;
|
|
334
334
|
function setInterceptorTracingEnabled(enabled) {
|
|
335
335
|
const next = !!enabled;
|
|
336
336
|
if (interceptorTracingEnabled === next)
|
|
@@ -581,9 +581,9 @@ function defaultTracerInitOpts() {
|
|
|
581
581
|
/** Call this from the client app to enable tracing. Safe to call multiple times. */
|
|
582
582
|
function initReproTracing(opts) {
|
|
583
583
|
const options = opts ?? {};
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
584
|
+
__FULL_VALUE_CAPTURE_ENABLED = hasOwn(options, 'fullValueCapture')
|
|
585
|
+
? options.fullValueCapture === true
|
|
586
|
+
: true;
|
|
587
587
|
if (hasOwn(options, 'traceInterceptors')) {
|
|
588
588
|
setInterceptorTracingEnabled(!!options.traceInterceptors);
|
|
589
589
|
}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -604,7 +604,7 @@ let disabledFunctionTraceRules: DisableFunctionTraceConfig[] = computeDisabledFu
|
|
|
604
604
|
let disabledFunctionTypePatterns: Array<string | number | RegExp> = [];
|
|
605
605
|
let disabledTraceFilePatterns: Array<string | number | RegExp> = [];
|
|
606
606
|
let __TRACE_LOG_PREF: boolean | null = null;
|
|
607
|
-
let __FULL_VALUE_CAPTURE_ENABLED =
|
|
607
|
+
let __FULL_VALUE_CAPTURE_ENABLED = true;
|
|
608
608
|
|
|
609
609
|
function setInterceptorTracingEnabled(enabled: boolean) {
|
|
610
610
|
const next = !!enabled;
|
|
@@ -929,9 +929,9 @@ function defaultTracerInitOpts(): TracerInitOpts {
|
|
|
929
929
|
export function initReproTracing(opts?: ReproTracingInitOptions) {
|
|
930
930
|
const options = opts ?? {};
|
|
931
931
|
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
932
|
+
__FULL_VALUE_CAPTURE_ENABLED = hasOwn(options, 'fullValueCapture')
|
|
933
|
+
? options.fullValueCapture === true
|
|
934
|
+
: true;
|
|
935
935
|
|
|
936
936
|
if (hasOwn(options, 'traceInterceptors')) {
|
|
937
937
|
setInterceptorTracingEnabled(!!options.traceInterceptors);
|
|
@@ -170,10 +170,28 @@ async function main() {
|
|
|
170
170
|
event?.returnValue,
|
|
171
171
|
);
|
|
172
172
|
assert(largeReturnExit, JSON.stringify(traceEvents));
|
|
173
|
-
assert
|
|
174
|
-
largeReturnExit.returnValue,
|
|
175
|
-
|
|
173
|
+
assert(
|
|
174
|
+
Buffer.byteLength(JSON.stringify(largeReturnExit.returnValue), 'utf8') <= 2048,
|
|
175
|
+
JSON.stringify(largeReturnExit.returnValue),
|
|
176
176
|
);
|
|
177
|
+
assert.equal(
|
|
178
|
+
largeReturnExit.returnValueCapture?.status,
|
|
179
|
+
'stored',
|
|
180
|
+
JSON.stringify(largeReturnExit),
|
|
181
|
+
);
|
|
182
|
+
assert(
|
|
183
|
+
typeof largeReturnExit.returnValueCapture?.valueId === 'string' &&
|
|
184
|
+
largeReturnExit.returnValueCapture.valueId.length > 0,
|
|
185
|
+
JSON.stringify(largeReturnExit),
|
|
186
|
+
);
|
|
187
|
+
const traceValues = eventsOf(capturedBodies, 'trace_batch')
|
|
188
|
+
.flatMap((event) => Array.isArray(event?.payload?.traceValues) ? event.payload.traceValues : []);
|
|
189
|
+
const capturedReturnValue = traceValues.find((entry) =>
|
|
190
|
+
entry?.id === largeReturnExit.returnValueCapture.valueId &&
|
|
191
|
+
entry?.target === 'trace.returnValue'
|
|
192
|
+
);
|
|
193
|
+
assert(capturedReturnValue, JSON.stringify(traceValues));
|
|
194
|
+
assert.equal(capturedReturnValue.value?.rows?.length, 400, JSON.stringify(capturedReturnValue));
|
|
177
195
|
|
|
178
196
|
console.log('client performance regression guards OK');
|
|
179
197
|
} finally {
|