我们正在尝试使用OpenTelemetry转换处理器[1]设置TraceID。
有一种方法可以使用硬编码值[2]设置TraceID,如下所示(该示例显示了SpanID,但TraceID也可以工作)。
traces:
set(span_id, SpanID(0x0000000000000000))
我们希望将其设置为一个存储在属性中的值。
traces:
set(trace_id, attributes["traceID"])
其中attributes["traceID"]
是字符串0x00000000000000000000000000000000
。
这行不通但如果我们尝试
traces:
set(trace_id,TraceID(attributes["traceID"]))
收集器甚至不会启动,因为我们正在尝试给予一个字符串,而这里需要一个字节切片
collector server run finished with error: invalid configuration: processor "transform" has invalid configuration: invalid argument at position 1 invalid argument for slice parameter at position 0, must be a byte slice literal
我们尝试了不同的方法来将String转换为Byte Array,但没有一种方法有效。
有人有什么想法吗?
提前感谢,亲切的问候!
[1][https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/fbb8ff9658b3bac7892dea6c7d49f40afe154bd8/processor/transformprocessor](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/fbb8ff9658b3bac7892dea6c7d49f40afe154bd8/processor/transformprocessor)
[2] https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/pkg/ottl#update-a-spans-id
1条答案
按热度按时间pdtvr36n1#
我们找到了答案:
工作正常:)