在 Go 中将统计处理程序附加到 gRPC
Attaching a stats handler to gRPC in Go
所以我正在使用一个多路复用器来确定传入的请求类型(gRPC 或 REST)并相应地路由请求。对于 gRPC 请求,我附加了一个统计处理程序来收集一些元数据,但是我们用来标记元数据的接口方法之一 TagRPC()
没有被调用。
app.httpMux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
if isgRPC(r) {
app.gRPCServer.ServeHTTP(w, r)
} else {
app.rMux.ServeHTTP(w, r)
}
})
我认为问题出在 gRPC 的 ServeHTTP 方法不支持所有方法。如果我要手动附加 TagGRPC()
,哪里比较合适?
ServeHTTP 处理程序现在不完全支持统计处理程序。
https://github.com/grpc/grpc-go/issues/1784
中有更多详细信息
(我刚刚注意到你也提交了这个问题,但这可能会帮助其他对此感兴趣的人)
所以我正在使用一个多路复用器来确定传入的请求类型(gRPC 或 REST)并相应地路由请求。对于 gRPC 请求,我附加了一个统计处理程序来收集一些元数据,但是我们用来标记元数据的接口方法之一 TagRPC()
没有被调用。
app.httpMux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
if isgRPC(r) {
app.gRPCServer.ServeHTTP(w, r)
} else {
app.rMux.ServeHTTP(w, r)
}
})
我认为问题出在 gRPC 的 ServeHTTP 方法不支持所有方法。如果我要手动附加 TagGRPC()
,哪里比较合适?
ServeHTTP 处理程序现在不完全支持统计处理程序。
https://github.com/grpc/grpc-go/issues/1784
中有更多详细信息(我刚刚注意到你也提交了这个问题,但这可能会帮助其他对此感兴趣的人)