2017-10-10 4 views
0

J'ai une application Web (ressort) que je souhaite utiliser avec AWS-XRay. J'ai ajouté "AWSXRayServletFilter" dans mon web.xml, et l'extrait ci-dessous dans ma classe de configuration de printemps, selon la documentation.AWS X-Ray AmazonDynamoDBv2 segment non trouvé

static { 
    AWSXRayRecorderBuilder builder = AWSXRayRecorderBuilder.standard() 
     .withPlugin(new EC2Plugin()).withPlugin(new ECSPlugin()); 

    builder.withSamplingStrategy(new DefaultSamplingStrategy()); 

    AWSXRay.setGlobalRecorder(builder.build()); 
} 

La dépendance ci-dessous est également ajouté dans pom.xml

<dependency> 
      <groupId>com.amazonaws</groupId> 
      <artifactId>aws-xray-recorder-sdk-aws-sdk-instrumentor</artifactId> 
      <version>1.2.0</version> 
</dependency> 

Au cours de démarrage de l'application, je reçois l'exception ci-dessous.

com.amazonaws.xray.exceptions.SegmentNotFoundException: Impossible de commencer sous-segment nommé « AmazonDynamoDBv2 »: le segment ne peut être trouvé

Les pointeurs pour résoudre ce sera utile

Répondre

2

Lorsque vous initialiser le enregistreur global, vous devriez également démarrer le segment parent. Vous essayez de créer un sous-segment, sans segment.

AWSXRay.setGlobalRecorder(AWSXRayRecorderBuilder.defaultRecorder()); 
AWSXRay.beginSegment("MySeg");