mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-08-19 19:11:35 +08:00
40f3337d45
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Updated core dependencies, developer tooling and Rust toolchain to
newer stable versions across the repo
* Upgraded Storybook to v10 and improved ESM path resolution for
storybook tooling
* Broadened native binding platform/architecture support and
strengthened native module version validation, loading and WASI handling
* **New Features**
* Exposed an additional native text export for consumers (enhanced
JS/native surface)
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
51 lines
1.4 KiB
TypeScript
51 lines
1.4 KiB
TypeScript
import { TraceExporter } from '@google-cloud/opentelemetry-cloud-trace-exporter';
|
|
import { GcpDetectorSync } from '@google-cloud/opentelemetry-resource-util';
|
|
import { Global, Injectable, Module, Provider } from '@nestjs/common';
|
|
import {
|
|
type Resource,
|
|
resourceFromAttributes,
|
|
} from '@opentelemetry/resources';
|
|
import { SpanExporter } from '@opentelemetry/sdk-trace-node';
|
|
import {
|
|
ATTR_CONTAINER_NAME,
|
|
ATTR_K8S_POD_NAME,
|
|
} from '@opentelemetry/semantic-conventions/incubating';
|
|
|
|
import { OpentelemetryOptionsFactory } from '../../base/metrics';
|
|
|
|
@Injectable()
|
|
export class GCloudOpentelemetryOptionsFactory extends OpentelemetryOptionsFactory {
|
|
override getResource(): Resource {
|
|
const envAttrs: Record<string, string> = {};
|
|
if (process.env.HOSTNAME) {
|
|
envAttrs[ATTR_K8S_POD_NAME] = process.env.HOSTNAME;
|
|
}
|
|
if (process.env.CONTAINER_NAME) {
|
|
envAttrs[ATTR_CONTAINER_NAME] = process.env.CONTAINER_NAME;
|
|
}
|
|
|
|
const detected = new GcpDetectorSync().detect();
|
|
|
|
return super
|
|
.getResource()
|
|
.merge(resourceFromAttributes(envAttrs))
|
|
.merge(resourceFromAttributes(detected.attributes ?? {}));
|
|
}
|
|
|
|
override getSpanExporter(): SpanExporter {
|
|
return new TraceExporter();
|
|
}
|
|
}
|
|
|
|
const FactorProvider: Provider = {
|
|
provide: OpentelemetryOptionsFactory,
|
|
useClass: GCloudOpentelemetryOptionsFactory,
|
|
};
|
|
|
|
@Global()
|
|
@Module({
|
|
providers: [FactorProvider],
|
|
exports: [FactorProvider],
|
|
})
|
|
export class GCloudMetrics {}
|