小编Avi*_*168的帖子

golang 中的 opentelemtry 导出器部分成功

我正在运行一个开放遥测收集器的 Pod,该收集器暴露在端口 4318 上(运行 Node js 演示工作正常)

但运行这个基本代码示例(基本上只是在启动跟踪器并发送跨度后运行一个简单的程序)


package main

import (
    "context"
    "fmt"
    "log"
    "os"
    "os/signal"
    "time"

    "go.opentelemetry.io/otel"

    "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"

    // "go.opentelemetry.io/otel/propagation"
    "go.opentelemetry.io/otel/sdk/resource"
    sdktrace "go.opentelemetry.io/otel/sdk/trace"
    semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
)

func initProvider() func() {
    ctx := context.Background()

    _, err := resource.New(ctx,
        resource.WithAttributes(
            semconv.ServiceNameKey.String("test-service"),
        ),
    )
    handleErr(err, "failed to create resource")
    traceExporter, err := otlptracehttp.New(ctx,
        otlptracehttp.WithInsecure(),
        otlptracehttp.WithEndpoint("localhost:4318"),
    )

    handleErr(err, "failed to create trace exporter")

    bsp := sdktrace.NewBatchSpanProcessor(traceExporter)
    tracerProvider := sdktrace.NewTracerProvider(
        // sdktrace.WithSampler(sdktrace.AlwaysSample()),
        // sdktrace.WithResource(res),
        sdktrace.WithSpanProcessor(bsp),
    )

    otel.SetTracerProvider(tracerProvider)
    // otel.SetTextMapPropagator(propagation.TraceContext{})
    return func() {
        handleErr(tracerProvider.Shutdown(ctx), …
Run Code Online (Sandbox Code Playgroud)

trace go open-telemetry

5
推荐指数
1
解决办法
629
查看次数

标签 统计

go ×1

open-telemetry ×1

trace ×1