问题:是否有任何代码可以获取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.context()
方法,它只返回上下文信息,而不是其他相关数据。