Evgeny Fedorov
Evgeny Fedorov
### Background and motivation As a follow-up of this [comment](https://github.com/dotnet/extensions/issues/4915#issuecomment-1917444351) and this [issue](https://github.com/dotnet/runtime/issues/82465), I am proposing a more generalized solution below. Note: a new optional State with log record timestamps...
### Description Resource Monitoring for Windows reports memory usage of the process the app is running in. Instead of that, it should consider memory usage of all the processes running...
Metric names in ResourceUtilizationInstruments have incorrect keys https://github.com/dotnet/extensions/blob/10681a1cdb1e044b05341150203b94d5eec41557/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ResourceUtilizationInstruments.cs 1. `public const string CpuUtilization = "process.cpu.utilization";` - in reality, the CPU utilization is measured for all processes in a container, not...
Following PRs related to metrics were recently merged in the dotnet/extensions repo: 1. https://github.com/dotnet/extensions/pull/5290 2. https://github.com/dotnet/extensions/pull/5341 3. https://github.com/dotnet/extensions/pull/5367 which, shortly, include these changes: - Completely new `container.*` metrics were added....
### Proposed topic or title Custom implementation of IResourceMonitor ### Location in table of contents. New articled in the Resource Monitoring section or a new paragraph in docs/core/diagnostics/diagnostic-resource-monitoring.md ### Reason...
Related to the https://github.com/dotnet/extensions/issues/5123 proposal, this PR is focused on the logging sampling only. ###### Microsoft Reviewers: [Open in CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/dotnet/extensions/pull/5574)
Fixes #5472 ###### Microsoft Reviewers: [Open in CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/dotnet/extensions/pull/5473)
### Description Metrics on Windows report values in the [0,100] range despite the documentation mentioning the [0,1] range: https://learn.microsoft.com/en-us/dotnet/core/diagnostics/built-in-metrics-diagnostics#metric-containercpulimitutilization For example, if container CPU limit utilization is 60%, the metric...
Provide a new observable instrument (probably, counter?) for CPU ticks which will be always going up. Essentially, [this](https://github.com/dotnet/extensions/blob/39f5d27bf5503b42d8743d47d853aac973d12b49/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Windows/WindowsContainerSnapshotProvider.cs#L222) value. Customers will be able to build their own CPU utilization logic...
Currently, [ResourceMonitoring](https://github.com/dotnet/extensions/tree/main/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring) can be consumed in two ways: - via [IResourceMonitor](https://github.com/dotnet/extensions/blob/main/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/IResourceMonitor.cs) API which internally uses [ResourceMonitorService](https://github.com/dotnet/extensions/blob/39f5d27bf5503b42d8743d47d853aac973d12b49/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ResourceMonitorService.cs) implementing `BackgroundService` - via [Observable instruments](https://github.com/dotnet/extensions/blob/main/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ResourceUtilizationInstruments.cs) (metrics). Both ways provide the same resource monitoring...