@autofleet/rabbit 3.0.1-alpha8 → 3.0.1-beta

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 CHANGED
@@ -321,7 +321,7 @@ class RabbitMq {
321
321
  async consumeFromRabbit(queue, callback, options) {
322
322
  const optionsWithDefaults = { ...consts_1.DEFAULT_OPTIONS, ...options };
323
323
  RabbitMq.validateName('queue', queue);
324
- const { limit, deadMessageTtl, useConsumeWithLock, lockTimeout, auditContext, } = optionsWithDefaults;
324
+ const { limit, deadMessageTtl, useConsumeWithLock, lockTimeout, auditContext, enableRabbitTrace, } = optionsWithDefaults;
325
325
  if (useConsumeWithLock) {
326
326
  if (!this.redisLock) {
327
327
  throw new Error('Usage of consumeWithLock requires RedisInstance');
@@ -338,12 +338,20 @@ class RabbitMq {
338
338
  }
339
339
  const traceId = msg.properties.headers[consts_1.TRACING_HEADER];
340
340
  const userId = msg.properties.headers[consts_1.USER_TRACING_HEADER];
341
+ logger_1.default.info('rabbit: consume', { traceId, userId, enableRabbitTrace });
341
342
  if (traceId) {
342
343
  const trace = zehut_1.newTrace(zehut_1.traceTypes.RABBIT);
343
344
  trace?.context?.set(consts_1.TRACING_HEADER, traceId);
344
345
  }
345
- else if (userId && auditContext) {
346
- await zehut_1.setRabbitTrace(userId);
346
+ else if (userId && enableRabbitTrace) {
347
+ try {
348
+ await zehut_1.setRabbitTrace(userId);
349
+ }
350
+ catch (e) {
351
+ logger_1.default.error('rabbit: failed to setRabbitTrace', { userId, e });
352
+ }
353
+ }
354
+ if (auditContext) {
347
355
  auditContext(queue);
348
356
  }
349
357
  const parsedMessage = RabbitMq.parseMsg(msg);
@@ -13,4 +13,5 @@ export declare const DEFAULT_OPTIONS: {
13
13
  lockTimeout: number;
14
14
  useConsumeWithLock: boolean;
15
15
  auditContext: null;
16
+ enableRabbitTrace: boolean;
16
17
  };
@@ -16,4 +16,5 @@ exports.DEFAULT_OPTIONS = {
16
16
  lockTimeout: exports.DEFAULT_LOCK_TIMEOUT,
17
17
  useConsumeWithLock: exports.DEFAULT_USE_CONSUME_WITH_LOCK,
18
18
  auditContext: null,
19
+ enableRabbitTrace: false,
19
20
  };
@@ -18,6 +18,7 @@ export interface ConsumeOptions {
18
18
  lockTimeout?: number;
19
19
  useConsumeWithLock?: boolean;
20
20
  auditContext?: any;
21
+ enableRabbitTrace?: boolean;
21
22
  }
22
23
  export declare type CallbackFunction = (msg: ConsumeMessage, ack: any, nack: any) => Promise<any>;
23
24
  export declare type newChannelOpts = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autofleet/rabbit",
3
- "version": "3.0.1-alpha8",
3
+ "version": "3.0.1-beta",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "dependencies": {
18
18
  "@autofleet/logger": "^1.2.8",
19
- "@autofleet/zehut": "^3.0.1-alpha3",
19
+ "@autofleet/zehut": "^3.0.1-beta",
20
20
  "@types/amqplib": "0.8.2",
21
21
  "@types/uuid": "^8.3.3",
22
22
  "amqp-connection-manager": "4.1.9",
package/src/index.ts CHANGED
@@ -461,7 +461,7 @@ class RabbitMq implements IAfRabbitMq {
461
461
  const optionsWithDefaults = { ...DEFAULT_OPTIONS, ...options };
462
462
  RabbitMq.validateName('queue', queue);
463
463
  const {
464
- limit, deadMessageTtl, useConsumeWithLock, lockTimeout, auditContext,
464
+ limit, deadMessageTtl, useConsumeWithLock, lockTimeout, auditContext, enableRabbitTrace,
465
465
  } = optionsWithDefaults;
466
466
  if (useConsumeWithLock) {
467
467
  if (!this.redisLock) {
@@ -482,11 +482,19 @@ class RabbitMq implements IAfRabbitMq {
482
482
 
483
483
  const traceId = msg.properties.headers[TRACING_HEADER];
484
484
  const userId = msg.properties.headers[USER_TRACING_HEADER];
485
+ logger.info('rabbit: consume', { traceId, userId, enableRabbitTrace });
485
486
  if (traceId) {
486
487
  const trace = newTrace(traceTypes.RABBIT);
487
488
  (trace as any)?.context?.set(TRACING_HEADER, traceId);
488
- } else if (userId && auditContext) {
489
- await setRabbitTrace(userId);
489
+ } else if (userId && enableRabbitTrace) {
490
+ try {
491
+ await setRabbitTrace(userId);
492
+ } catch (e) {
493
+ logger.error('rabbit: failed to setRabbitTrace', { userId, e });
494
+ }
495
+ }
496
+
497
+ if (auditContext) {
490
498
  auditContext(queue);
491
499
  }
492
500
 
package/src/lib/consts.ts CHANGED
@@ -13,4 +13,5 @@ export const DEFAULT_OPTIONS = {
13
13
  lockTimeout: DEFAULT_LOCK_TIMEOUT,
14
14
  useConsumeWithLock: DEFAULT_USE_CONSUME_WITH_LOCK,
15
15
  auditContext: null,
16
+ enableRabbitTrace: false,
16
17
  };
package/src/lib/types.ts CHANGED
@@ -22,6 +22,7 @@ export interface ConsumeOptions {
22
22
  lockTimeout?: number;
23
23
  useConsumeWithLock?: boolean;
24
24
  auditContext?: any;
25
+ enableRabbitTrace?: boolean;
25
26
  }
26
27
 
27
28
  export type CallbackFunction = (msg: ConsumeMessage, ack: any, nack: any) => Promise<any>