opentelemetry

    该插件仅支持二进制编码的 ,即请求类型为 application/x-protobuf 的数据上报。

    你可以通过在 conf/config.yaml 中指定配置来设置数据上报:

    名称类型默认值描述
    trace_id_sourceenumrandomtrace ID 的来源。有效值为:randomx-request-id。当设置为 时,x-request-id 头的值将用作跟踪 ID。请确保当前请求 ID 是符合 TraceID 规范的:[0-9a-f]{32}
    resourceobject追加到 trace 的额外 resource
    collectorobject{address = “127.0.0.1:4318”, request_timeout = 3}OpenTelemetry Collector 配置。
    collector.addressstring127.0.0.1:4318数据采集服务的地址。
    collector.request_timeoutinteger3数据采集服务上报请求超时时长,单位为秒。
    collector.request_headersobject数据采集服务上报请求附加的 HTTP 请求头。
    batch_span_processorobjecttrace span 处理器参数配置。
    batch_span_processor.drop_on_queue_fullbooleantrue如果设置为 true 时,则在队列排满时删除 span。否则,强制处理批次。
    batch_span_processor.max_queue_sizeinteger2048处理器缓存队列容量的最大值。
    batch_span_processor.batch_timeoutnumber5构造一批 span 超时时间,单位为秒。
    batch_span_processor.max_export_batch_sizeinteger256单个批次中要处理的 span 数量。
    batch_span_processor.inactive_timeoutnumber2两个处理批次之间的时间间隔,单位为秒。

    ./conf/config.yaml

    opentelemetry 插件默认为禁用状态,你需要在配置文件(./conf/config.yaml)中开启该插件:

    开启成功后,可以通过如下命令在指定路由上启用 opentelemetry 插件:

    当你需要禁用 opentelemetry 插件时,可以通过以下命令删除相应的 JSON 配置,APISIX 将会自动重新加载相关配置,无需重启服务: