我正在尝试自动检测 AWS SDKs for Java 使用 X-Ray 进行的所有调用。
当您在构建依赖项中包含 AWS SDK Instrumentor 子模块时,适用于 Java 的 X-Ray 开发工具包会自动检测所有 AWS 开发工具包客户端。(来自文档)
我已将这些添加到我的 POM
aws-xray-recorder-sdk-core
aws-xray-recorder-sdk-aws-sdk
aws-xray-recorder-sdk-spring
aws-xray-recorder-sdk-aws-sdk-instrumentor
并且正在使用例如aws-java-sdk-ssm
和aws-java-sdk-sqs
。
我希望只需将 X-Ray 包添加到我的 POM 并提供足够的 IAM 策略。
但是,当我启动我的应用程序时,会出现以下异常:
com.amazonaws.xray.exceptions.SegmentNotFoundException: Failed to begin subsegment named 'AWSSimpleSystemsManagement': segment cannot be found.
我尝试将 SSM 调用包装在手动段中,这样就可以了,但随后来自另一个 AWS 开发工具包的下一个调用立即引发了类似的异常。
如何实现文档中提到的自动检测?我是不是误会了什么?