【发布时间】:2022-01-23 02:14:33
【问题描述】:
我一直在尝试构建一个 OpenTelemetry 实现,将跟踪直接发送到 Honeycomb.io。
// tracer.js
import { SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base';
import { WebTracerProvider } from '@opentelemetry/sdk-trace-web';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
const HONEYCOMB_DATASET = '<DATA_SET>';
const HONEYCOMB_TEAM = '<API_KEY>';
const HONEYCOMB_URL = `https://api.honeycomb.io:443/v1/traces/`;
const exporter = new OTLPTraceExporter({
url: HONEYCOMB_URL,
headers: {
'X-Honeycomb-Team': HONEYCOMB_TEAM,
'X-Honeycomb-Dataset': HONEYCOMB_DATASET,
},
});
const provider = new WebTracerProvider();
provider.addSpanProcessor(new SimpleSpanProcessor(exporter));
export const tracer = provider.getTracer('default tracer');
如果我以后打电话
tracer.startSpan('link click').setAttributes(attributes).end();
我收到了来自 https://api.honeycomb.io/v1/traces/ 的 501 回复,其中包含正文:
{
"message": "Invalid content-type. Only application/protobuf is supported."
}
如何以 Protobufs 的形式发送我的跟踪记录?
【问题讨论】:
标签: javascript browser open-telemetry