Skip to content

Commit 801b20d

Browse files
committed
comment
1 parent ce067e0 commit 801b20d

3 files changed

Lines changed: 16 additions & 6 deletions

File tree

‎packages/agents-a365-observability/src/configuration/PerRequestSpanProcessorConfiguration.ts‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ const DEFAULT_MAX_CONCURRENT_EXPORTS = 20;
1212

1313
/**
1414
* Configuration for PerRequestSpanProcessor.
15-
* Inherits all observability and runtime settings, and adds per-request processor guardrails.
15+
* Inherits runtime settings (clusterCategory, isNodeEnvDevelopment) and adds
16+
* per-request processor guardrails.
1617
*
1718
* This is separated from ObservabilityConfiguration because PerRequestSpanProcessor
1819
* is used only in specific scenarios and these settings should not be exposed
@@ -24,7 +25,14 @@ export class PerRequestSpanProcessorConfiguration extends RuntimeConfiguration {
2425
const instanceOverrides = this.overrides as PerRequestSpanProcessorConfigurationOptions | undefined;
2526
return {
2627
...(instanceOverrides ?? {}),
27-
...(internal ?? {}),
28+
// Only pick per-request fields from internal overrides; runtime fields
29+
// (clusterCategory, isNodeEnvDevelopment, etc.) are left to RuntimeConfiguration.
30+
...(internal && {
31+
isPerRequestExportEnabled: internal.isPerRequestExportEnabled,
32+
perRequestMaxTraces: internal.perRequestMaxTraces,
33+
perRequestMaxSpansPerTrace: internal.perRequestMaxSpansPerTrace,
34+
perRequestMaxConcurrentExports: internal.perRequestMaxConcurrentExports,
35+
}),
2836
};
2937
}
3038

‎packages/agents-a365-observability/src/internal/PerRequestProcessorInternalOverrides.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT License.
33

4-
import type { PerRequestSpanProcessorConfigurationOptions } from "../configuration/PerRequestSpanProcessorConfigurationOptions";
4+
import type { PerRequestSpanProcessorConfigurationOptions } from '../configuration/PerRequestSpanProcessorConfigurationOptions';
55

66
let overrides: PerRequestSpanProcessorConfigurationOptions | undefined;
77

88
// Only for tests / internal usage
9-
export function setPerRequestProcessorInternalOverrides(value?: PerRequestSpanProcessorConfigurationOptions) {
9+
export function setPerRequestProcessorInternalOverrides(value?: PerRequestSpanProcessorConfigurationOptions) {
1010
overrides = value;
1111
}
1212

‎tests/observability/internal/PerRequestProcessorOverrides.test.ts‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ import { ExportResultCode } from '@opentelemetry/core';
1414
// Mock Agent365Exporter to avoid network calls
1515
jest.mock('@microsoft/agents-a365-observability/src/tracing/exporter/Agent365Exporter', () => ({
1616
Agent365Exporter: class {
17-
export() {/* no-op */}
17+
export(_spans: unknown[], cb: (result: { code: number }) => void) {
18+
cb({ code: 0 });
19+
}
1820
shutdown() {/* no-op */}
1921
forceFlush() {/* no-op */}
2022
},
@@ -116,6 +118,6 @@ describe('PerRequestProcessorOverrides', () => {
116118
const builder = new ObservabilityBuilder().withService('test-agent');
117119
// eslint-disable-next-line @typescript-eslint/no-explicit-any
118120
const processor = (builder as any).createExportProcessor();
119-
expect(processor.constructor.name).toBe('PerRequestSpanProcessor');
121+
expect(processor).toBeInstanceOf(PerRequestSpanProcessor);
120122
});
121123
});

0 commit comments

Comments
 (0)