Repository URL to install this package:
Version:
0.1.2 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const DtraceProbes = require("./lib/binding.js");
const sdk_node_1 = require("@opentelemetry/sdk-node");
const otlp_transformer_1 = require("@opentelemetry/otlp-transformer");
const instrumentation_connect_1 = require("@opentelemetry/instrumentation-connect");
const instrumentation_grpc_1 = require("@opentelemetry/instrumentation-grpc");
const instrumentation_fastify_1 = require("@opentelemetry/instrumentation-fastify");
const instrumentation_hapi_1 = require("@opentelemetry/instrumentation-hapi");
const instrumentation_http_1 = require("@opentelemetry/instrumentation-http");
const instrumentation_restify_1 = require("@opentelemetry/instrumentation-restify");
const instrumentation_router_1 = require("@opentelemetry/instrumentation-router");
class EBPFSpanProcessor {
onStart(_span, _context) { }
onEnd(_span) {
const data = otlp_transformer_1.ProtobufTraceSerializer.serializeRequest([_span]);
DtraceProbes.SpanEnded(data);
}
shutdown() {
return Promise.resolve();
}
forceFlush() {
return Promise.resolve();
}
}
const sdk = new sdk_node_1.NodeSDK({
autoDetectResources: false,
instrumentations: [new instrumentation_connect_1.ConnectInstrumentation(),
new instrumentation_fastify_1.FastifyInstrumentation(),
new instrumentation_hapi_1.HapiInstrumentation(),
new instrumentation_http_1.HttpInstrumentation(),
new instrumentation_restify_1.RestifyInstrumentation(),
new instrumentation_router_1.RouterInstrumentation(),
new instrumentation_grpc_1.GrpcInstrumentation()
],
spanProcessor: new EBPFSpanProcessor(),
});
sdk.start();