- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在新的 Spring Boot 应用程序中设置 AWS XRay。
我想在投入生产之前在本地进行测试。该应用程序在本地与 dynamoDB 客户端和 STS 一起运行,以承担调用 dynamo 的角色。
该服务启动正常,加载所有 bean,但是当我调用该服务时,它失败了
Failed to begin subsegment named 'AWSSecurityTokenService': segment cannot be found
当它尝试调用 dynamoDB 来保存项目时。我认为如果您添加了 aws-xray-recorder-sdk-aws-sdy 依赖项,那么像 AWSSecurityTokenService 这样的包会在请求期间自动获取上下文子段?我错过了什么?
我已将以下内容添加到 pom.xml:
<!-- AWS XRay -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-xray-recorder-sdk-bom</artifactId>
<version>1.3.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-xray-recorder-sdk-core</artifactId>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-xray-recorder-sdk-aws-sdk</artifactId>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-xray-recorder-sdk-aws-sdk-instrumentor</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-xray-recorder-sdk-aws-sdk-v2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-xray-recorder-sdk-aws-sdk-v2-instrumentor</artifactId>
<version>2.4.0</version>
</dependency>
以及以下方面:
import java.util.HashMap;
import java.util.Map;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component;
import com.amazonaws.xray.AWSXRay;
import com.amazonaws.xray.entities.Subsegment;
@Aspect
@Component
@Profile("!test")
public class XRayInspector {
private static final Logger LOG = LoggerFactory.getLogger(XRayInspector.class);
@Around("!execution(* com.things.service.config..*(..)) && " +
"execution(* com.things.service.controller..*(..)) && " +
"execution(* com.things.service.factory..*(..)) && " +
"execution(* com.things.service.exceptions..*(..)) && " +
"execution(* com.things.service.security..*(..)) && " +
"execution(* com.things.service.model..*(..)) && " +
"execution(* com.things.service.service..*(..))")
public Object logExecutionTime(final ProceedingJoinPoint joinPoint) throws Throwable {
return this.processXRayTrace(joinPoint);
}
protected Object processXRayTrace(final ProceedingJoinPoint pjp) throws Throwable {
try {
final Subsegment subsegment = AWSXRay.beginSubsegment(pjp.getSignature().getName());
subsegment.setMetadata(generateMetadata(pjp, subsegment));
return conditionalProceed(pjp);
} catch (final Exception e) {
AWSXRay.getCurrentSegment().addException(e);
throw e;
} finally {
LOG.trace("Ending Subsegment");
AWSXRay.endSubsegment();
}
}
public static Object conditionalProceed(final ProceedingJoinPoint pjp) throws Throwable {
if (pjp.getArgs().length == 0) {
return pjp.proceed();
} else {
return pjp.proceed(pjp.getArgs());
}
}
public static Map<String, Map<String, Object>> generateMetadata(final ProceedingJoinPoint pjp, final Subsegment subsegment) {
final Map<String, Map<String, Object>> metadata = new HashMap<>();
final Map<String, Object> classInfo = new HashMap<>();
classInfo.put("Class", pjp.getTarget().getClass().getSimpleName());
metadata.put("ClassInfo", classInfo);
return metadata;
}
}
最佳答案
有初始化代码吗?如果在请求实际进入启用 X-Ray 的服务之前进行 STS 调用(或在请求的带外),这将导致丢失上下文异常。我们建议忽略不属于请求路径的任何调用(使用未跟踪的 AWS 客户端)或将 AWS_XRAY_CONTEXT_MISSING 环境变量设置为 LOG_ERROR:
关于java - AWS XRay - 请求期间无法开始名为 'AWSSecurityTokenService' : segment cannot be found, 的子分段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60809761/
我有一个使用最新稳定的 aws_xray_sdk 用 Python 3.6 编写的 AWS Lambda,并部署为 lambda 函数,而不是 API 网关端点。 一切都按预期运行,但是,我为 lam
我可以将 jira 包与 python 一起使用,并从 JIRA 更新或获取问题详细信息。但我想知道如何使用 python 中的 post 请求将测试执行结果导入到 XRAY JIRA 中。我已经使用
我在使用 aws xras.sql 进行 mysql 查询时遇到错误。我从下面的链接中获取实现文档 https://docs.aws.amazon.com/xray/latest/devguide/x
我正在尝试为我们的 AWS ECS Spring 启动应用程序实现 XRAY。为此,我按照 AWS documentation 的建议为 docker 守护进程创建了一个带有单独 docker 文件的
我正在试验 xray 库(Python 中的 N-D 标记数组和数据集)。我正在使用转置来更改索引顺序,但结果没有任何变化。 以下代码段访问 NetCDF 文件并分配给 xray 数据集,提取数据子集
我已经开始使用 AWSXRay 来更深入地了解为什么我的 lambda 函数性能不理想。这个 lambda 函数运行一个 gql 服务,这意味着它有很多对其他 lambda 函数以及用于缓存的 dyn
我们如何根据http状态代码对aws xray中的数据进行采样,例如,我会对状态代码为200的40%的记录和状态代码为500的100%的记录进行采样。下面是示例json,但我无法对数据进行采样 con
AWS XRay 是一项跟踪服务,可让您跟踪分布式系统中的请求,甚至分析您的服务。无需过多了解 XRay 的工作原理,它基本上会监视您的服务,并通过 UDP 将有关每个服务请求的数据发送到守护程序,该
要创建子分段 aws-xray 需要打开有效分段。默认情况下,远程 lambda 执行会为您打开一个段,您只需添加一个子段,但在本地运行时,我们需要在添加子段之前手动打开段。 我可以将东西放在 try
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我遇到过需要显示网页特定图像的 xray 的场景。 所以我使用的是 css 属性 filter: xray; , 它与 IE8 完美配合。但是对于像 Chrome、Firefox 甚至 IE11/Ed
我尝试通过以下方式为所有 lambda 函数启用 aws-xray: 无服务器.yml provider: tracing: lambda: true apiGateway: tr
我可以在本地以无服务器方式离线执行 lambda,我已在 .env 文件中将 AWS_DAEMON_ADRESS 设置为“127.0.0.1:2000”,但监听此端口的运行守护程序不会从执行中接收任何
我正在使用 AWS lambda 和 eventbridge。一个 lambdaA 向 eventbridge 发送事件另一个 lambdaB 接收此事件并将其保存到数据库中。我想要做的是在这个流上添
我正在尝试使用 Cucumber 和 Java 设置一个自动化框架。我使用 Itellij IDEA 作为我的 IDE。到目前为止,我能够自动化测试用例。我阅读了 Xray 文档并意识到我应该使用 R
我正在尝试在新的 Spring Boot 应用程序中设置 AWS XRay。 我想在投入生产之前在本地进行测试。该应用程序在本地与 dynamoDB 客户端和 STS 一起运行,以承担调用 dynam
我发现只需选中一个复选框(或设置 Tracing: Active 如果使用 SAM),我就可以在我的 lambda 函数上启用 X 射线跟踪。 这增加了高级日志记录。 如果我想要更详细的日志记录,我的
到底应该如何使用 Sails 安装 AWS XRAY? 我正在尝试翻译 installation instructions Sails 使用 Express 中间件的首选方式,但我却一败涂地。 大多数
我们最近开始将 AWS Xray 添加到我们的 Spring 项目中,并成功利用 AWSXRayServletFilter 创建 Segments 来满足我们的客户请求。 现在我们还开始添加 AWS
我正在尝试检测用 Go 编写的 Web 服务器,该服务器提供 REST API,在 AWS ECS 上的容器中运行。我现在正在 VSCode 中的 Debug 中运行服务器,致力于概念证明,该证明将显
我是一名优秀的程序员,十分优秀!