feat: enable gzip compression for otlp exporters

This commit is contained in:
jerop 2025-06-10 21:23:35 +00:00 committed by Jerop Kipruto
parent f0f7a30d9f
commit fa27bc832f
1 changed files with 13 additions and 3 deletions

View File

@ -8,6 +8,7 @@ import { DiagConsoleLogger, DiagLogLevel, diag } from '@opentelemetry/api';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc'; import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';
import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-grpc'; import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-grpc';
import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-grpc'; import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-grpc';
import { CompressionAlgorithm } from '@opentelemetry/otlp-exporter-base';
import { NodeSDK } from '@opentelemetry/sdk-node'; import { NodeSDK } from '@opentelemetry/sdk-node';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions'; import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
import { Resource } from '@opentelemetry/resources'; import { Resource } from '@opentelemetry/resources';
@ -75,14 +76,23 @@ export function initializeTelemetry(config: Config): void {
const useOtlp = !!grpcParsedEndpoint; const useOtlp = !!grpcParsedEndpoint;
const spanExporter = useOtlp const spanExporter = useOtlp
? new OTLPTraceExporter({ url: grpcParsedEndpoint }) ? new OTLPTraceExporter({
url: grpcParsedEndpoint,
compression: CompressionAlgorithm.GZIP,
})
: new ConsoleSpanExporter(); : new ConsoleSpanExporter();
const logExporter = useOtlp const logExporter = useOtlp
? new OTLPLogExporter({ url: grpcParsedEndpoint }) ? new OTLPLogExporter({
url: grpcParsedEndpoint,
compression: CompressionAlgorithm.GZIP,
})
: new ConsoleLogRecordExporter(); : new ConsoleLogRecordExporter();
const metricReader = useOtlp const metricReader = useOtlp
? new PeriodicExportingMetricReader({ ? new PeriodicExportingMetricReader({
exporter: new OTLPMetricExporter({ url: grpcParsedEndpoint }), exporter: new OTLPMetricExporter({
url: grpcParsedEndpoint,
compression: CompressionAlgorithm.GZIP,
}),
exportIntervalMillis: 10000, exportIntervalMillis: 10000,
}) })
: new PeriodicExportingMetricReader({ : new PeriodicExportingMetricReader({