@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.cjs
CHANGED
|
@@ -202,10 +202,12 @@ function resolveConfig(options) {
|
|
|
202
202
|
const resolvedConfig = {
|
|
203
203
|
...options,
|
|
204
204
|
appName: process.env["BRIZZ_APP_NAME"] || options.appName || "unknown-app",
|
|
205
|
+
appVersion: process.env["BRIZZ_APP_VERSION"] || options.appVersion,
|
|
205
206
|
baseUrl: process.env["BRIZZ_BASE_URL"] || options.baseUrl || "https://telemetry.brizz.dev",
|
|
206
207
|
headers: { ...options.headers },
|
|
207
208
|
apiKey: process.env["BRIZZ_API_KEY"] || options.apiKey,
|
|
208
209
|
disableBatch: process.env["BRIZZ_DISABLE_BATCH"] === "true" || !!options.disableBatch,
|
|
210
|
+
disableSpanExporter: process.env["BRIZZ_DISABLE_SPAN_EXPORTER"] === "true" || !!options.disableSpanExporter,
|
|
209
211
|
environment: process.env["BRIZZ_ENVIRONMENT"] || options.environment,
|
|
210
212
|
logLevel: resolvedLogLevel,
|
|
211
213
|
masking: resolvedMasking
|
|
@@ -371,7 +373,7 @@ var import_sdk_logs2 = require("@opentelemetry/sdk-logs");
|
|
|
371
373
|
|
|
372
374
|
// src/internal/version.ts
|
|
373
375
|
function getSDKVersion() {
|
|
374
|
-
return "0.1.
|
|
376
|
+
return "0.1.18";
|
|
375
377
|
}
|
|
376
378
|
|
|
377
379
|
// src/internal/log/processors/log-processor.ts
|
|
@@ -1173,6 +1175,7 @@ var LoggingModule = class _LoggingModule {
|
|
|
1173
1175
|
serviceName: config.appName
|
|
1174
1176
|
});
|
|
1175
1177
|
const resourceAttributes = {
|
|
1178
|
+
...config.resourceAttributes,
|
|
1176
1179
|
"service.name": config.appName,
|
|
1177
1180
|
[BRIZZ_SDK_VERSION]: getSDKVersion(),
|
|
1178
1181
|
[BRIZZ_SDK_LANGUAGE]: SDK_LANGUAGE
|
|
@@ -1180,6 +1183,9 @@ var LoggingModule = class _LoggingModule {
|
|
|
1180
1183
|
if (config.environment) {
|
|
1181
1184
|
resourceAttributes["deployment.environment"] = config.environment;
|
|
1182
1185
|
}
|
|
1186
|
+
if (config.appVersion) {
|
|
1187
|
+
resourceAttributes["service.version"] = config.appVersion;
|
|
1188
|
+
}
|
|
1183
1189
|
const resource = (0, import_resources.resourceFromAttributes)(resourceAttributes);
|
|
1184
1190
|
logger.debug("Creating logger provider with resource");
|
|
1185
1191
|
this.loggerProvider = new import_sdk_logs2.LoggerProvider({
|
|
@@ -1363,13 +1369,16 @@ function getMetricsReader() {
|
|
|
1363
1369
|
var import_exporter_trace_otlp_proto = require("@opentelemetry/exporter-trace-otlp-proto");
|
|
1364
1370
|
|
|
1365
1371
|
// src/internal/trace/exporters/span-exporter.ts
|
|
1372
|
+
var import_core = require("@opentelemetry/core");
|
|
1366
1373
|
var import_resources2 = require("@opentelemetry/resources");
|
|
1367
1374
|
var BrizzSpanExporter = class {
|
|
1368
1375
|
_delegate;
|
|
1369
1376
|
_brizzResource;
|
|
1377
|
+
_beforeSendSpan;
|
|
1370
1378
|
constructor(delegate, config) {
|
|
1371
1379
|
this._delegate = delegate;
|
|
1372
1380
|
const resourceAttrs = {
|
|
1381
|
+
...config.resourceAttributes,
|
|
1373
1382
|
"service.name": config.appName,
|
|
1374
1383
|
[BRIZZ_SDK_VERSION]: getSDKVersion(),
|
|
1375
1384
|
[BRIZZ_SDK_LANGUAGE]: SDK_LANGUAGE
|
|
@@ -1377,15 +1386,47 @@ var BrizzSpanExporter = class {
|
|
|
1377
1386
|
if (config.environment) {
|
|
1378
1387
|
resourceAttrs["deployment.environment"] = config.environment;
|
|
1379
1388
|
}
|
|
1389
|
+
if (config.appVersion) {
|
|
1390
|
+
resourceAttrs["service.version"] = config.appVersion;
|
|
1391
|
+
}
|
|
1380
1392
|
this._brizzResource = (0, import_resources2.resourceFromAttributes)(resourceAttrs);
|
|
1393
|
+
this._beforeSendSpan = config.beforeSendSpan;
|
|
1381
1394
|
}
|
|
1382
1395
|
export(spans, resultCallback) {
|
|
1396
|
+
if (spans.length === 0) {
|
|
1397
|
+
resultCallback({ code: import_core.ExportResultCode.SUCCESS });
|
|
1398
|
+
return;
|
|
1399
|
+
}
|
|
1383
1400
|
const patchedSpans = spans.map((span) => ({
|
|
1384
1401
|
...span,
|
|
1385
1402
|
resource: span.resource.merge(this._brizzResource),
|
|
1386
1403
|
spanContext: span.spanContext.bind(span)
|
|
1387
1404
|
}));
|
|
1388
|
-
this.
|
|
1405
|
+
const filter = this._beforeSendSpan;
|
|
1406
|
+
if (!filter) {
|
|
1407
|
+
this._delegate.export(patchedSpans, resultCallback);
|
|
1408
|
+
return;
|
|
1409
|
+
}
|
|
1410
|
+
const verdicts = patchedSpans.map((span) => {
|
|
1411
|
+
try {
|
|
1412
|
+
return Promise.resolve(filter(span));
|
|
1413
|
+
} catch (error) {
|
|
1414
|
+
logger.warn("beforeSendSpan threw; span will be kept", { error });
|
|
1415
|
+
return Promise.resolve(true);
|
|
1416
|
+
}
|
|
1417
|
+
});
|
|
1418
|
+
Promise.all(verdicts).then((keep) => {
|
|
1419
|
+
const filtered = patchedSpans.filter((_, i) => keep[i] !== false);
|
|
1420
|
+
if (filtered.length === 0) {
|
|
1421
|
+
resultCallback({ code: import_core.ExportResultCode.SUCCESS });
|
|
1422
|
+
return;
|
|
1423
|
+
}
|
|
1424
|
+
this._delegate.export(filtered, resultCallback);
|
|
1425
|
+
return;
|
|
1426
|
+
}).catch((error) => {
|
|
1427
|
+
logger.warn("beforeSendSpan rejected; all spans will be kept", { error });
|
|
1428
|
+
this._delegate.export(patchedSpans, resultCallback);
|
|
1429
|
+
});
|
|
1389
1430
|
}
|
|
1390
1431
|
async shutdown() {
|
|
1391
1432
|
return this._delegate.shutdown();
|
|
@@ -1505,6 +1546,15 @@ var TracingModule = class _TracingModule {
|
|
|
1505
1546
|
*/
|
|
1506
1547
|
setup(config) {
|
|
1507
1548
|
logger.info("Setting up tracing module");
|
|
1549
|
+
if (config.disableSpanExporter) {
|
|
1550
|
+
logger.info(
|
|
1551
|
+
"Span exporter disabled via disableSpanExporter; skipping exporter and processor setup"
|
|
1552
|
+
);
|
|
1553
|
+
this.spanExporter = null;
|
|
1554
|
+
this.spanProcessor = null;
|
|
1555
|
+
_TracingModule.instance = this;
|
|
1556
|
+
return;
|
|
1557
|
+
}
|
|
1508
1558
|
this.initSpanExporter(config);
|
|
1509
1559
|
this.initSpanProcessor(config);
|
|
1510
1560
|
_TracingModule.instance = this;
|
|
@@ -1662,6 +1712,7 @@ var _Brizz = class __Brizz {
|
|
|
1662
1712
|
const registry = InstrumentationRegistry.getInstance();
|
|
1663
1713
|
const manualInstrumentations = registry.getManualInstrumentations();
|
|
1664
1714
|
const resourceAttributes = {
|
|
1715
|
+
...resolvedConfig.resourceAttributes,
|
|
1665
1716
|
"service.name": resolvedConfig.appName,
|
|
1666
1717
|
[BRIZZ_SDK_VERSION]: getSDKVersion(),
|
|
1667
1718
|
[BRIZZ_SDK_LANGUAGE]: SDK_LANGUAGE
|
|
@@ -1669,8 +1720,11 @@ var _Brizz = class __Brizz {
|
|
|
1669
1720
|
if (resolvedConfig.environment) {
|
|
1670
1721
|
resourceAttributes["deployment.environment"] = resolvedConfig.environment;
|
|
1671
1722
|
}
|
|
1723
|
+
if (resolvedConfig.appVersion) {
|
|
1724
|
+
resourceAttributes["service.version"] = resolvedConfig.appVersion;
|
|
1725
|
+
}
|
|
1672
1726
|
this._sdk = new import_sdk_node.NodeSDK({
|
|
1673
|
-
spanProcessors: [getSpanProcessor()],
|
|
1727
|
+
spanProcessors: resolvedConfig.disableSpanExporter ? [] : [getSpanProcessor()],
|
|
1674
1728
|
metricReader: getMetricsReader(),
|
|
1675
1729
|
resource: (0, import_resources3.resourceFromAttributes)(resourceAttributes),
|
|
1676
1730
|
instrumentations: manualInstrumentations
|