feat: add grpc export (#2379)

Co-authored-by: Gene Wu <gene.wu@cabital.com>
This commit is contained in:
genewoo
2022-09-14 22:54:52 +08:00
committed by GitHub
parent f2a0f78288
commit 05c2f313c7
5 changed files with 40 additions and 2 deletions

View File

@@ -3,12 +3,14 @@ package trace
import (
"context"
"fmt"
"google.golang.org/grpc"
"sync"
"github.com/zeromicro/go-zero/core/lang"
"github.com/zeromicro/go-zero/core/logx"
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/exporters/jaeger"
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
"go.opentelemetry.io/otel/exporters/zipkin"
"go.opentelemetry.io/otel/sdk/resource"
sdktrace "go.opentelemetry.io/otel/sdk/trace"
@@ -18,6 +20,7 @@ import (
const (
kindJaeger = "jaeger"
kindZipkin = "zipkin"
kindGrpc = "grpc"
)
var (
@@ -56,6 +59,8 @@ func createExporter(c Config) (sdktrace.SpanExporter, error) {
return jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(c.Endpoint)))
case kindZipkin:
return zipkin.New(c.Endpoint)
case kindGrpc:
return otlptracegrpc.NewUnstarted(otlptracegrpc.WithInsecure(), otlptracegrpc.WithEndpoint(c.Endpoint), otlptracegrpc.WithDialOption(grpc.WithBlock())), nil
default:
return nil, fmt.Errorf("unknown exporter: %s", c.Batcher)
}