Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Copy link
Member

Choose a reason for hiding this comment

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

do we really need this file? I don't remember having to generate it here https://github.com/dotnet/extensions/pull/7161/changes, for instance

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm getting failures in the build because of lack of the experimental flag for new API. I though it will disable it but it didn't, the <EnablePackageValidation>false</EnablePackageValidation> is not fixing that either.

Copy link
Member

Choose a reason for hiding this comment

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

Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:Microsoft.Extensions.DependencyInjection.KubernetesResourceQuotaServiceCollectionExtensions</Target>
<Left>lib/net462/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes.dll</Left>
<Right>lib/net462/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:Microsoft.Extensions.DependencyInjection.KubernetesResourceQuotaServiceCollectionExtensions</Target>
<Left>lib/net8.0/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes.dll</Left>
<Right>lib/net8.0/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:Microsoft.Extensions.DependencyInjection.KubernetesResourceQuotaServiceCollectionExtensions</Target>
<Left>lib/net9.0/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes.dll</Left>
<Right>lib/net9.0/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
<Target>T:Microsoft.Extensions.DependencyInjection.KubernetesResourceQuotaServiceCollectionExtensions</Target>
<Left>lib/net10.0/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes.dll</Left>
<Right>lib/net10.0/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
</Suppressions>
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,10 @@
</PropertyGroup>

<PropertyGroup>
<InjectExperimentalAttributeOnLegacy>true</InjectExperimentalAttributeOnLegacy>
</PropertyGroup>

<PropertyGroup>
<Stage>dev</Stage>
<StageDevDiagnosticId>EXTEXP0016</StageDevDiagnosticId>
<Stage>normal</Stage>
<MinCodeCoverage>99</MinCodeCoverage>
<MinMutationScore>90</MinMutationScore>
<MinMutationScore>95</MinMutationScore>
<EnablePackageValidation>false</EnablePackageValidation> <!-- To be removed once released as stable -->
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"Name": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Kubernetes, Version=10.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35",
"Types": [
{
"Type": "static class Microsoft.Extensions.DependencyInjection.KubernetesResourceQuotaServiceCollectionExtensions",
"Stage": "Stable",
"Methods": [
{
"Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.KubernetesResourceQuotaServiceCollectionExtensions.AddKubernetesResourceMonitoring(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, string? environmentVariablePrefix = null);",
"Stage": "Stable"
}
]
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@
// The .NET Foundation licenses this file to you under the MIT license.

using System;
using System.Diagnostics.CodeAnalysis;
using Microsoft.Shared.DiagnosticIds;

namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring;

/// <summary>
/// An interface to be implemented by a provider that represents an underlying system and gets resources data about it.
/// </summary>
[Experimental(diagnosticId: DiagnosticIds.Experiments.ResourceMonitoring, UrlFormat = DiagnosticIds.UrlFormat)]
[Obsolete(DiagnosticIds.Obsoletions.NonObservableResourceMonitoringApiMessage,
DiagnosticId = DiagnosticIds.Obsoletions.NonObservableResourceMonitoringApiDiagId,
UrlFormat = DiagnosticIds.UrlFormat)]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,53 +1,69 @@
{
"Name": "Microsoft.Extensions.Diagnostics.ResourceMonitoring, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35",
"Name": "Microsoft.Extensions.Diagnostics.ResourceMonitoring, Version=10.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35",
"Types": [
{
"Type": "interface Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitor",
"Stage": "Stable",
"Stage": "Obsolete",
"Methods": [
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitor.GetUtilization(System.TimeSpan window);",
"Stage": "Stable"
"Stage": "Obsolete"
}
]
},
{
"Type": "interface Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder",
"Stage": "Stable",
"Stage": "Obsolete",
"Methods": [
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder.AddPublisher<T>();",
"Stage": "Stable"
"Stage": "Obsolete"
}
],
"Properties": [
{
"Member": "Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder.Services { get; }",
"Stage": "Stable"
"Stage": "Obsolete"
}
]
},
{
"Type": "interface Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceUtilizationPublisher",
"Stage": "Stable",
"Stage": "Obsolete",
"Methods": [
{
"Member": "System.Threading.Tasks.ValueTask Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceUtilizationPublisher.PublishAsync(Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization utilization, System.Threading.CancellationToken cancellationToken);",
"Stage": "Stable"
"Stage": "Obsolete"
}
]
},
{
"Type": "interface Microsoft.Extensions.Diagnostics.ResourceMonitoring.ISnapshotProvider",
"Stage": "Obsolete",
"Methods": [
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot Microsoft.Extensions.Diagnostics.ResourceMonitoring.ISnapshotProvider.GetSnapshot();",
"Stage": "Obsolete"
}
],
"Properties": [
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources Microsoft.Extensions.Diagnostics.ResourceMonitoring.ISnapshotProvider.Resources { get; }",
"Stage": "Obsolete"
}
]
},
{
"Type": "static class Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringBuilderExtensions",
"Stage": "Stable",
"Stage": "Obsolete",
"Methods": [
{
"Member": "static Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringBuilderExtensions.ConfigureMonitor(this Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder builder, System.Action<Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions> configure);",
"Stage": "Stable"
"Stage": "Obsolete"
},
{
"Member": "static Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringBuilderExtensions.ConfigureMonitor(this Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder builder, Microsoft.Extensions.Configuration.IConfigurationSection section);",
"Stage": "Stable"
"Stage": "Obsolete"
}
]
},
Expand All @@ -63,27 +79,39 @@
"Properties": [
{
"Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.CollectionWindow { get; set; }",
"Stage": "Stable"
"Stage": "Obsolete"
},
{
"Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.CpuConsumptionRefreshInterval { get; set; }",
"Stage": "Stable"
"Stage": "Obsolete"
},
{
"Member": "bool Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.EnableSystemDiskIoMetrics { get; set; }",
"Stage": "Experimental"
},
{
"Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.MemoryConsumptionRefreshInterval { get; set; }",
"Stage": "Stable"
"Stage": "Obsolete"
},
{
"Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.PublishingWindow { get; set; }",
"Stage": "Stable"
"Stage": "Obsolete"
},
{
"Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.SamplingInterval { get; set; }",
"Stage": "Stable"
"Stage": "Obsolete"
},
{
"Member": "System.Collections.Generic.ISet<string> Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.SourceIpAddresses { get; set; }",
"Stage": "Stable"
},
{
"Member": "bool Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.UseLinuxCalculationV2 { get; set; }",
"Stage": "Experimental"
},
{
"Member": "bool Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceMonitoringOptions.UseZeroToOneRangeForMetrics { get; set; }",
"Stage": "Experimental"
}
]
},
Expand All @@ -97,71 +125,149 @@
},
{
"Member": "static Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.DependencyInjection.ResourceMonitoringServiceCollectionExtensions.AddResourceMonitoring(this Microsoft.Extensions.DependencyInjection.IServiceCollection services, System.Action<Microsoft.Extensions.Diagnostics.ResourceMonitoring.IResourceMonitorBuilder> configure);",
"Stage": "Obsolete"
}
]
},
{
"Type": "sealed class Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceQuota",
"Stage": "Stable",
"Methods": [
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceQuota.ResourceQuota();",
"Stage": "Stable"
}
],
"Properties": [
{
"Member": "double Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceQuota.BaselineCpuInCores { get; set; }",
"Stage": "Stable"
},
{
"Member": "ulong Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceQuota.BaselineMemoryInBytes { get; set; }",
"Stage": "Stable"
},
{
"Member": "double Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceQuota.MaxCpuInCores { get; set; }",
"Stage": "Stable"
},
{
"Member": "ulong Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceQuota.MaxMemoryInBytes { get; set; }",
"Stage": "Stable"
}
]
},
{
"Type": "readonly struct Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization",
"Type": "abstract class Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceQuotaProvider",
"Stage": "Stable",
"Methods": [
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.ResourceUtilization(double cpuUsedPercentage, ulong memoryUsedInBytes, Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources systemResources);",
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceQuotaProvider.ResourceQuotaProvider();",
"Stage": "Stable"
},
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.ResourceUtilization();",
"Member": "abstract Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceQuota Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceQuotaProvider.GetResourceQuota();",
"Stage": "Stable"
}
]
},
{
"Type": "readonly struct Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization",
"Stage": "Obsolete",
"Methods": [
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.ResourceUtilization(double cpuUsedPercentage, ulong memoryUsedInBytes, Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources systemResources);",
"Stage": "Obsolete"
},
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.ResourceUtilization();",
"Stage": "Obsolete"
}
],
"Properties": [
{
"Member": "double Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.CpuUsedPercentage { get; }",
"Stage": "Stable"
"Stage": "Obsolete"
},
{
"Member": "ulong Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.MemoryUsedInBytes { get; }",
"Stage": "Stable"
"Stage": "Obsolete"
},
{
"Member": "double Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.MemoryUsedPercentage { get; }",
"Stage": "Stable"
"Stage": "Obsolete"
},
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.Snapshot { get; }",
"Stage": "Experimental"
},
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources Microsoft.Extensions.Diagnostics.ResourceMonitoring.ResourceUtilization.SystemResources { get; }",
"Stage": "Stable"
"Stage": "Obsolete"
}
]
},
{
"Type": "readonly struct Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot",
"Stage": "Obsolete",
"Methods": [
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.Snapshot(System.TimeSpan totalTimeSinceStart, System.TimeSpan kernelTimeSinceStart, System.TimeSpan userTimeSinceStart, ulong memoryUsageInBytes);",
"Stage": "Obsolete"
},
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.Snapshot();",
"Stage": "Obsolete"
}
],
"Properties": [
{
"Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.KernelTimeSinceStart { get; }",
"Stage": "Obsolete"
},
{
"Member": "ulong Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.MemoryUsageInBytes { get; }",
"Stage": "Obsolete"
},
{
"Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.TotalTimeSinceStart { get; }",
"Stage": "Obsolete"
},
{
"Member": "System.TimeSpan Microsoft.Extensions.Diagnostics.ResourceMonitoring.Snapshot.UserTimeSinceStart { get; }",
"Stage": "Obsolete"
}
]
},
{
"Type": "readonly struct Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources",
"Stage": "Stable",
"Stage": "Obsolete",
"Methods": [
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources.SystemResources(double guaranteedCpuUnits, double maximumCpuUnits, ulong guaranteedMemoryInBytes, ulong maximumMemoryInBytes);",
"Stage": "Stable"
"Stage": "Obsolete"
},
{
"Member": "Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources.SystemResources();",
"Stage": "Stable"
"Stage": "Obsolete"
}
],
"Properties": [
{
"Member": "double Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources.GuaranteedCpuUnits { get; }",
"Stage": "Stable"
"Stage": "Obsolete"
},
{
"Member": "ulong Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources.GuaranteedMemoryInBytes { get; }",
"Stage": "Stable"
"Stage": "Obsolete"
},
{
"Member": "double Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources.MaximumCpuUnits { get; }",
"Stage": "Stable"
"Stage": "Obsolete"
},
{
"Member": "ulong Microsoft.Extensions.Diagnostics.ResourceMonitoring.SystemResources.MaximumMemoryInBytes { get; }",
"Stage": "Stable"
"Stage": "Obsolete"
}
]
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System.Diagnostics.CodeAnalysis;
using Microsoft.Shared.DiagnosticIds;

namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring;

/// <summary>
Expand All @@ -15,7 +12,6 @@ namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring;
/// <remarks>
/// Max values will be emitted by limit metrics, and baseline values will be emmited by request metrics.
/// </remarks>
[Experimental(diagnosticId: DiagnosticIds.Experiments.ResourceMonitoring, UrlFormat = DiagnosticIds.UrlFormat)]
public sealed class ResourceQuota
{
/// <summary>
Expand Down
Loading
Loading