2024-06-25 12:11:44 +01:00
|
|
|
import { metrics } from '@opentelemetry/api';
|
|
|
|
|
import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
|
|
|
|
|
import { MeterProvider, PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';
|
|
|
|
|
import { environment } from 'src/environments/environment';
|
|
|
|
|
|
|
|
|
|
// Initialize OpenTelemetry metrics
|
|
|
|
|
const meterProvider = new MeterProvider();
|
|
|
|
|
metrics.setGlobalMeterProvider(meterProvider);
|
|
|
|
|
|
|
|
|
|
if (window.location.protocol !== 'https:' && environment.presidential == false) {
|
|
|
|
|
const metricReader = new PeriodicExportingMetricReader({
|
|
|
|
|
exporter: new OTLPMetricExporter({
|
|
|
|
|
url: 'http://5-180-182-151.cloud-xip.com:4318/v1/metrics',
|
|
|
|
|
// headers: {
|
|
|
|
|
// 'Authorization': 'Basic ' + btoa('tabteste@006:tabteste@006'),
|
|
|
|
|
// }
|
|
|
|
|
}),
|
|
|
|
|
exportIntervalMillis: 3000,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
meterProvider.addMetricReader(metricReader);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const meter = meterProvider.getMeter('example-exporter-collector');
|
|
|
|
|
export const RequestCounter = meter.createCounter('post_requests', {
|
|
|
|
|
description: 'Example of a Counter',
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const UseCaseCounter = meter.createCounter('use_case', {
|
|
|
|
|
description: 'use case counter',
|
|
|
|
|
});
|