问题标签 [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.

0 投票
1 回答
577 浏览

zipkin - ZipKin UI 无法从 MySQL 加载跟踪

我面临的问题是 ZipKin UI 无法从 MySQL 加载跟踪。

它在 UI 上给了我下面提到的错误-

执行查询时出错:SQL [select distinct zipkin_spans. trace_idzipkin_spans加入zipkin_annotationszipkin_spans. trace_id= zipkin_annotations.trace_idzipkin_spans. id= zipkin_annotations. span_id) where (zipkin_spans.start_ts在 ? 和 ? 和 zipkin_annotations. endpoint_service_name= ? 之间)按 zipkin_spans. start_ts降序限制?]; ORDER BY 子句的表达式#1 不在 SELECT 列表中,引用列 'zipkin.zipkin_spans.start_ts' 不在 SELECT 列表中;这与 DISTINCT 不兼容

我在 ZipKin 服务器上看到以下异常 -

我的 ZipKin 服务器配置如下 -

当我查询 MySQL 模式时,我可以看到“zipkin.zipkin_spans 和 zipkin.zipkin_annotations”表中填充的记录。

但是当我尝试加载 Zipkin UI 时,它在 UI 上给了我上述错误。

非常感谢任何帮助。

0 投票
1 回答
499 浏览

amazon-ec2 - Spring Cassandra 驱动程序始终连接到本地主机

我试图将我的 Spring Boot 应用程序连接到 EC2 实例(2 个节点)上的 Cassandra 2.2.8 集群。我的用途是使用 Sleuth 和 Zipkin 进行追踪。

当跟踪开始时,驱动程序总是指向 localhost :

com.datastax.driver.core.Cluster : New Cassandra host localhost/127.0.0.1:9042 added

这是我的 application.properties

这是我的 pom.xml :

0 投票
1 回答
467 浏览

python - Zipkin 用于分析传统程序的内部结构

我想使用 zipkin 来分析传统程序的内部结构。

我使用术语“传统”,因为 AFAIK zipkin 用于在微服务环境中进行跟踪,其中一个请求由 N 个子请求计算。

我想分析我的python程序的性能。

我想跟踪所有 python 方法调用和所有完成的 linux 系统调用。

如何跟踪 python 方法调用和 linux 系统调用以将 spans 放入 zipkin?

即使这不可行,我也很有趣如何做到这一点。我想了解 zipkin 的工作原理。

0 投票
1 回答
1046 浏览

python - Thrift 中的编码列表 (Python)

我想知道用 ThriftPy 对结构列表进行二进制编码的最佳方法是什么。我发现的唯一方法是创建另一个包装器struct并从流中删除二进制前缀/后缀,但这非常hacky,肯定有更好的方法。

foob​​ar.thrift:

应用程序.py

0 投票
1 回答
892 浏览

zipkin - Zipkin Brave v4 - 传播范围从请求到

春季启动应用程序。

我正在使用 Brave v4,并在将来不推荐使用 brave-core 模块时尝试不使用它。使用 Brave v3,很容易绕过当前跨度,因为它保留在线程中并由 Brave 类处理。

我正在使用 async-http-client 客户端,并创建了请求和响应过滤器,它们在标头之间传播以及开始和提交跨度。这一切都按预期工作。async-http-client 池在启动时连接了侦听器,侦听器收到一个 TracingImpl ,它只是 Tracer 类的包装器,以便侦听器可以执行提交等(以及内部的跨度可以自己开始/完成)

例如,我的问题是:一个请求进入控制器,我从请求中提取 Span,现在我想使用 async-http-client 发出另一个请求,该请求将是传入请求的子级。我是不确定我应该如何将我现在在控制器中的 Span 对象获取到它的 async-http-client 对象。任何想法或帮助将不胜感激。

谢谢

0 投票
0 回答
126 浏览

spring-boot - Spring Cloud Sleuth 的跟踪 ID 中的前导“0”在某些跨度中被截断

我正在使用 spring-cloud-starter-sleuth 的 1.1.2.RELEASE 版本以及 Spring Boot 1.4.2.RELEASE 和 spring-cloud-dependencies CAMDEN-SR3。我发现有时当生成的跟踪 ID 有一个前导 0(例如“096ad8c3ed8d4a20”)时,一些后续跨度会记录一个没有前导零的跟踪 ID(在本例中为“96ad8c3ed8d4a20”)。

这是一个已知的错误?它并不总是可复制的,但我绝对可以断断续续地检测到这一点。而且也不是很一致。例如,我的一个 REST API 调用一共生成了 6 个跨度,而这个问题只发生在其中一个跨度上。

0 投票
2 回答
9515 浏览

spring-boot - 添加 sleuth 和 zipkin 时应用程序无法启动

我有一个要更新到 1.5.1 的 Spring Boot 应用程序。效果很好,直到我将 Sleuth 和 Zipkin 添加到类路径

当这些线出现时,我得到

这是我的部门。管理

我尝试更改为 Dalston

但错误变得更加陌生

我错过了什么我还没有注意到的东西吗?

0 投票
1 回答
235 浏览

cakephp - 我可以在 GKE 中使用 StackDriver Trace PHP 应用程序吗?

我想每天检查在 GKE 集群中运行的 CakePHP 应用程序每个端点的 RPC 延迟。我发现可以通过阅读文档来使用php google 客户端zipkin 服务器,但我不知道向我们的应用程序介绍有多容易,尽管两者对我来说似乎都很难。

此外,我担心 GKE 集群配置有 StackDriver Trace 选项,尽管我们的集群设置为禁用。如果设置启用,我们可以跟踪跨度吗?

你能给一些建议吗?

0 投票
1 回答
150 浏览

zipkin - 找不到采用 HTraceConfiguration 的类 org.apache.htrace.impl.ZipkinSpanReceiver 的构造函数

这是我按照本文档中的说明在我的 HBase 日志中看到的内容:

http://hbase.apache.org/book.html#tracing

这是我在 hbase-site.xml 中的条目:

我在 HBase Lib 文件夹中有以下附加 jar 文件:

0 投票
1 回答
3543 浏览

spring-boot - 将 Spring Boot Profile 添加到 Sleuth/Zipkin 日志

我正在使用这些依赖项:

是否有可能将当前活动配置文件添加到每个日志行?这样就可以根据 Splunk/ELK/... 中的配置文件过滤日志

所以而不是

它应该记录

编辑: 根据 Marcin 的回答,我将其实现如下:

应用程序.yml

ProfileLogger.java

日志配置.java

这将打印如下日志:

这已经很好了,但还不是我想要的。我想从头开始添加配置文件->即使“启动的应用程序”也应该包含配置文件-如果可能的话。其次,我想在profiles两者之间移动INFO在and22481移动。

在实现过程中又出现了一个问题:在链接的实现中有这样的声明:

这是否意味着您仅在日志级别设置为 TRACE 时才发送跟踪信息?如果是这样,我如何使用这种方法改进对标准输出的日志记录(给定日志级别的调试/信息/警告)?我认为日志模式在导入依赖项时被 Sleuth/Zipkin 覆盖,因此,本地日志记录看起来与跟踪相同。最终,我有兴趣在本地标准输出和 Zipkin 中显示配置文件。

编辑 2:在 Marcin 的帮助下,我通过引入resources/logback-spring.xml包含以下行的文件来更改模式:

请注意,您必须添加一个bootstrap.yml文件才能正确显示应用程序名称。如果没有bootstrap.yml文件,上面的日志模式只会打印“bootstrap”作为应用程序名称。

刚刚bootstrap.yml包含

就我而言。其他一切都在 application-[profile].yml 中配置

现在一切都按预期工作: