Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions sdk/monitor/azure-monitor-opentelemetry/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
## 1.8.8 (Unreleased)

### Features Added
- Register GenAI main-agent attribution processors to automatically propagate
`microsoft.gen_ai.main_agent.*` attributes in multi-agent GenAI systems per [spec](https://github.com/aep-health-and-standards/Telemetry-Collection-Spec/blob/main/ApplicationInsights/genai_main_agent_attribution.md)
([#46703](https://github.com/Azure/azure-sdk-for-python/pull/46703))

### Breaking Changes

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@
_QuickpulseLogRecordProcessor,
_QuickpulseSpanProcessor,
)
from azure.monitor.opentelemetry.exporter._gen_ai._processor import ( # pylint: disable=import-error,no-name-in-module
_GenAIMainAgentLogRecordProcessor,
_GenAIMainAgentSpanProcessor,
)
Comment on lines +62 to +65
from azure.monitor.opentelemetry.exporter import ( # pylint: disable=import-error,no-name-in-module
ApplicationInsightsSampler,
AzureMonitorMetricExporter,
Expand Down Expand Up @@ -182,6 +186,8 @@ def _setup_tracing(configurations: Dict[str, ConfigurationValue]):
sampler=RateLimitedSampler(target_spans_per_second_limit=cast(float, traces_per_second)), resource=resource
)

# GenAI main-agent attribution processor must be registered first
tracer_provider.add_span_processor(_GenAIMainAgentSpanProcessor())
Comment on lines +189 to +190
for span_processor in configurations[SPAN_PROCESSORS_ARG]: # type: ignore
tracer_provider.add_span_processor(span_processor) # type: ignore
if configurations.get(ENABLE_LIVE_METRICS_ARG):
Expand Down Expand Up @@ -235,6 +241,8 @@ def _setup_logging(configurations: Dict[str, ConfigurationValue]):
enable_performance_counters_config = configurations[ENABLE_PERFORMANCE_COUNTERS_ARG]
logger_provider = LoggerProvider(resource=resource)
enable_trace_based_sampling_for_logs = configurations[ENABLE_TRACE_BASED_SAMPLING_ARG]
# GenAI main-agent attribution processor must be registered first
logger_provider.add_log_record_processor(_GenAIMainAgentLogRecordProcessor())
Comment on lines +244 to +245
for custom_log_record_processor in configurations[LOG_RECORD_PROCESSORS_ARG]: # type: ignore
logger_provider.add_log_record_processor(custom_log_record_processor) # type: ignore
if configurations.get(ENABLE_LIVE_METRICS_ARG):
Expand Down
Loading