55世纪最高邀请码18648287,通过 Jaeger 上报 Go 应用数据

栏目: Go · 发布时间: 5年前

55世纪最高邀请码 18648287 55世纪最高邀请码 18648287 在使用链路追踪控制台追踪应用的链路数据之前,需要通过客户端将应用数据上报至链路追踪。本文介绍如何通过 Jaeger 客户端上报 Go 应用数据。 背景信息 数据是如何上报的? 不通过 Agent 而直接上报数据的原理如下图所示。 Report Tracing Data Directly 通过 Agent 上报数据的原理如下图所示。 Report Tracing Data By Agent 如何获取接入点信息? 登录链路追踪控制台,在概览页面上打开查看 Token 开关。 单击需要使用的链路数据采集客户端(Jaeger 或 Zipkin)按钮。 在下方表格中相应地域的相关信息列中,单击接入点信息末尾的复制按钮。 Tracing Analysis Endpoint Section 提示:如果应用部署于阿里云生产环境,则选择内网接入点,否则选择公网接入点。对于 Zipkin,一般情况下请使用 v2 版接入点,v1 版接入点仅限对 Zipkin 十分了解的高阶用户使用。 快速开始 运行以下命令,在 GOPATH 目录下载 Demo 文件。 wget http://arms-apm.oss-cn-hangzhou.aliyuncs.com/tools/tracingtest.zip && unzip tracingtest.zip 修改配置。 注意: 请将 替换成控制台概览页面上相应客户端和相应地域的接入点。关于获取接入点信息的方法,请参考背景信息中的“如何获取接入点信息”。 sender := transport.NewHTTPTransport( // 设置网关,网关因地域而异。 "", ) 运行以下命令上传数据。 go run main.go http done grpc done 注意: 如果出现以下错误,说明用户名和密码不正确,请更正并重试。 go run main.go http done 2018/09/17 21:11:54 ERROR: error when flushing the buffer: error from collector: 403 2018/09/17 21:11:54 ERROR: error when flushing the buffer: error from collector: 403 登录链路追踪控制台。执行上一步骤后等待 30 秒,即可查看上报的数据。 直接上报数据 引入 jaeger-client-go。 包路径:github.com/uber/jaeger-client-go 版本号:>=2.11.0以 glide 为例,您需要在 glide.yaml 中加入以下配置: package: github.com/uber/jaeger-client-go version: ^2.11.0 subpackages: transport 创建 Trace 对象。 注意: 请将 替换成控制台概览页面上相应客户端和相应地域的接入点。关于获取接入点信息的方法,请参考背景信息中的“如何获取接入点信息”。 func NewJaegerTracer(service string) (opentracing.Tracer, io.Closer) { sender := transport.NewHTTPTransport( // 设置网关,网关因地域而异。 "", ) tracer, closer:= jaeger.NewTracer(service, jaeger.NewConstSampler(true), jaeger.NewRemoteReporter(sender)) return tracer, closer } 创建 span 实例对象和数据透传。 如果没有 parentSpan: // 创建 Span span := tracer.StartSpan("myspan") // 设置 Tag clientSpan.SetTag("mytag", "123") // 透传 traceId tracer.Inject(span.Context(), opentracing.HTTPHeaders, opentracing.HTTPHeadersCarrier(req.Header)) ... defer span.Finish() 如果有 parentSpan: // 从 HTTP/RPC 对象解析出 spanCtx spanCtx, _ := tracer.Extract(opentracing.HTTPHeaders, opentracing.HTTPHeadersCarrier(r.Header)) span := tracer.StartSpan("myspan", opentracing.ChildOf(spanCtx)) ... defer span.Finish()

入群交流(该群和以上内容无关):Go中文网 QQ交流群:731990104 或 加微信入微信群:274768166 备注:入群; 公众号:Go语言中文网


以上所述就是小编给大家介绍的《55世纪最高邀请码18648287,通过 Jaeger 上报 Go 应用数据》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ruby Cookbook

Ruby Cookbook

Lucas Carlson、Leonard Richardson / O'Reilly Media / 2006-7-29 / USD 49.99

Do you want to push Ruby to its limits? The "Ruby Cookbook" is the most comprehensive problem-solving guide to today's hottest programming language. It gives you hundreds of solutions to real-world pr......一起来看看 《Ruby Cookbook》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器