问题标签 [distributed-tracing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
monitoring - OpenTracing 和 Zipkin 之间的主要区别是什么?
我正在研究分发跟踪工具。
发现有两个很受欢迎。
- OpenTracing - https://opentracing.io/
- Zipkin - https://zipkin.io/
它们之间的主要区别是什么?你会推荐哪一个?你会推荐其他开源分布式跟踪工具吗?
spring - jpa存储库级别的spring sleuth @NewSpan注释
问题:我无法使用此注释启用我的 jpa 存储库接口。它抱怨'@NewSpan' not applicable to type
。我想,它只是不适用于接口,需要具体的实现,这对动态生成的 jpa 函数不利。任何指示或解决方案?
azure - 如果未发送客户端,如何在 APIM 入站策略中获取/设置 Traceparent 标头?
我们想要关联 Azure APIM 和 Application Insight 中的请求。对于 API,我们有一个在入站和出站部分使用发送请求的策略。我们正在使用W3C 分布式跟踪 Azure,规范
现在,如果客户端不发送 traceparent 标头,则入站中的发送请求在应用程序洞察力中没有关联。
如果我们尝试在入站策略中设置 traceparent 标头,它将在策略的后端部分被覆盖。看起来 APIM 检查传入的请求,如果没有设置 traceparent,它将生成它。但是我们不能在策略中的传入请求中添加标头(只读)。
示例政策
c# - ASP.NET Core Web API 和 Jaeger - 我可以更改顶级 Span 名称吗?
我正在为 ASP.NET Core Web API 进行 Jaeger Tracing 的一些原型设计,并且我能够使用入门文档中描述的 Jaeger 的多合一实例Startup.ConfigureServices()
以及我的方法中的以下代码使其工作:
要使用所有这些,您需要在项目中添加一些包:
dotnet add package OpenTracing.Contrib.NetCore --version 0.6.2
dotnet add package Jaeger --version 0.4.1
所以这工作正常,我的 Jaeger Search UI (http://localhost:16686/search) 中显示了带有 Spans 的 Trace,但它只显示带有我的服务名称的 Trace(在本例中为“MySuperCoolWebAPI”),后跟“ HTTP 获取”:
在那里看到“HTTP GET”并不是非常有用。相反,我想查看 Web API 操作名称或其他内容,让我知道这到底是什么类型的请求。
正如您从上面的示例代码中看到的那样,我尝试设置HttpHandlerDiagnosticOptions.OperationNameResolver
但这只会影响HttpClient
我从我的 Web 服务中进行的调用。它似乎不会影响与我收到的请求关联的 Trace/Span 的命名方式。
我还尝试使用这样的 GlobalTracer 在我的 Web API Controller 方法中设置 Span OperationName ,但这会影响内部跨度,而不是 Jaeger UI 搜索结果页面上显示的主 Trace/Span:
在这里,您可以看到第一个子 Span 的名称设置为我强制设置的名称,但主级别 Span(我更改的那个的父级)不受影响:
有没有办法可以使用 Jaeger C# Client 设置主 Span 的操作名称?
另外,我正在使用 .NET Core 3.1,以防万一。
grpc - 如何使用 opentracing api 在 grpc 客户端请求中收集和传递 b3 传播标头?
我正在使用带有 jaegar 跟踪器的https://github.com/opentracing-contrib/java-grpc在我的 grpc 客户端程序中启用跟踪。现在我想使用 istio 服务网格来处理服务器端的跟踪。https://istio.io/latest/docs/tasks/observability/distributed-tracing/overview/。因此,grpc 客户端现在需要将适当的跟踪 HTTP 标头与每个 grpc 客户端请求一起发送,以便 istio 可以将这些指标发送给 Jaegar。有没有人有一个在 grpc 客户端中获取跟踪跨度信息并在 grpc 客户端请求中包含相应的 b3 传播标头的工作示例?
需要在 java/C# grpc 客户端请求中传递以下 http 标头:
- x-请求-id
- x-b3-traceid
- x-b3-spanid
- x-b3-parentspanid
- x-b3-采样
- x-b3-标志
- x-ot-span-上下文
谢谢。
azure - Azure AKS 是否支持 Sleuth 跟踪?
我有一个应用程序将使用 Spring Cloud Sleuth 提供跟踪数据。我想将此跟踪数据发送到 Azure Application Insights。
从 Azure 的文档中,我了解到,如果我将应用程序部署到 Azure Spring Cloud,则本机支持 Sleuth 跟踪。但是,该应用程序将改为在 Azure AKS 中运行。是否仍然可以在 AKS 版本的 Application Insights 中查看 Sleuth 跟踪数据?
我对 Azure(或一般的云服务)没有太多经验,所以如果问题有点愚蠢,我深表歉意:)
typescript - 我们如何指定opentelemetry中的跟踪数
我正在使用 opentelemetry 来检测 nest js 应用程序。假设要发出的请求数量很大。那么我们如何指定要收集的跟踪数量。
amazon-web-services - AWS X-RAY [错误] 发送分段批处理失败,原因是:NoCredentialProviders:链中没有有效的提供程序。已弃用
我正在使用带有 Fargate 的 X-Ray 守护程序。不幸的是,在守护进程的日志中,我看到如下错误:
[错误] 发送分段批处理失败:NoCredentialProviders:链中没有有效的提供者。已弃用。有关详细消息,请参阅 aws.Config.CredentialsChainVerboseErrors Warn] 将额外批次的发送延迟 0 秒
AWS X-Ray 与 IAM 一起使用:权限:AWSXrayFullAccess
我已经检查过: