问:是否有任何代码可以将OpenTelemetry JS span对象(由出口商接收)转换为只包含遥测数据而不是内部实现细节的对象?
如果我有这样的出口商
class FileSpanExporter {
constructor() {
this.stream = fs.createWriteStream('/tmp/telemetry.log', {flag:'a'})
}
export(spans, resultCallback) {
this.stream.write(JSON.stringify(spans))
if(resultCallback) {
return resultCallback({ code: core.ExportResultCode.SUCCESS });
}
}
}
写入日志的跨度包括我认为是遥测数据的数据。
"attributes": {
"express.name": "query",
"express.type": "middleware"
},
// ...
"endTime": [
1622658683,
606307380
],
// ...
但也包括实现细节的数据
"_spanProcessor": {
"_spanProcessors": [
{
"_exporter": {
// ... way more data snipped ...
开放的遥测javascript代码有任何方法来序列化一个span来获取它的遥测数据吗?或者,最终用户程序员有责任在导出之前决定他们对哪些数据感兴趣。到目前为止,我所能找到的只有span.context()
方法,它只返回上下文信息,而不返回其他相关数据。
发布于 2021-06-02 23:25:51
您可能正在寻找类似于这个https://github.com/open-telemetry/opentelemetry-js/blob/main/packages/opentelemetry-tracing/src/export/ConsoleSpanExporter.ts的东西。这是为调试目的而显式设计的,对于实际应用程序来说并不是一个很好的选择。
https://stackoverflow.com/questions/67811334
复制相似问题