@brizz/sdk 0.1.16 → 0.1.18
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/README.md +15 -1
- package/dist/index.cjs +65 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -2
- package/dist/index.d.ts +8 -2
- package/dist/index.js +65 -4
- package/dist/index.js.map +1 -1
- package/dist/preload.cjs +57 -3
- package/dist/preload.cjs.map +1 -1
- package/dist/preload.js +57 -3
- package/dist/preload.js.map +1 -1
- package/package.json +2 -2
package/dist/preload.js
CHANGED
|
@@ -185,10 +185,12 @@ function resolveConfig(options) {
|
|
|
185
185
|
const resolvedConfig = {
|
|
186
186
|
...options,
|
|
187
187
|
appName: process.env["BRIZZ_APP_NAME"] || options.appName || "unknown-app",
|
|
188
|
+
appVersion: process.env["BRIZZ_APP_VERSION"] || options.appVersion,
|
|
188
189
|
baseUrl: process.env["BRIZZ_BASE_URL"] || options.baseUrl || "https://telemetry.brizz.dev",
|
|
189
190
|
headers: { ...options.headers },
|
|
190
191
|
apiKey: process.env["BRIZZ_API_KEY"] || options.apiKey,
|
|
191
192
|
disableBatch: process.env["BRIZZ_DISABLE_BATCH"] === "true" || !!options.disableBatch,
|
|
193
|
+
disableSpanExporter: process.env["BRIZZ_DISABLE_SPAN_EXPORTER"] === "true" || !!options.disableSpanExporter,
|
|
192
194
|
environment: process.env["BRIZZ_ENVIRONMENT"] || options.environment,
|
|
193
195
|
logLevel: resolvedLogLevel,
|
|
194
196
|
masking: resolvedMasking
|
|
@@ -356,7 +358,7 @@ import {
|
|
|
356
358
|
|
|
357
359
|
// src/internal/version.ts
|
|
358
360
|
function getSDKVersion() {
|
|
359
|
-
return "0.1.
|
|
361
|
+
return "0.1.18";
|
|
360
362
|
}
|
|
361
363
|
|
|
362
364
|
// src/internal/log/processors/log-processor.ts
|
|
@@ -1158,6 +1160,7 @@ var LoggingModule = class _LoggingModule {
|
|
|
1158
1160
|
serviceName: config.appName
|
|
1159
1161
|
});
|
|
1160
1162
|
const resourceAttributes = {
|
|
1163
|
+
...config.resourceAttributes,
|
|
1161
1164
|
"service.name": config.appName,
|
|
1162
1165
|
[BRIZZ_SDK_VERSION]: getSDKVersion(),
|
|
1163
1166
|
[BRIZZ_SDK_LANGUAGE]: SDK_LANGUAGE
|
|
@@ -1165,6 +1168,9 @@ var LoggingModule = class _LoggingModule {
|
|
|
1165
1168
|
if (config.environment) {
|
|
1166
1169
|
resourceAttributes["deployment.environment"] = config.environment;
|
|
1167
1170
|
}
|
|
1171
|
+
if (config.appVersion) {
|
|
1172
|
+
resourceAttributes["service.version"] = config.appVersion;
|
|
1173
|
+
}
|
|
1168
1174
|
const resource = resourceFromAttributes(resourceAttributes);
|
|
1169
1175
|
logger.debug("Creating logger provider with resource");
|
|
1170
1176
|
this.loggerProvider = new LoggerProvider({
|
|
@@ -1348,13 +1354,16 @@ function getMetricsReader() {
|
|
|
1348
1354
|
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-proto";
|
|
1349
1355
|
|
|
1350
1356
|
// src/internal/trace/exporters/span-exporter.ts
|
|
1357
|
+
import { ExportResultCode } from "@opentelemetry/core";
|
|
1351
1358
|
import { resourceFromAttributes as resourceFromAttributes2 } from "@opentelemetry/resources";
|
|
1352
1359
|
var BrizzSpanExporter = class {
|
|
1353
1360
|
_delegate;
|
|
1354
1361
|
_brizzResource;
|
|
1362
|
+
_beforeSendSpan;
|
|
1355
1363
|
constructor(delegate, config) {
|
|
1356
1364
|
this._delegate = delegate;
|
|
1357
1365
|
const resourceAttrs = {
|
|
1366
|
+
...config.resourceAttributes,
|
|
1358
1367
|
"service.name": config.appName,
|
|
1359
1368
|
[BRIZZ_SDK_VERSION]: getSDKVersion(),
|
|
1360
1369
|
[BRIZZ_SDK_LANGUAGE]: SDK_LANGUAGE
|
|
@@ -1362,15 +1371,47 @@ var BrizzSpanExporter = class {
|
|
|
1362
1371
|
if (config.environment) {
|
|
1363
1372
|
resourceAttrs["deployment.environment"] = config.environment;
|
|
1364
1373
|
}
|
|
1374
|
+
if (config.appVersion) {
|
|
1375
|
+
resourceAttrs["service.version"] = config.appVersion;
|
|
1376
|
+
}
|
|
1365
1377
|
this._brizzResource = resourceFromAttributes2(resourceAttrs);
|
|
1378
|
+
this._beforeSendSpan = config.beforeSendSpan;
|
|
1366
1379
|
}
|
|
1367
1380
|
export(spans, resultCallback) {
|
|
1381
|
+
if (spans.length === 0) {
|
|
1382
|
+
resultCallback({ code: ExportResultCode.SUCCESS });
|
|
1383
|
+
return;
|
|
1384
|
+
}
|
|
1368
1385
|
const patchedSpans = spans.map((span) => ({
|
|
1369
1386
|
...span,
|
|
1370
1387
|
resource: span.resource.merge(this._brizzResource),
|
|
1371
1388
|
spanContext: span.spanContext.bind(span)
|
|
1372
1389
|
}));
|
|
1373
|
-
this.
|
|
1390
|
+
const filter = this._beforeSendSpan;
|
|
1391
|
+
if (!filter) {
|
|
1392
|
+
this._delegate.export(patchedSpans, resultCallback);
|
|
1393
|
+
return;
|
|
1394
|
+
}
|
|
1395
|
+
const verdicts = patchedSpans.map((span) => {
|
|
1396
|
+
try {
|
|
1397
|
+
return Promise.resolve(filter(span));
|
|
1398
|
+
} catch (error) {
|
|
1399
|
+
logger.warn("beforeSendSpan threw; span will be kept", { error });
|
|
1400
|
+
return Promise.resolve(true);
|
|
1401
|
+
}
|
|
1402
|
+
});
|
|
1403
|
+
Promise.all(verdicts).then((keep) => {
|
|
1404
|
+
const filtered = patchedSpans.filter((_, i) => keep[i] !== false);
|
|
1405
|
+
if (filtered.length === 0) {
|
|
1406
|
+
resultCallback({ code: ExportResultCode.SUCCESS });
|
|
1407
|
+
return;
|
|
1408
|
+
}
|
|
1409
|
+
this._delegate.export(filtered, resultCallback);
|
|
1410
|
+
return;
|
|
1411
|
+
}).catch((error) => {
|
|
1412
|
+
logger.warn("beforeSendSpan rejected; all spans will be kept", { error });
|
|
1413
|
+
this._delegate.export(patchedSpans, resultCallback);
|
|
1414
|
+
});
|
|
1374
1415
|
}
|
|
1375
1416
|
async shutdown() {
|
|
1376
1417
|
return this._delegate.shutdown();
|
|
@@ -1493,6 +1534,15 @@ var TracingModule = class _TracingModule {
|
|
|
1493
1534
|
*/
|
|
1494
1535
|
setup(config) {
|
|
1495
1536
|
logger.info("Setting up tracing module");
|
|
1537
|
+
if (config.disableSpanExporter) {
|
|
1538
|
+
logger.info(
|
|
1539
|
+
"Span exporter disabled via disableSpanExporter; skipping exporter and processor setup"
|
|
1540
|
+
);
|
|
1541
|
+
this.spanExporter = null;
|
|
1542
|
+
this.spanProcessor = null;
|
|
1543
|
+
_TracingModule.instance = this;
|
|
1544
|
+
return;
|
|
1545
|
+
}
|
|
1496
1546
|
this.initSpanExporter(config);
|
|
1497
1547
|
this.initSpanProcessor(config);
|
|
1498
1548
|
_TracingModule.instance = this;
|
|
@@ -1650,6 +1700,7 @@ var _Brizz = class __Brizz {
|
|
|
1650
1700
|
const registry = InstrumentationRegistry.getInstance();
|
|
1651
1701
|
const manualInstrumentations = registry.getManualInstrumentations();
|
|
1652
1702
|
const resourceAttributes = {
|
|
1703
|
+
...resolvedConfig.resourceAttributes,
|
|
1653
1704
|
"service.name": resolvedConfig.appName,
|
|
1654
1705
|
[BRIZZ_SDK_VERSION]: getSDKVersion(),
|
|
1655
1706
|
[BRIZZ_SDK_LANGUAGE]: SDK_LANGUAGE
|
|
@@ -1657,8 +1708,11 @@ var _Brizz = class __Brizz {
|
|
|
1657
1708
|
if (resolvedConfig.environment) {
|
|
1658
1709
|
resourceAttributes["deployment.environment"] = resolvedConfig.environment;
|
|
1659
1710
|
}
|
|
1711
|
+
if (resolvedConfig.appVersion) {
|
|
1712
|
+
resourceAttributes["service.version"] = resolvedConfig.appVersion;
|
|
1713
|
+
}
|
|
1660
1714
|
this._sdk = new NodeSDK({
|
|
1661
|
-
spanProcessors: [getSpanProcessor()],
|
|
1715
|
+
spanProcessors: resolvedConfig.disableSpanExporter ? [] : [getSpanProcessor()],
|
|
1662
1716
|
metricReader: getMetricsReader(),
|
|
1663
1717
|
resource: resourceFromAttributes3(resourceAttributes),
|
|
1664
1718
|
instrumentations: manualInstrumentations
|