使用 AWS X-Ray 记录后台进程?

问题描述 投票:0回答:1

如何使用 Amazon X-Ray 记录后台操作?

  1. 我尝试使用 Instance.BeginSegment 创建新的段
  2. 我还尝试创建新的记录器并在其中创建段

我没有看到任何错误,也没有看到任何记录的数据。

我正在使用 dotnet core SDK,但我想解决方案将与任何其他 SDK 类似。

aws-xray
1个回答
0
投票

解决方案是使用 AWSXRayRecorderBuilder 类,如下所示:

var xRayTracing = new AWSXRayRecorderBuilder()
    .WithContextMissingStrategy(Amazon.XRay.Recorder.Core.Strategies.ContextMissingStrategy.LOG_ERROR)
    .WithTraceContext(new AsyncLocalContextContainer())
    .Build();
.... 

您还可以考虑填写 HttmlInformation,以便它将在 AWS 控制台的竞赛列表视图中可见:

var requestInformation = new Dictionary<string, object>
{
    ["url"] = "BackgroundProcessor",
    ["method"] = message.State
};
xRayTracing.AddHttpInformation("request", requestInformation);
            

实际的日志记录可以包含在 try/catch/finally 中:

try
{
    // some actions here
}
catch (Exception ex)
{
    xRayTracing.AddException(ex);
    throw;
}
finally {
    xRayTracing.EndSegment(); 
}
© www.soinside.com 2019 - 2024. All rights reserved.