当前位置: 首页 > 知识库问答 >
问题:

我可以使用Spring Cloud Sleuth根据消息头值向消息传递范围添加标记吗?

沃盛
2023-03-14

当Spring Boot应用程序(向RabbitMQ)发送消息时,我正在使用Spring Cloud Sleuth向zipkin发送跨度。

我想自定义发送到zipkin的信息,以包括一些额外的标签,这些标签是从传出消息的某些标题中填充的,例如下面的myCustomTag

"traceId": "9fc1f35070446800",
"parentId": "033b24f12d5fe4e8",
"id": "fea24862c3e1f374",
"kind": "PRODUCER",
"name": "send",
"timestamp": 1609943208647127,
"duration": 1407,
"localEndpoint": {
  "serviceName": "foo-service",
  "ipv4": "10.204.71.17"
},
"remoteEndpoint": {
  "serviceName": "broker"
},
"tags": {
  "channel": "fooEventsChannel",
  "myCustomTag": <some value extracted from the "Bar" header of the outgoing message>
}

有可能用侦探/勇敢做到这一点吗?这感觉就像是注册(例如)一个类型为的beanbrave.http.的消息传递,但我看不到明显的前进方向。


共有1个答案

扶开诚
2023-03-14

您可以使用一个TagValueResolver或一个MessageSpanCustomzer,有关详细信息,请参阅文档。

 类似资料:
  • 由于内容脚本在网页而不是扩展程序的上下文中运行,因此它们通常需要某种与扩展程序其余部分进行通信的方式。例如,RSS 阅读器扩展程序可以使用内容脚本来检测页面上 RSS 摘要的存在,然后通知后台页面以显示该页面的操作图标。 扩展及其内容脚本之间的通信使用消息传递来实现。任何一方都可以监听从另一端发送的消息,并在同一通道上进行响应。消息可以包含任何有效的 JSON 对象(空,布尔值,数字,字符串,数组

  • ms tcp nodelay 描述: 在信差的 TCP 会话上禁用 nagle 算法。 类型: Boolean 是否必需: No 默认值: true ms initial backoff 描述: 出错时重连的初始等待时间。 类型: Double 是否必需: No 默认值: .2 ms max backoff 描述: 出错重连时等待的最大时间。 类型: Double 是否必需: No 默认值: 15

  • 消息传递 目录 一次简单的请求 h3Name 长时间保持连接 h3Name 扩展之间的消息传递 h3Name 安全策略 h3Name 范例 h3Name API reference Properties propertyName Methods methodName Events eventName Types id For information on how to use experiment

  • 抱歉,我需要先解释一下,然后再谈这个问题。 异步: 我可以使用Kafka producer async send with with callback,如果向Kafka发送消息时出现错误,那么通知JMS使用者不确认消息消耗将为时已晚。为了克服这个问题,我想出的唯一办法是,如果有异常,在回调中保留消息,然后尝试稍后发送消息。但我认为那会是太多的开销。 有没有其他方法可以使用异步调用来处理这种情况?

  • 我很好奇节俭是否适合我的用例?我正在制作另一个消息传递系统,其中有一个客户端和服务器,但客户端和服务器都会向另一个发送请求消息,并且并非所有消息都是请求,只是通知。 回到10年前,我用基于二进制的手卷编解码器做到了这一点。回到5年前,我使用Google协议缓冲区再次做到了这一点。但我现在听到了更多关于Thrift的信息。 Thrift可以简单地用作编解码器吗,还是它真的是围绕请求/回复模式构建的?

  • 我是springboot kafka的新手,我在这篇文章后面创建了一个例子。 https://www.codenotfound.com/spring-kafka-boot-example.html 我发现您可以将kafka元数据设置为标题,但这不符合我的目的。 我能做到这一点吗?如果可能的话,我很感激你能分享一个例子。