ToC/location/UID refactor for Metrics articles - #37547
Conversation
There was a problem hiding this comment.
Pull request overview
Refactors the ASP.NET Core Metrics documentation set to a dedicated aspnetcore/metrics node with updated UIDs, ToC structure, and redirects, and updates cross-references across the doc set to point at the new locations.
Changes:
- Rehomes Metrics articles under a new
metricsnode, updating UIDs and ToC entries accordingly. - Updates internal links/xrefs across related docs and release notes to the new Metrics UIDs/paths.
- Adds/updates supporting samples and static assets under
aspnetcore/metrics.
Reviewed changes
Copilot reviewed 18 out of 43 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| aspnetcore/toc.yml | Removes the old Metrics entries under Fundamentals > Logging and adds a new top-level Metrics section. |
| aspnetcore/security/authentication/identity.md | Updates xref to the new Metrics overview anchor for Identity metrics. |
| aspnetcore/release-notes/aspnetcore-9/includes/improved-kestrel-connection-metrics.md | Updates references to the refactored Metrics overview content. |
| aspnetcore/release-notes/aspnetcore-10/includes/memory-eviction.md | Updates xref to the new Metrics overview UID. |
| aspnetcore/release-notes/aspnetcore-10/includes/identity-metrics.md | Updates xref to the new Metrics overview UID. |
| aspnetcore/release-notes/aspnetcore-10.0.md | Updates xref to the new Metrics security UID/anchor. |
| aspnetcore/performance/rate-limit.md | Updates link to the refactored Metrics overview page. |
| aspnetcore/metrics/overview.md | Renames UID/path to metrics/overview and updates sample/static asset references. |
| aspnetcore/metrics/built-in.md | Renames UID/path to metrics/built-in and updates cross-links to topic pages. |
| aspnetcore/metrics/http.md | Renames UID/path to metrics/http and updates “Additional resources” links. |
| aspnetcore/metrics/diagnostics.md | Renames UID/path to metrics/diagnostics and updates “Additional resources” links. |
| aspnetcore/metrics/blazor.md | Renames UID/path to metrics/blazor and updates naming to “Razor components”. |
| aspnetcore/metrics/security.md | Renames UID/path to metrics/security and updates “Additional resources” links. |
| aspnetcore/fundamentals/servers/kestrel/security-considerations.md | Updates xrefs to the new Metrics overview and Kestrel metrics reference UID/anchor. |
| aspnetcore/fundamentals/servers/kestrel/memory-management.md | Updates xref to the new Metrics overview UID. |
| aspnetcore/fundamentals/servers/includes/memory-eviction2.md | Updates xref to the new Metrics overview UID. |
| aspnetcore/blazor/performance/index.md | Updates xrefs to the new built-in metrics reference UID. |
| .openpublishing.redirection.json | Adds redirects from old log-mon/metrics/* source paths to new /aspnet/core/metrics/* URLs. |
| aspnetcore/metrics/static/dashboard-screenshot.png | Moves/updates Metrics static asset under the new metrics/static path. |
| aspnetcore/metrics/static/kestrel.png | Moves/updates Metrics static asset under the new metrics/static path. |
| aspnetcore/metrics/static/metrics.png | Moves/updates Metrics static asset under the new metrics/static path. |
| aspnetcore/metrics/static/metrics2.png | Moves/updates Metrics static asset under the new metrics/static path. |
| aspnetcore/metrics/static/open_metric_exp.png | Moves/updates Metrics static asset under the new metrics/static path. |
| aspnetcore/metrics/static/prometheus_status.png | Moves/updates Metrics static asset under the new metrics/static path. |
| aspnetcore/metrics/samples/web-metrics/WebMetric.csproj | Adds a web-metrics sample project and pins OpenTelemetry package versions. |
| aspnetcore/metrics/samples/web-metrics/Program.cs | Adds the Prometheus/OpenTelemetry metrics sample app. |
| aspnetcore/metrics/samples/web-metrics/appsettings.json | Adds settings for the web-metrics sample app. |
| aspnetcore/metrics/samples/web-metrics/prometheus.yml | Adds Prometheus scrape configuration for the sample app. |
| aspnetcore/metrics/samples/metric-tests/MetricTests.csproj | Adds an integration-test project for metrics validation. |
| aspnetcore/metrics/samples/metric-tests/BasicTests.cs | Adds an integration test that collects/asserts ASP.NET Core HTTP metric tags. |
| aspnetcore/metrics/samples/metric-tests/GlobalUsings.cs | Adds xUnit global using for the metrics test project. |
| aspnetcore/metrics/samples/EnrichMetrics/Program.cs | Adds a sample showing metric tag enrichment via IHttpMetricsTagsFeature. |
| aspnetcore/metrics/samples/EnrichMetrics/EnrichMetrics.csproj | Adds the EnrichMetrics sample project file. |
| aspnetcore/metrics/samples/EnrichMetrics/appsettings.json | Adds settings for the EnrichMetrics sample app. |
| aspnetcore/metrics/samples/DisableMetrics/Program.cs | Adds a sample showing disabling HTTP metrics via endpoint metadata and middleware. |
| aspnetcore/metrics/samples/DisableMetrics/DisableMetrics.csproj | Adds the DisableMetrics sample project file. |
| aspnetcore/metrics/samples/custom-metrics/Program.cs | Adds a sample showing registering/injecting a custom metrics type. |
| aspnetcore/metrics/samples/custom-metrics/ContosoMetrics.cs | Adds a sample metrics type using IMeterFactory and a Counter<T>. |
| aspnetcore/metrics/samples/custom-metrics/SaleModel.cs | Adds a model type used by the custom metrics sample endpoint. |
| aspnetcore/metrics/samples/custom-metrics/CustomMetrics.csproj | Adds the CustomMetrics sample project file. |
| aspnetcore/metrics/samples/custom-metrics/appsettings.json | Adds settings for the custom-metrics sample app. |
| aspnetcore/metrics/samples/custom-metrics/prometheus.yml | Adds Prometheus scrape configuration for the custom-metrics sample. |
| aspnetcore/metrics/samples/custom-metrics/tests.http | Adds an HTTP file for exercising the custom-metrics sample endpoints. |
Suppressed comments (7)
aspnetcore/metrics/overview.md:8
- The file was substantially updated, but
ms.dateis still 11/10/2025. Per repo guidance, updatems.dateto today's date (08/27/2026) when making significant changes.
This issue also appears on line 20 of the same file.
aspnetcore/metrics/overview.md:22
- Minor grammar/wording issues: “set up” is two words (verb), and “list … are described” should be singular or rephrased. Consider tightening this into a single “see …” sentence.
aspnetcore/metrics/built-in.md:7 - This file’s content/links were updated; update
ms.dateto today’s date (08/27/2026) to reflect the change.
aspnetcore/metrics/http.md:7 - This file’s content/links were updated; update
ms.dateto today’s date (08/27/2026) to reflect the change.
aspnetcore/metrics/diagnostics.md:7 - This file’s content/links were updated; update
ms.dateto today’s date (08/27/2026) to reflect the change.
aspnetcore/metrics/blazor.md:8 - This file’s content/links were updated; update
ms.dateto today’s date (08/27/2026) to reflect the change.
aspnetcore/metrics/security.md:8 - This file’s content/links were updated; update
ms.dateto today’s date (08/27/2026) to reflect the change.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| These metrics can be reported to a monitoring system at regular intervals. Dashboards can be setup to view metrics and alerts created to notify people of problems. If the web service is intended to respond to requests within 400 ms and starts responding in 600 ms, the monitoring system can notify the operations staff that the app response is slower than normal. | ||
|
|
||
| See [ASP.NET Core metrics](xref:log-mon/metrics/built-in) for a comprehensive list of all instruments together with their attributes. | ||
| The comprehensive list of all instruments together with their attributes are described in <xref:metrics/built-in>. |
There was a problem hiding this comment.
| The comprehensive list of all instruments together with their attributes are described in <xref:metrics/built-in>. | |
| The comprehensive list of all instruments together with their attributes is described in <xref:metrics/built-in>. |
Very minor issue, subject-verb agreement.
wadepickett
left a comment
There was a problem hiding this comment.
@guardrex: Looks great! I did note one very minor item inline. There also is a merge conflict to resolve. I will watch so I can jump in a with a re-approval if needed.
Fixes #37546
Wade, Tom ... Before I get into the weeds with the Fundamentals node ✨ Blazorfication™ ✨😄 efforts to resolve #34356, I noticed that the Metrics series of articles seems to have had churn that led to the ToC, physical file locations, and UIDs getting kind'a messy. See if restructuring along the lines of this PR looks good.
Current:
log-mon" is part of the naming for no great reason (e.g., doesn't seem like it will help with SEO).metrics" in the overview's path and UID. Also, there's a double "metrics" in the sample and static asset links.built-in" appears in each filename without much benefit.New:
metrics") node folder and entry in the ToC.log-man" from everything.metrics" in favor of naming the overview "overview", and fix the sample/static assets links.built-in" from the subject matter files.Internal previews
Toggle expand/collapse
Note
This table shows the first 30 preview links (sorted alphabetically by file path) found in the OPS build report. For the full list, select OpenPublishing.Build Details within checks.