-
Notifications
You must be signed in to change notification settings - Fork 8
[Observability] Output scope #201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Adds “output_messages” observability support across OpenTelemetry tracing and ETW logging by introducing an OutputScope, Response contract, and corresponding DTO/builder plus tests.
Changes:
- Introduces
OutputScopeandResponseto capture/join output messages into OTEL tags. - Adds
OutputData+OutputDataBuilderand wires ETW logger support viaIA365EtwLogger.LogOutput. - Adds/extends unit tests for output scope, DTO/builder, and ETW export behavior.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Tests/Microsoft.Agents.A365.Observability.Runtime.Tests/Tracing/Scopes/OutputScopeTest.cs | New tests validating OTEL tags + parent/child behavior for output scope. |
| src/Tests/Microsoft.Agents.A365.Observability.Runtime.Tests/Etw/EtwLoggingBuilderTests.cs | Adds ETW export assertions for output messages + includes LogOutput in “custom logs” test. |
| src/Tests/Microsoft.Agents.A365.Observability.Runtime.Tests/Etw/EtwLoggerTests.cs | Adds test ensuring LogOutput produces the expected ETW “Name”. |
| src/Tests/Microsoft.Agents.A365.Observability.Runtime.Tests/DTOs/OutputDataTests.cs | New test verifying OutputData.Name. |
| src/Tests/Microsoft.Agents.A365.Observability.Runtime.Tests/DTOs/Builders/OutputDataBuilderTests.cs | New tests verifying attribute population, timing/span IDs, and extra attribute behavior. |
| src/Observability/Runtime/Tracing/Scopes/OutputScope.cs | New OTEL scope implementation for output messages. |
| src/Observability/Runtime/Tracing/Scopes/OpenTelemetryConstants.cs | Adds OperationNames.OutputMessages. |
| src/Observability/Runtime/Tracing/Contracts/Response.cs | New response contract holding output messages + equality/hash. |
| src/Observability/Runtime/Etw/IA365EtwLogger.cs | Adds LogOutput API to ETW logger interface. |
| src/Observability/Runtime/Etw/A365EtwLogger.cs | Implements LogOutput and emits OutputMessages ETW event via OutputDataBuilder. |
| src/Observability/Runtime/DTOs/OutputData.cs | New DTO representing output operation telemetry. |
| src/Observability/Runtime/DTOs/Builders/OutputDataBuilder.cs | New builder creating output telemetry attributes from response + agent/tenant. |
Introduce new output scope which just records output messages and can be linked to a parent scope. This is primarily for scenarios in which agents produce responses asynchronously.