UNPKG

@vtexlab/planner-message-bus

Version:

A Message Bus that uses AWS SNS, AWS SQS, and AWS EventBridge

41 lines (40 loc) 1.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getLogger = exports.setDefaultAttributes = exports.startSpan = exports.configureLogger = exports.configureTrace = void 0; const o11yStore_1 = require("./o11yStore"); function configureTrace(tracerApi) { o11yStore_1.observabilityStore.tracer = tracerApi; } exports.configureTrace = configureTrace; function configureLogger(loggerApi) { o11yStore_1.observabilityStore.logger = loggerApi; } exports.configureLogger = configureLogger; function startSpan(name, kind, message) { var _a, _b; let messageParameters = {}; if (message) { messageParameters = setDefaultAttributes(message.endpoint, message.content); } const span = (_a = o11yStore_1.observabilityStore.tracer) === null || _a === void 0 ? void 0 : _a.startSpan(name, { kind, attributes: Object.assign({ stack: 'planner-message-bus', aws_region: process.env.AWS_REGION, aws_account: process.env.AWS_ACCOUNT }, messageParameters), startTime: (_b = message === null || message === void 0 ? void 0 : message.content) === null || _b === void 0 ? void 0 : _b.Timestamp }); return span; } exports.startSpan = startSpan; function setDefaultAttributes(endpoint, content) { var _a, _b, _c; return { endpoint, correlationId: (_a = content === null || content === void 0 ? void 0 : content.CorrelationId) !== null && _a !== void 0 ? _a : 'none', accountName: (_b = content === null || content === void 0 ? void 0 : content.Account.Name) !== null && _b !== void 0 ? _b : ' vtex', accountId: (_c = content === null || content === void 0 ? void 0 : content.Account.Id) !== null && _c !== void 0 ? _c : 'vtex' }; } exports.setDefaultAttributes = setDefaultAttributes; function getLogger() { return o11yStore_1.observabilityStore.logger; } exports.getLogger = getLogger;