问题标签 [opentracing]
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.
java - 使用 grpc 服务器拦截器进行嵌套服务器调用
我有一个调用 grpc 服务 A 的客户端调用另一个 grpc 服务 B。我想使用ServerInterceptor实现来捕获从客户端开始的根跨度(级别 1)下的整个调用跟踪,并将服务 A 作为其子跨度(级别 2 ) 和服务 B 作为下一级子跨度(在第 3 级),如下所示:
我想为此目的使用客户端和服务器拦截器,因为我可以跟踪所有方法调用,而无需显式检测整个产品代码。因此,我需要在进行每个子调用时将跨度上下文注入父跨度,以便子级拦截器可以在创建自己的跨度时提取并将其用作父跨度。
由于我需要在服务器启动时声明并传递所有拦截器,如此处所示,因此这些拦截器不会相互交互。在这种情况下,如何在每个级别动态注入跨度上下文?有没有办法在拦截另一个呼叫时将 ServerInterceptor 添加到已启动的服务中?
换句话说,如何在使用单独的服务器跟踪拦截器跟踪的服务之间传播 spans 上下文?
这是我添加拦截器的方式:
我正在尝试创建类似于这些的服务器和客户端跟踪拦截器: ServerTracingInterceptor.java, ClientTracingInterceptor.java。
如果这是不可能的,你能建议替代方法吗?
谢谢!
java - 全局禁用开放跟踪
我在检测的独立非弹簧 Java 应用程序中使用 Jaeger opentracing。opentacing/Jaeger 是否公开任何配置或 api 或任何其他机制以全局禁用它?
如果您在同一条船上,您使用哪种机制来启用/禁用开放跟踪?
trace - 实际上什么是 Opentracing API,它在跟踪系统中的作用是什么
在https://opentracing.io/他们声明 opentracing API 是:
用于分布式跟踪的供应商中立 API 和工具
好的,但是在实际应用程序的上下文中这实际上意味着什么?
这个 Opentracing API 实际上由哪些部分组成,它的目的是什么以及它如何与“zipkin”和“jaeger”等其他日志相关系统交互
是否需要使用Opentracing API for Java 才能声明“我的应用支持”opentracing?
是否有一个 Opentracing 协议(例如通过网络发送数据),或者他们只是说 Opentracing 是一个中间层,它允许多个其他跟踪框架相互操作?尤其是这张图让我这么想。
python - 语言中性跟踪格式
我正在寻找一种用于呼叫跟踪的编程语言中性文件格式。
我正在寻找类似于set -x
bash shell 中的跟踪。或者像python-hunter的输出
第一步是存储所有方法调用和运行时执行的每一行。
简化:对我来说,跟踪单进程、单线程执行就足够了。没有并行性。
下一步将是跟踪所涉及的 http 调用(微服务)。
我使用 Python 进行开发,但跟踪文件格式需要是语言中立的。
java - 开放式跟踪:将多个 TraceId 链接到一个跟踪中
有没有办法将具有不同跟踪 id 的多个跟踪连接到一个跟踪中?就我而言,我有类似以下的内容,我想将它们合并成一个单一的跟踪。
是的,我可以重构,以便我Backend Trace
的跨度在UI Trace
. 但是我正在使用一些现有代码,其中后端服务已经有一个通过 http 标头传递的每个请求的 ID。我想重新使用现有的后端 ID,而不是向所有现有请求添加新的跟踪 ID 标头。
java - Jaeger 中的 OpenTracing 注入/提取
我是 OpenTracing 的新手。到目前为止,我主要从事房屋追踪工具的工作。服务器无法提取跨度上下文。
opentracing - 可以通过 application.properties 配置 Jaeger 吗?
根据https://quarkus.io/guides/opentracing-guide所有 Jeager 配置都是通过 JVM args (-DJAEGER_ENDPOINT...) 但我想使用其中一个application.properties
或microprofile-config.properties
配置跟踪。我尝试了以下方法,但 Quarkus 似乎选择的唯一配置是服务名称,所有其他属性都被忽略。
那么,问题是是否可以通过配置文件进行配置,或者目前不支持?
java - 使用 Opentracing 和 Jaeger 记录异常
我已经在 Java 环境中使用 Opentracing 设置了 Jaeger,它可以很好地使用跨度和跟踪记录消息。但是在捕获和记录异常时我有点卡住了。
但是这种方式不会以一种可读的方式格式化错误日志。
我已经四处寻找有关此的信息,因为感觉很明显应该存在,因为这是其用于记录的组件之一。但不知何故,我从未见过任何关于此的事情。它主要是关于构建和构建跨度。希望任何人在捕获和记录异常时都可以帮助我。
spring - Spring Boot 应用程序之间的 Jaeger 中未显示服务依赖项
我目前正在尝试使用https://github.com/opentracing-contrib/java-spring-web使用 Jaeger 跟踪两个 Spring Boot (2.1.1) 应用程序
也尝试过没有成功
每个服务/应用程序的 Spans 跟踪工作正常,但不能在全局级别上通过 REST 请求。如图所示,服务之间没有显示依赖关系。
这不应该通过图书馆开箱即用吗?或者我是否必须自己实现一些拦截器和请求过滤器,如果是这样,如何实现?
您可以在此处检查包含问题的简约项目
顺便说一句:Jaeger 通过 docker 一体式运行并按预期工作
spring - 在 Spring 应用程序中配置 Jaeger
我想在我的 Spring 应用程序中配置 Jaeger。不知何故,我找不到合适的方法来做到这一点。几乎所有与 Spring-Jaeger 相关的文档都适用于 Spring Boot,其中大部分属性都是自动配置的。这是我的方法。Maven依赖:
Jaeger 的 Spring 配置:
Jaeger 在 docker 的 6831 端口上本地运行。
一旦我的应用程序启动,我注意到应用程序速度大大降低,我认为这是因为 LoggingReporter 大量记录到控制台的指标。
但是,我的 Spring 应用程序不会显示在 Jaeger UI 中。一开始我想跟踪我的 REST 端点。有人可以指出正确的方向,为什么 UI 中缺少我的应用程序以及如何正确配置 Jaeger?是否有不依赖过时 Jaeger 的 Spring+Jaeger 示例项目?