wechat icon indicating copy to clipboard operation
wechat copied to clipboard

提供一个http.Client的注入方案

Open huanglaoyi opened this issue 4 years ago • 3 comments

我们在做链路监控时,无法传递context.Context,记录不到请求 能否像jwx一样,提供一个可选的注入方案?

https://github.com/lestrrat-go/jwx 相关代码:jwx包 func FetchHTTPWithContext(ctx context.Context, jwkurl string, options ...Option) func WithHTTPClient(cl *http.Client) Option

或者像go-redis一样,提供hook

huanglaoyi avatar Sep 18 '21 06:09 huanglaoyi

我们在做链路监控时,无法传递context.Context,记录不到请求

如果提供了类似这种,Context方法的话,是否就可以记录了 #483

silenceper avatar Sep 18 '21 07:09 silenceper

#468 并不能解决这个问题,只能是控制超时时间 可以参照grom的Callback(),go-redis的hook,gin的middleware 每次HTTP调用,传递client(简单、建议) 或者在调用前和调用后,给个hook

也可以先了解一下开放式链路追踪:https://github.com/opentracing/opentracing-go

GitHub
OpenTracing API for Go. Contribute to opentracing/opentracing-go development by creating an account on GitHub.

huanglaoyi avatar Sep 22 '21 02:09 huanglaoyi

明白你的需求了,需要注入一些额外的请求参数比如spanid

silenceper avatar Sep 22 '21 03:09 silenceper