Ver Fonte

fix: naming of segments for sqs handlers

Karol Sójko há 1 ano atrás
pai
commit
d244cc0d5f

+ 1 - 6
packages/auth/src/Bootstrap/Container.ts

@@ -190,7 +190,6 @@ import {
   ControllerContainer,
   ControllerContainerInterface,
   MapperInterface,
-  ServiceIdentifier,
   SharedVaultUser,
 } from '@standardnotes/domain-core'
 import { SessionTracePersistenceMapper } from '../Mapping/SessionTracePersistenceMapper'
@@ -1236,11 +1235,7 @@ export class ContainerConfigLoader {
         .bind<DomainEventMessageHandlerInterface>(TYPES.Auth_DomainEventMessageHandler)
         .toConstantValue(
           isConfiguredForAWSProduction
-            ? new SQSXRayEventMessageHandler(
-                ServiceIdentifier.NAMES.AuthWorker,
-                eventHandlers,
-                container.get(TYPES.Auth_Logger),
-              )
+            ? new SQSXRayEventMessageHandler(eventHandlers, container.get(TYPES.Auth_Logger))
             : new SQSEventMessageHandler(eventHandlers, container.get(TYPES.Auth_Logger)),
         )
 

+ 2 - 1
packages/domain-events-infra/src/Infra/SQS/SQSDomainEventSubscriberFactory.ts

@@ -5,6 +5,7 @@ import {
   DomainEventSubscriberFactoryInterface,
   DomainEventSubscriberInterface,
 } from '@standardnotes/domain-events'
+import { Segment, captureAWSv3Client } from 'aws-xray-sdk'
 
 export class SQSDomainEventSubscriberFactory implements DomainEventSubscriberFactoryInterface {
   constructor(
@@ -18,7 +19,7 @@ export class SQSDomainEventSubscriberFactory implements DomainEventSubscriberFac
       attributeNames: ['All'],
       messageAttributeNames: ['compression', 'event'],
       queueUrl: this.queueUrl,
-      sqs: this.sqs,
+      sqs: captureAWSv3Client(this.sqs, new Segment('test')),
       handleMessage:
         /* istanbul ignore next */
         async (message: Message) => await this.domainEventMessageHandler.handleMessage(<string>message.Body),

+ 2 - 3
packages/domain-events-infra/src/Infra/SQS/SQSXRayEventMessageHandler.ts

@@ -10,7 +10,6 @@ import {
 
 export class SQSXRayEventMessageHandler implements DomainEventMessageHandlerInterface {
   constructor(
-    private serviceName: string,
     private handlers: Map<string, DomainEventHandlerInterface>,
     private logger: Logger,
   ) {}
@@ -33,14 +32,14 @@ export class SQSXRayEventMessageHandler implements DomainEventMessageHandlerInte
 
     this.logger.debug(`Received event: ${domainEvent.type}`)
 
-    const xRaySegment = new Segment(this.serviceName)
+    const xRaySegment = new Segment(domainEvent.type)
 
     if (domainEvent.meta.correlation.userIdentifierType === 'uuid') {
       xRaySegment.setUser(domainEvent.meta.correlation.userIdentifier)
     }
 
     await captureAsyncFunc(
-      domainEvent.type,
+      `${handler.constructor.name}.handle`,
       async (subsegment?: Subsegment) => {
         await handler.handle(domainEvent)
 

+ 1 - 6
packages/files/src/Bootstrap/Container.ts

@@ -54,7 +54,6 @@ import { S3FileMover } from '../Infra/S3/S3FileMover'
 import { FSFileMover } from '../Infra/FS/FSFileMover'
 import { MoveFile } from '../Domain/UseCase/MoveFile/MoveFile'
 import { SharedVaultValetTokenAuthMiddleware } from '../Infra/InversifyExpress/Middleware/SharedVaultValetTokenAuthMiddleware'
-import { ServiceIdentifier } from '@standardnotes/domain-core'
 
 export class ContainerConfigLoader {
   async load(configuration?: {
@@ -307,11 +306,7 @@ export class ContainerConfigLoader {
         .bind<DomainEventMessageHandlerInterface>(TYPES.Files_DomainEventMessageHandler)
         .toConstantValue(
           env.get('NEW_RELIC_ENABLED', true) === 'true'
-            ? new SQSXRayEventMessageHandler(
-                ServiceIdentifier.NAMES.FilesWorker,
-                eventHandlers,
-                container.get(TYPES.Files_Logger),
-              )
+            ? new SQSXRayEventMessageHandler(eventHandlers, container.get(TYPES.Files_Logger))
             : new SQSEventMessageHandler(eventHandlers, container.get(TYPES.Files_Logger)),
         )
       container

+ 2 - 11
packages/revisions/src/Bootstrap/Container.ts

@@ -1,9 +1,4 @@
-import {
-  ControllerContainer,
-  ControllerContainerInterface,
-  MapperInterface,
-  ServiceIdentifier,
-} from '@standardnotes/domain-core'
+import { ControllerContainer, ControllerContainerInterface, MapperInterface } from '@standardnotes/domain-core'
 import Redis from 'ioredis'
 import { Container, interfaces } from 'inversify'
 import { MongoRepository, Repository } from 'typeorm'
@@ -530,11 +525,7 @@ export class ContainerConfigLoader {
         .bind<DomainEventMessageHandlerInterface>(TYPES.Revisions_DomainEventMessageHandler)
         .toConstantValue(
           env.get('NEW_RELIC_ENABLED', true) === 'true'
-            ? new SQSXRayEventMessageHandler(
-                ServiceIdentifier.NAMES.RevisionsWorker,
-                eventHandlers,
-                container.get(TYPES.Revisions_Logger),
-              )
+            ? new SQSXRayEventMessageHandler(eventHandlers, container.get(TYPES.Revisions_Logger))
             : new SQSEventMessageHandler(eventHandlers, container.get(TYPES.Revisions_Logger)),
         )
 

+ 1 - 6
packages/syncing-server/src/Bootstrap/Container.ts

@@ -64,7 +64,6 @@ import {
   ControllerContainer,
   ControllerContainerInterface,
   MapperInterface,
-  ServiceIdentifier,
   SharedVaultUser,
 } from '@standardnotes/domain-core'
 import { BaseItemsController } from '../Infra/InversifyExpressUtils/Base/BaseItemsController'
@@ -1173,11 +1172,7 @@ export class ContainerConfigLoader {
         .bind<DomainEventMessageHandlerInterface>(TYPES.Sync_DomainEventMessageHandler)
         .toConstantValue(
           env.get('NEW_RELIC_ENABLED', true) === 'true'
-            ? new SQSXRayEventMessageHandler(
-                ServiceIdentifier.NAMES.SyncingServerWorker,
-                eventHandlers,
-                container.get(TYPES.Sync_Logger),
-              )
+            ? new SQSXRayEventMessageHandler(eventHandlers, container.get(TYPES.Sync_Logger))
             : new SQSEventMessageHandler(eventHandlers, container.get(TYPES.Sync_Logger)),
         )
     }