【发布时间】:2021-06-02 19:25:18
【问题描述】:
问题:是否有任何代码可以获取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() 方法,它只返回上下文信息,而不是其他相关数据。
【问题讨论】:
标签: javascript node.js open-telemetry