fix(server): cluster metrics duplicate (#9416)

This commit is contained in:
darkskygit
2024-12-30 02:25:01 +00:00
parent cec4a4b2c0
commit e630290e7c

View File

@@ -2,19 +2,33 @@ import { MetricExporter } from '@google-cloud/opentelemetry-cloud-monitoring-exp
import { TraceExporter } from '@google-cloud/opentelemetry-cloud-trace-exporter';
import { GcpDetectorSync } from '@google-cloud/opentelemetry-resource-util';
import { Global, Provider } from '@nestjs/common';
import { getEnv } from '@opentelemetry/core';
import { Resource } from '@opentelemetry/resources';
import {
MetricReader,
PeriodicExportingMetricReader,
} from '@opentelemetry/sdk-metrics';
import { SpanExporter } from '@opentelemetry/sdk-trace-node';
import {
SEMRESATTRS_CONTAINER_NAME,
SEMRESATTRS_K8S_POD_NAME,
} from '@opentelemetry/semantic-conventions';
import { OptionalModule } from '../../base';
import { OpentelemetryFactory } from '../../base/metrics';
export class GCloudOpentelemetryFactory extends OpentelemetryFactory {
override getResource(): Resource {
return super.getResource().merge(new GcpDetectorSync().detect());
const env = getEnv();
return super
.getResource()
.merge(
new Resource({
[SEMRESATTRS_K8S_POD_NAME]: env.HOSTNAME,
[SEMRESATTRS_CONTAINER_NAME]: env.CONTAINER_NAME,
})
)
.merge(new GcpDetectorSync().detect());
}
override getMetricReader(): MetricReader {