add open telemetry

This commit is contained in:
Peter Maquiran
2024-06-17 09:02:10 +01:00
parent 09fe3e5591
commit 54cdf512c0
16 changed files with 910 additions and 14 deletions
@@ -0,0 +1,33 @@
import { ConsoleSpanExporter, SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base';
import { WebTracerProvider } from '@opentelemetry/sdk-trace-web';
import { ZipkinExporter } from '@opentelemetry/exporter-zipkin';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'
import { Resource } from '@opentelemetry/resources';
function createProvider(serviceName) {
const provider = new WebTracerProvider({
resource: new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: serviceName,
}),
});
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.addSpanProcessor(new SimpleSpanProcessor(new ZipkinExporter({
url: 'https://5.180.182.151/zipkin-endpoint/api/v2/spans',
serviceName: serviceName,
// Uncomment and customize the following if needed
// getExportRequestHeaders: () => {
// return {
// foo: 'bar',
// };
// }
})));
provider.register();
return provider;
}
// Example usage:
export const OpentelemetryChatProvider = createProvider('FO-chat-service');
export const OpentelemetryAgendaProvider = createProvider('FO-agenda-service');
export const OpentelemetryPublicationProvider = createProvider('FO-publication-service');