Skip to content

ToC/location/UID refactor for Metrics articles - #37547

Open
guardrex wants to merge 3 commits into
mainfrom
guardrex/metrics-fundamentals-reorg
Open

ToC/location/UID refactor for Metrics articles#37547
guardrex wants to merge 3 commits into
mainfrom
guardrex/metrics-fundamentals-reorg

Conversation

@guardrex

@guardrex guardrex commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

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:

  • All of the articles are in the Fundamentals node.
  • The overview is outside of the Metrics node in the Fundamentals node.
  • "log-mon" is part of the naming for no great reason (e.g., doesn't seem like it will help with SEO).
  • Double "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:

  • Proper Metrics ("metrics") node folder and entry in the ToC.
  • The Fundamentals > Logging area links to the Metrics node overview.
  • Drop "log-man" from everything.
  • Get rid of the double "metrics" in favor of naming the overview "overview", and fix the sample/static assets links.
  • Drop "built-in" from the subject matter files.
  • Fix a few minor NITs along the way.
  • Add entries to the redirection file for these changes.

Internal previews

Toggle expand/collapse
File Preview link
.openpublishing.redirection.json .openpublishing.redirection.json
aspnetcore/blazor/performance/index.md aspnetcore/blazor/performance/index
aspnetcore/fundamentals/servers/includes/memory-eviction2.md aspnetcore/fundamentals/servers/includes/memory-eviction2
aspnetcore/fundamentals/servers/kestrel/memory-management.md aspnetcore/fundamentals/servers/kestrel/memory-management
aspnetcore/fundamentals/servers/kestrel/security-considerations.md aspnetcore/fundamentals/servers/kestrel/security-considerations
aspnetcore/metrics/blazor.md aspnetcore/metrics/blazor
aspnetcore/metrics/built-in.md aspnetcore/metrics/built-in
aspnetcore/metrics/diagnostics.md aspnetcore/metrics/diagnostics
aspnetcore/metrics/http.md aspnetcore/metrics/http
aspnetcore/metrics/overview.md aspnetcore/metrics/overview
aspnetcore/metrics/samples/custom-metrics/ContosoMetrics.cs aspnetcore/metrics/samples/custom-metrics/ContosoMetrics.cs
aspnetcore/metrics/samples/custom-metrics/Program.cs aspnetcore/metrics/samples/custom-metrics/Program.cs
aspnetcore/metrics/samples/DisableMetrics/Program.cs aspnetcore/metrics/samples/DisableMetrics/Program.cs
aspnetcore/metrics/samples/EnrichMetrics/Program.cs aspnetcore/metrics/samples/EnrichMetrics/Program.cs
aspnetcore/metrics/samples/metric-tests/BasicTests.cs aspnetcore/metrics/samples/metric-tests/BasicTests.cs
aspnetcore/metrics/samples/web-metrics/Program.cs aspnetcore/metrics/samples/web-metrics/Program.cs
aspnetcore/metrics/samples/web-metrics/prometheus.yml aspnetcore/metrics/samples/web-metrics/prometheus
aspnetcore/metrics/security.md aspnetcore/metrics/security
aspnetcore/metrics/static/dashboard-screenshot.png aspnetcore/metrics/static/dashboard-screenshot.png
aspnetcore/metrics/static/kestrel.png aspnetcore/metrics/static/kestrel.png
aspnetcore/metrics/static/metrics.png aspnetcore/metrics/static/metrics.png
aspnetcore/metrics/static/metrics2.png aspnetcore/metrics/static/metrics2.png
aspnetcore/metrics/static/open_metric_exp.png aspnetcore/metrics/static/open_metric_exp.png
aspnetcore/metrics/static/prometheus_status.png aspnetcore/metrics/static/prometheus_status.png
aspnetcore/performance/rate-limit.md aspnetcore/performance/rate-limit
aspnetcore/release-notes/aspnetcore-10.0.md aspnetcore/release-notes/aspnetcore-10.0
aspnetcore/release-notes/aspnetcore-10/includes/identity-metrics.md aspnetcore/release-notes/aspnetcore-10/includes/identity-metrics
aspnetcore/release-notes/aspnetcore-10/includes/memory-eviction.md aspnetcore/release-notes/aspnetcore-10/includes/memory-eviction
aspnetcore/release-notes/aspnetcore-9/includes/improved-kestrel-connection-metrics.md aspnetcore/release-notes/aspnetcore-9/includes/improved-kestrel-connection-metrics
aspnetcore/security/authentication/identity.md aspnetcore/security/authentication/identity

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.

@guardrex guardrex self-assigned this Aug 27, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 metrics node, 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.date is still 11/10/2025. Per repo guidance, update ms.date to 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.date to today’s date (08/27/2026) to reflect the change.
    aspnetcore/metrics/http.md:7
  • This file’s content/links were updated; update ms.date to today’s date (08/27/2026) to reflect the change.
    aspnetcore/metrics/diagnostics.md:7
  • This file’s content/links were updated; update ms.date to today’s date (08/27/2026) to reflect the change.
    aspnetcore/metrics/blazor.md:8
  • This file’s content/links were updated; update ms.date to today’s date (08/27/2026) to reflect the change.
    aspnetcore/metrics/security.md:8
  • This file’s content/links were updated; update ms.date to 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.

Comment thread aspnetcore/toc.yml Outdated
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>.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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 wadepickett left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consider a ToC/location/UID refactor for Metrics articles Update ASP.NET Core fundamentals docs to highlight Blazor

3 participants