Open telemetry update - #617
Open
Yuan Qu (yuanqu72) wants to merge 9 commits into
Open
Conversation
…sample, tests, and docs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…sink Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…Monitor OpenTelemetry Distro. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…instead of surfacing a confusing test-time error. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…net.ps1 conflict and migrating OpenTelemetry test project from net9.0 to net10.0. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Matthew Metcalf (mrm9084)
requested review from
linglingye001
and
a balanced review from Copilot
September 1, 2026 18:35
Copilot started reviewing on behalf of
Matthew Metcalf (mrm9084)
September 1, 2026 18:36
View session
Matthew Metcalf (mrm9084)
requested a review
from Zhiyuan Liang (zhiyuanliang-ms)
September 1, 2026 18:36
There was a problem hiding this comment.
Pull request overview
Adds an OpenTelemetry telemetry package, integration tests, and an ASP.NET Core demonstration application.
Changes:
- Publishes feature-evaluation events and enriches spans/logs with targeting IDs.
- Adds comprehensive OpenTelemetry tests and build integration.
- Adds and documents an Azure Monitor demo application.
Reviewed changes
Copilot reviewed 47 out of 101 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
.gitignore |
Ignores local build notes. |
README.md |
Links the new demo. |
Microsoft.FeatureManagement.sln |
Registers new projects and platforms. |
build/install-dotnet.ps1 |
Installs and verifies .NET 8/10. |
pack.ps1 |
Packages the telemetry project. |
test.ps1 |
Runs the new tests. |
src/Microsoft.FeatureManagement.Telemetry.OpenTelemetry/FeatureManagementBuilderExtensions.cs |
Registers OpenTelemetry integration. |
src/Microsoft.FeatureManagement.Telemetry.OpenTelemetry/Microsoft.FeatureManagement.Telemetry.OpenTelemetry.csproj |
Defines the package. |
src/Microsoft.FeatureManagement.Telemetry.OpenTelemetry/OpenTelemetryEventPublisher.cs |
Converts evaluations into log events. |
src/Microsoft.FeatureManagement.Telemetry.OpenTelemetry/OpenTelemetryHostedService.cs |
Initializes event publishing. |
src/Microsoft.FeatureManagement.Telemetry.OpenTelemetry/TargetingActivityProcessor.cs |
Enriches spans. |
src/Microsoft.FeatureManagement.Telemetry.OpenTelemetry/TargetingLogProcessor.cs |
Enriches logs. |
tests/Tests.FeatureManagement.Telemetry.OpenTelemetry/ActivityLogCorrelationTests.cs |
Tests exported log attributes. |
tests/Tests.FeatureManagement.Telemetry.OpenTelemetry/AssemblyInfo.cs |
Disables parallel tests. |
tests/Tests.FeatureManagement.Telemetry.OpenTelemetry/CapturingLoggerProvider.cs |
Provides test log capture. |
tests/Tests.FeatureManagement.Telemetry.OpenTelemetry/EventPropertiesTests.cs |
Tests event schema values. |
tests/Tests.FeatureManagement.Telemetry.OpenTelemetry/FeatureManagementBuilderExtensionsTests.cs |
Tests registration behavior. |
tests/Tests.FeatureManagement.Telemetry.OpenTelemetry/HostedServiceLifecycleTests.cs |
Tests listener lifecycle. |
tests/Tests.FeatureManagement.Telemetry.OpenTelemetry/OpenTelemetryEventPublisherTests.cs |
Tests event publication. |
tests/Tests.FeatureManagement.Telemetry.OpenTelemetry/TargetingActivityProcessorTests.cs |
Tests span enrichment. |
tests/Tests.FeatureManagement.Telemetry.OpenTelemetry/TargetingLogProcessorTests.cs |
Tests log enrichment. |
tests/Tests.FeatureManagement.Telemetry.OpenTelemetry/Tests.FeatureManagement.Telemetry.OpenTelemetry.csproj |
Configures telemetry tests. |
examples/OpenTelemetryDemo/LoggerExtensions.cs |
Defines custom log events. |
examples/OpenTelemetryDemo/OpenTelemetryDemo.csproj |
Configures the demo project. |
examples/OpenTelemetryDemo/Program.cs |
Wires telemetry and middleware. |
examples/OpenTelemetryDemo/README.md |
Documents demo usage. |
examples/OpenTelemetryDemo/appsettings.Development.json |
Sets development logging. |
examples/OpenTelemetryDemo/appsettings.json |
Defines flags and telemetry metadata. |
examples/OpenTelemetryDemo/Pages/Checkout.cshtml |
Adds checkout UI. |
examples/OpenTelemetryDemo/Pages/Checkout.cshtml.cs |
Emits checkout telemetry. |
examples/OpenTelemetryDemo/Pages/Error.cshtml |
Adds the error page. |
examples/OpenTelemetryDemo/Pages/Error.cshtml.cs |
Supplies error details. |
examples/OpenTelemetryDemo/Pages/Index.cshtml |
Adds image-rating UI. |
examples/OpenTelemetryDemo/Pages/Index.cshtml.cs |
Evaluates variants and records votes. |
examples/OpenTelemetryDemo/Pages/RandomizeUser.cshtml |
Adds user-randomization endpoint. |
examples/OpenTelemetryDemo/Pages/RandomizeUser.cshtml.cs |
Creates the targeting identity. |
examples/OpenTelemetryDemo/Pages/Shared/_Layout.cshtml |
Defines shared layout. |
examples/OpenTelemetryDemo/Pages/Shared/_Layout.cshtml.css |
Styles shared layout. |
examples/OpenTelemetryDemo/Pages/Shared/_ValidationScriptsPartial.cshtml |
Loads validation scripts. |
examples/OpenTelemetryDemo/Pages/_ViewImports.cshtml |
Imports Razor helpers. |
examples/OpenTelemetryDemo/Pages/_ViewStart.cshtml |
Selects the layout. |
examples/OpenTelemetryDemo/wwwroot/css/site.css |
Adds demo styling. |
examples/OpenTelemetryDemo/wwwroot/favicon.ico |
Adds the site icon. |
examples/OpenTelemetryDemo/wwwroot/js/site.js |
Adds the site script placeholder. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/LICENSE |
Includes Bootstrap licensing. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css |
Vendors Bootstrap grid CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css |
Vendors minified grid CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css |
Vendors RTL grid CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css |
Vendors minified RTL grid CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css |
Vendors Bootstrap reboot CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css |
Vendors minified reboot CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css |
Vendors RTL reboot CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css |
Vendors minified RTL reboot CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css |
Vendors Bootstrap utilities CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css |
Vendors minified utilities CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css |
Vendors RTL utilities CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css |
Vendors minified RTL utilities CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap.css |
Vendors Bootstrap CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css |
Vendors minified Bootstrap CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css |
Vendors RTL Bootstrap CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css |
Vendors minified RTL CSS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js |
Vendors bundled Bootstrap JS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js |
Vendors minified bundled JS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js |
Vendors Bootstrap ESM. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js |
Vendors minified ESM. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/js/bootstrap.js |
Vendors Bootstrap JS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js |
Vendors minified Bootstrap JS. |
examples/OpenTelemetryDemo/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/jquery/LICENSE.txt |
Includes jQuery licensing. |
examples/OpenTelemetryDemo/wwwroot/lib/jquery/dist/jquery.js |
Vendors jQuery. |
examples/OpenTelemetryDemo/wwwroot/lib/jquery/dist/jquery.min.js |
Vendors minified jQuery. |
examples/OpenTelemetryDemo/wwwroot/lib/jquery/dist/jquery.min.map |
Vendors its source map. |
examples/OpenTelemetryDemo/wwwroot/lib/jquery-validation/LICENSE.md |
Includes validation licensing. |
examples/OpenTelemetryDemo/wwwroot/lib/jquery-validation/dist/additional-methods.js |
Vendors additional validators. |
examples/OpenTelemetryDemo/wwwroot/lib/jquery-validation/dist/additional-methods.min.js |
Vendors minified validators. |
examples/OpenTelemetryDemo/wwwroot/lib/jquery-validation/dist/jquery.validate.js |
Vendors jQuery Validation. |
examples/OpenTelemetryDemo/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js |
Vendors minified validation. |
examples/OpenTelemetryDemo/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt |
Includes unobtrusive-validation licensing. |
examples/OpenTelemetryDemo/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js |
Vendors unobtrusive validation. |
examples/OpenTelemetryDemo/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js |
Vendors its minified build. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Yuan Qu (yuanqu72)
requested review from
Jimmy Campbell (jimmyca15) and
Matthew Metcalf (mrm9084)
September 1, 2026 20:31
…riting existing TargetingId tag, and remove unused Bootstrap dist files Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request adds a new OpenTelemetry demo to the repository, demonstrating how to integrate OpenTelemetry-based telemetry and metrics with ASP.NET Core applications. It also introduces a new telemetry-related project, updates the solution structure, and enhances the documentation to include the new example.
Major additions and changes:
New Example Application:
OpenTelemetryDemo, which demonstrates using OpenTelemetry for logging custom events and tracking metrics in an ASP.NET Core web app. The demo includes pages for checkout and error handling, and showcases integration with Azure Monitor OpenTelemetry Exporter. [1] [2] [3] [4] [5] [6]Solution and Project Structure Updates:
Microsoft.FeatureManagement.slnto include the newOpenTelemetryDemoexample, the newMicrosoft.FeatureManagement.Telemetry.OpenTelemetryproject, and its associated test project. Also added asrcsolution folder and configured solution/project build settings for x64 and x86 platforms. [1] [2]Documentation:
README.mdto reference the new OpenTelemetry demo, making it discoverable for users looking for telemetry integration examples.Testing Strategy:
OpenTelemetryDemois running and sending telemetry to my dedicated App Insights.