Add Kubernetes Resource Monitoring documentation#54134
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds documentation and a runnable snippet that explains how to use Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes to calculate resource monitoring metrics based on Kubernetes Downward API-provided limits/requests.
Changes:
- Added a new “Kubernetes resource monitoring” section to the existing resource monitoring article, including Downward API configuration guidance.
- Added a new runnable snippet project and minimal host-based sample that registers Kubernetes resource monitoring.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 12 comments.
| File | Description |
|---|---|
| docs/core/diagnostics/diagnostic-resource-monitoring.md | Adds a Kubernetes-focused resource monitoring section, including configuration guidance, metric list, and example output. |
| docs/core/diagnostics/snippets/resource-monitoring-kubernetes/Program.cs | Adds a minimal host-based snippet showing AddKubernetesResourceMonitoring("MY_APP_"). |
| docs/core/diagnostics/snippets/resource-monitoring-kubernetes/resource-monitoring-kubernetes.csproj | Adds a new snippet project referencing the Kubernetes resource monitoring package and hosting/logging dependencies. |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…deuszl/docs into alechniak/k8s-rm-docs-update
|
@tommcdon can you please review? |
|
@dotnet/docs can you please review? |
BillWagner
left a comment
There was a problem hiding this comment.
Hi @amadeuszl
I added a few comments, and then this is ready to merge.
|
|
||
| <PropertyGroup> | ||
| <OutputType>Exe</OutputType> | ||
| <TargetFramework>net8.0</TargetFramework> |
There was a problem hiding this comment.
Is there a reason for .NET 8 instead of .NET 10?
| @@ -0,0 +1,13 @@ | |||
| // <setup> | |||
There was a problem hiding this comment.
nit, but because you include the entire file, you don't need the snippet tags:
| // <setup> |
|
|
||
| In your application code, call <xref:Microsoft.Extensions.DependencyInjection.KubernetesResourceQuotaServiceCollectionExtensions.AddKubernetesResourceMonitoring*> with the environment variable prefix that matches your Kubernetes manifest: | ||
|
|
||
| :::code source="snippets/resource-monitoring-kubernetes/Program.cs" id="setup"::: |
There was a problem hiding this comment.
If you make the changes I suggested in program.cs, you can remove the id here:
| :::code source="snippets/resource-monitoring-kubernetes/Program.cs" id="setup"::: | |
| :::code source="snippets/resource-monitoring-kubernetes/Program.cs"::: |
| .Build(); | ||
|
|
||
| await app.RunAsync(); | ||
| // </setup> |
There was a problem hiding this comment.
to match:
| // </setup> |
|
|
||
| When you run your application inside a Kubernetes pod with the environment variables configured, the metrics produce values such as: | ||
|
|
||
| ``` |
There was a problem hiding this comment.
Add the language tag for proper formatting:
| ``` | |
| ```console |
Summary
It adds documentation about changes implemented due to dotnet/extensions#6496
Internal previews