refactor(server): config system (#11081)

This commit is contained in:
forehalo
2025-03-27 12:32:28 +00:00
parent 7091111f85
commit 0ea38680fa
274 changed files with 7583 additions and 5841 deletions
@@ -1,7 +1,7 @@
import { MetricExporter } from '@google-cloud/opentelemetry-cloud-monitoring-exporter';
import { TraceExporter } from '@google-cloud/opentelemetry-cloud-trace-exporter';
import { GcpDetectorSync } from '@google-cloud/opentelemetry-resource-util';
import { Global, Provider } from '@nestjs/common';
import { Global, Injectable, Module, Provider } from '@nestjs/common';
import { getEnv } from '@opentelemetry/core';
import { Resource } from '@opentelemetry/resources';
import {
@@ -14,9 +14,9 @@ import {
SEMRESATTRS_K8S_POD_NAME,
} from '@opentelemetry/semantic-conventions';
import { OptionalModule } from '../../base';
import { OpentelemetryFactory } from '../../base/metrics';
@Injectable()
export class GCloudOpentelemetryFactory extends OpentelemetryFactory {
override getResource(): Resource {
const env = getEnv();
@@ -47,14 +47,14 @@ export class GCloudOpentelemetryFactory extends OpentelemetryFactory {
}
}
const factorProvider: Provider = {
const FactorProvider: Provider = {
provide: OpentelemetryFactory,
useFactory: () => new GCloudOpentelemetryFactory(),
useClass: GCloudOpentelemetryFactory,
};
@Global()
@OptionalModule({
if: config => config.metrics.enabled,
overrides: [factorProvider],
@Module({
providers: [FactorProvider],
exports: [FactorProvider],
})
export class GCloudMetrics {}