登录
首页 >  Golang >  Go问答

OpenTelemetry AWS XRay with UDP support

来源:stackoverflow

时间:2024-02-08 15:36:22 474浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《OpenTelemetry AWS XRay with UDP support》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我正在尝试将数据写入awsxrayreceiver。数据来自trace段。

以下是我所做的步骤:

  • 获取跟踪摘要
  • 使用跟踪摘要中的跟踪 id 来批量获取跟踪
  • 通过将跟踪段文档转换为 []byte 来发送

但是我在发送数据时遇到一些错误。 udp 端口已可访问。

{"kind": "receiver", "name": "awsxray", "pipeline": "traces", "error": "unable to split incoming data as header and segment, incoming bytes: [88]"}
{"kind": "receiver", "name": "awsxray", "pipeline": "traces", "error": "read from udp socket: read udp [::]:2000: use of closed network connection"}

甚至尝试检查连接是否会成功。

nc -vzu ip_address 2000

Result: Connection to ip_address 2000 port [udp/*] succeeded!

我的做法有问题吗?


正确答案


第一个问题可能是由于缺少分隔符而在拆分标题和正文时发生错误。该错误来自 this function,它使用换行符作为分隔符来分隔 X-Ray 段标头和正文。该错误似乎可能是由于发送到 X 射线接收器的数据格式不正确造成的(请参阅 these tests for an example)。

第二个错误是 reading from the UDP poller 时可能发生的网络错误。此问题背后可能有多种原因,但也许要确保连接没有提前关闭或在所有数据发送到接收器之前关闭。

理论要掌握,实操不能落!以上关于《OpenTelemetry AWS XRay with UDP support》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>