我的Go gRPC服务器安装了
>
Google跟踪范围导出器:
import texporter "github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace"
...
gcp, err := texporter.NewExporter()
...
tracer := trace.NewTracerProvider(trace.WithSyncer(traceExporter),
trace.WithSampler(trace.AlwaysSample()))
otel.SetTracerProvider(tracer)
Otelgrpc拦截器在gRPC服务器上注册。
unaryInterceptors := grpc_middleware.WithUnaryServerChain(
otelgrpc.UnaryServerInterceptor(),
)
streamInterceptors := grpc_middleware.WithStreamServerChain(
otelgrpc.StreamServerInterceptor(),
)
现在,我正在尝试在RPC实现中创建一个跟踪范围,以便为该方法创建子范围,例如:
func (s *srv) Test(ctx context.Context, req *pb.Request) (*pb.TestResponse, error) {
// create a span here
span1 := [??????].Start()
doWork1()
span1.End()
span2 := [??????].Start()
doWork2()
span2.End()
...
}
然而,从OpenTelemetry文档中还不清楚人们是如何做到这一点的。
离我最近的是奥特尔。GetTracerProvider()。Tracer(“这里有一些字符串?”) 提供启动(ctx)(ctx,Span)。但我不清楚这里要提供什么字符串(我的导出器没有文档所示的url),这似乎很不方便。
我在想有一种类似于otelgrpc的东西。span fromCTX(ctx)方法在某个地方拉动跟踪器,创建一个带有rpc ctx的span,我找不到它。遗憾的是,OT gRPC Go上的文档非常缺乏。
因为您正在使用github。com/GoogleCloudPlatform/opentelemetry操作,您应该使用自身来创建span,而不是opentelemetry。
可以创建如下新范围:
// Create custom span.
tracer := otel.TraceProvider().Tracer("example.com/trace")
err = func(ctx context.Context) error {
ctx, span := tracer.Start(ctx, "foo")
defer span.End()
// Do some work.
return nil
}(ctx)
有关更多详细信息,您可以参考OpenTelemeter Google Cloud Trace Exporter
根据这个http://www.grpc.io/docs/tutorials/basic/python.html#creating-这里的服务器和示例https://github.com/grpc/grpc/tree/v1.0.0/examples/python/route_guide,当我生成我的pb2时。py文件中,应创建几个名为Stub和Servicer的类。但是,我生成了pb2。py文件不包
我有一个方法,可以启动一个简单的cpp grpc服务器。 我想做
问题内容: 是否有任何教程或指南显示如何用PHP编写一个简单的Websockets服务器?我曾尝试在Google上寻找它,但没有找到很多。我找到了phpwebsockets,但是现在已经过时了,不支持最新的协议。我尝试自己更新它,但似乎不起作用。 和客户: 如果我的代码有任何错误,您可以帮我解决它吗?Firefox中的Concole说 问题答案: 我和您最近在同一条船上,这是我的工作: 1)我使用
问题内容: 给定一个SSL密钥和证书,如何创建HTTPS服务? 问题答案: 我发现以下示例。 这适用于节点v0.1.94-v0.3.1。在新版本的节点中被删除。 直接从该来源:
我在eclipse中创建了一个新服务器,但后来由于某种原因删除了它,现在我无法创建一个新服务器。我得到了Apache Tomcat7,但是当我从列表中选择Tomcat v7服务器时,服务器名称字段是不可编辑的,而且按钮也不工作(完成,下一步)。