问题标签 [zipkin]
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.
netflix-feign - 启用 Sleuth 会减慢请求(很多)
我将 Spring Cloud Feign 和 Sleuth 与 Zipkin 服务器一起使用。我的问题是,当我启用 Sleuth 时,任何简单的请求至少需要 600 毫秒。请注意,出于测试目的,我将 Sleuth 的采样器百分比设置为 1。
我可以做些什么来改善吗?
这里有一些请求的日志,没有 Sleuth 需要 25 毫秒,使用 Sleuth 需要 700 毫秒。(用户调用 /teams 调用 /cities):
spring-boot - Zipkin 不显示跟踪日志
嗨,希望有人可以帮助我尝试获得一个非常基本的 zipkin 实现,以掌握分布式跟踪。我正在使用弹簧靴来执行此操作,但似乎无法使其正常工作。当我尝试查找我的服务的跟踪时,zipkin UI 中没有任何内容。
我有2个部署如下:
我要记录的 Spring Boot 应用程序:
pom.xml
有了这些依赖项,由于rabbit mq 依赖项,我确实遇到了连接错误。我必须包括这个,因为我遇到了 META-INF/spring binder 错误。除了放入依赖项之外,真的不确定如何解决这个问题。
我的应用程序.class
当我运行这个应用程序并调用我的端点时,我可以通过日志看到它应该将它发送到 zipkin。
这是我的完整日志。我再次得到 rabbitmq 异常,但不知道为什么我真的需要这个。没有它zipkin不能工作吗
我的完整日志:
我部署的第二个应用程序是我的 zipkin 客户端 / UI
.xml
我的应用程序.class
应用程序属性
运行 zipkin 服务器,它启动正常,但跟踪日志中没有显示任何错误
当我去客户端时,我确实收到了这个错误
任何帮助在这里表示赞赏
提前致谢
zipkin - 如何设置侦探跨度以在 Zipkin 关闭时向其报告
我正在尝试创建一个示踪剂,然后是示踪剂的一个跨度。执行工作。然后关闭跨度。我希望关闭操作将调用 spanReporter.report,它应该将数据发布到可用的 Zipkin 服务器(默认本地主机)
然而,这并没有发生。代码如下。我注意到我正在使用 NeverSampler。将其更改为 AlwaysSampler(目前)。我还使用 NoOpSpanReporter 作为默认的 SpanReporter(什么都不做)。我想将其更改为 ZipkinSpanReporter。(或者是其他东西)。这就是我卡住的地方。
问题:
- 根据粘贴的代码,我应该使用什么类型的默认跨度报告?
- 哪个 jar 将具有正确的 Span Reporter。我在 spring-cloud-sleuth-zipkin 中看到了 ZipkingSpanReporter 类。那么,我应该删除 spring-cloud-sleuth-* 依赖项并将其替换为 zipkin 依赖项吗?
现在使用上面的代码片段:
注意:
这个特定项目在其任何服务中都没有任何 http 调用。它是一个数据处理项目。
@SpringBootApplication 尚未使用。(尽管所有 zipkin 示例都使用它)。有必要吗?
elasticsearch - 在 zipkin 中看不到跟踪详细信息
我们使用elasticsearch作为zipkin的存储,依赖如下:
现在,trace 日志存储在 elasticsearch 中,我们可以在 zipkin ui 中看到 trance spans,但无法查看 span 详细信息或通过 traceid 查找 trace,除了:
spring-boot - Spring Boot Sleuth 没有向 Zipkin 发送跟踪信息
我正在尝试将侦探集成到 Spring Boot 应用程序中,以便它与 zipkin 服务器进行跟踪以进行跟踪,但我运气不佳。我已经学习了一些教程(指向教程的链接)并且让他们与 zipkin 交谈没有问题,但它不能很好地转化为我的应用程序,我不知道在哪里看。
本质上,在 build.gradle 文件的依赖项部分,我添加了:
在控制器中,我添加了这两个 bean:
并且,我将这些添加到 application.properties 文件中:
当我在演示中执行所有这些操作时,它们会在 localhost:4911 上将跟踪信息发送到我的 Zipkin 主机(目前,我只是在运行快速启动 jar 文件)。当我在我的应用程序中执行所有这些操作时,我看到我有带有以下字符串的侦探日志条目:
所以,我知道侦探正在工作。
当我在关闭 zipkin 服务器应用程序的情况下运行演示应用程序时,该应用程序看起来工作正常,但是,足够合理的是,日志文件显示了一个很大的旧 ConnectionRefused 堆栈跟踪。当我对我的应用程序尝试相同的实验时,我在应用程序日志中看不到堆栈跟踪,并且应用程序也运行得很好。
在我更大的应用程序之外,我无法重现我的问题,而且我不知道还有什么可以与您分享的。有人对从哪里开始有任何建议吗?
java - 如何使用勇敢(java)获取rabbitmq应用程序的currentSpan?
我的应用程序是基于 spring-rabbitmq 的应用程序(既不是 spring-cloud 也不是 spring-boot),从一个队列接收请求并将响应发送到另一个队列。
我想通过在发送消息之前注入 Zipkin 标头并在收到消息后立即提取 Zipkin 标头来使用勇敢来跟踪系统。
问题是在以下场景的第3步中,我怎样才能在发送消息之前获得span1?
设想:
发送消息前的代码片段:
在上面的代码中Span currentSpan = tracer.currentSpan();
,currentSpan始终为null。
收到消息后的代码片段:
勇敢的配置代码:
以下是我的参考资料:
node.js - 自动检测,如 Node.js 中的 Spring Cloud Sleuth
虽然 Zipkin sdk 可用于 Node.js,但我正在寻找像 Node.js 应用程序中的 Spring Cloud Sleuth 这样的自动仪器。Node.js 中是否有它的模块或框架?
我上面所说的自动检测的意思是,在 Java 中,我不必编写代码来使用 Zipkin 检测 servlet/filters/rest 客户端。Sleuth 会自动执行此操作。虽然 Zipkin 检测在 Node.js 中似乎是手动的。
spring-cloud - Spring Cloud sleuth with Webservicetemplate
Spring cloud sleuth 是否支持 WebserviceTemplate?我的意思是 - 我有一个服务调用 2 个服务 - 一个使用 RestTemplate,另一个使用 Webservicetemplate。Rest 调用显示在 Zipkin 中,而使用 Webservicetemplate 的 Soap 调用则没有。我必须将@NewSpan 添加到我所有的肥皂电话中吗?它不是像 Resttemplate 那样自动完成吗?
sql-server - 如何配置 Zipkin 以使用 MS SQLServer 数据库?
在官方 Zipkin 存储库README中,我看到了如何使用 Cassandra、MySql 或 Elastic Search 配置 Zipkin。但是在我目前的工作中,我们想使用 Zipkin,但我们仅限于 Microsoft SQL Server 作为唯一支持的数据库。
AFAIK Zipkin 通过标准 JDBC 驱动程序与 MySql 一起使用,因此我认为它也可以与 SqlServer 一起使用。我对吗?如果是这样,我该如何配置它来处理它?
java - JSR305 OSGi 出口勇敢
勇敢的核心模块添加了 javax.annotation;version="[3.0.0,4)" 的导出,这会导致在 JBoss Fuse 中使用勇敢部署 OSGi 应用程序时出现问题 - 因为系统包已经导出 javax.annotation;version=" 1.0”。
想知道为什么像 findbugs(JSR305) 包这样的 devtime 依赖项会作为运行时的一部分导出?
有什么解决方法吗?我们能否不起诉 servicemix 中的 JSR 305 捆绑包以使勇敢的 OSGi 捆绑包与 karaf 等常见容器兼容?