Skip to content

Commit bab8a9b

Browse files
authored
Move ResourceUtilizationInstruments to Shared project (#5844)
* Move ResourceUtilizationInstruments to Shared project * Update readme * Fix warnings
1 parent bf3ac53 commit bab8a9b

18 files changed

+41
-8
lines changed

eng/MSBuild/Shared.props

+4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
<Compile Include="$(MSBuildThisFileDirectory)\..\..\src\Shared\EmptyCollections\*.cs" LinkBase="Shared\EmptyCollections" />
1212
</ItemGroup>
1313

14+
<ItemGroup Condition="'$(InjectSharedInstruments)' == 'true'">
15+
<Compile Include="$(MSBuildThisFileDirectory)\..\..\src\Shared\Instruments\*.cs" LinkBase="Shared\Instruments" />
16+
</ItemGroup>
17+
1418
<ItemGroup Condition="'$(InjectSharedRentedSpan)' == 'true'">
1519
<Compile Include="$(MSBuildThisFileDirectory)\..\..\src\Shared\RentedSpan\*.cs" LinkBase="Shared\RentedSpan" />
1620
</ItemGroup>

src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<InjectSharedDiagnosticIds>true</InjectSharedDiagnosticIds>
1212
<InjectExperimentalAttributeOnLegacy>true</InjectExperimentalAttributeOnLegacy>
1313
<InjectObsoleteAttributeOnLegacy>true</InjectObsoleteAttributeOnLegacy>
14+
<InjectSharedInstruments>true</InjectSharedInstruments>
1415
</PropertyGroup>
1516

1617
<PropertyGroup>

src/Libraries/Microsoft.Extensions.Diagnostics.HealthChecks.ResourceUtilization/ResourceUtilizationHealthCheck.cs

+6-5
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using Microsoft.Extensions.Diagnostics.ResourceMonitoring;
1010
using Microsoft.Extensions.Options;
1111
using Microsoft.Shared.Diagnostics;
12+
using Microsoft.Shared.Instruments;
1213

1314
namespace Microsoft.Extensions.Diagnostics.HealthChecks;
1415

@@ -157,7 +158,7 @@ private void Dispose(bool disposing)
157158

158159
private void OnInstrumentPublished(Instrument instrument, MeterListener listener)
159160
{
160-
if (instrument.Meter.Name is "Microsoft.Extensions.Diagnostics.ResourceMonitoring")
161+
if (instrument.Meter.Name == ResourceUtilizationInstruments.MeterName)
161162
{
162163
listener.EnableMeasurementEvents(instrument);
163164
}
@@ -169,12 +170,12 @@ private void OnMeasurementRecorded(
169170
{
170171
switch (instrument.Name)
171172
{
172-
case "process.cpu.utilization":
173-
case "container.cpu.limit.utilization":
173+
case ResourceUtilizationInstruments.ProcessCpuUtilization:
174+
case ResourceUtilizationInstruments.ContainerCpuLimitUtilization:
174175
_cpuUsedPercentage = measurement * _multiplier;
175176
break;
176-
case "dotnet.process.memory.virtual.utilization":
177-
case "container.memory.limit.utilization":
177+
case ResourceUtilizationInstruments.ProcessMemoryUtilization:
178+
case ResourceUtilizationInstruments.ContainerMemoryLimitUtilization:
178179
_memoryUsedPercentage = measurement * _multiplier;
179180
break;
180181
}

src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Linux/LinuxUtilizationProvider.cs

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using Microsoft.Extensions.Logging;
77
using Microsoft.Extensions.Logging.Abstractions;
88
using Microsoft.Extensions.Options;
9+
using Microsoft.Shared.Instruments;
910

1011
namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring.Linux;
1112

src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Linux/Network/LinuxNetworkMetrics.cs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Collections.Generic;
55
using System.Diagnostics;
66
using System.Diagnostics.Metrics;
7+
using Microsoft.Shared.Instruments;
78

89
namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring.Linux.Network;
910

src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Microsoft.Extensions.Diagnostics.ResourceMonitoring.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<InjectSharedBufferWriterPool>true</InjectSharedBufferWriterPool>
1818
<InjectSharedDiagnosticIds>true</InjectSharedDiagnosticIds>
1919
<InjectStringSplitExtensions>true</InjectStringSplitExtensions>
20+
<InjectSharedInstruments>true</InjectSharedInstruments>
2021
</PropertyGroup>
2122

2223
<PropertyGroup>

src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Windows/Network/WindowsNetworkMetrics.cs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
using System.Collections.Generic;
55
using System.Diagnostics;
66
using System.Diagnostics.Metrics;
7+
using Microsoft.Shared.Instruments;
78

89
namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring.Windows.Network;
910

src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Windows/WindowsContainerSnapshotProvider.cs

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using Microsoft.Extensions.Logging;
1010
using Microsoft.Extensions.Logging.Abstractions;
1111
using Microsoft.Extensions.Options;
12+
using Microsoft.Shared.Instruments;
1213

1314
namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring.Windows;
1415

src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/Windows/WindowsSnapshotProvider.cs

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using Microsoft.Extensions.Logging;
1010
using Microsoft.Extensions.Logging.Abstractions;
1111
using Microsoft.Extensions.Options;
12+
using Microsoft.Shared.Instruments;
1213

1314
namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring.Windows;
1415

src/Shared/Instruments/README.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Diagnostic IDs
2+
3+
Contains common telemetry instruments names that are created or consumed in other projects.
4+
5+
To use this in your project, add the following to your `.csproj` file:
6+
7+
```xml
8+
<PropertyGroup>
9+
<InjectSharedInstruments>true</InjectSharedInstruments>
10+
</PropertyGroup>
11+
```
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
// Licensed to the .NET Foundation under one or more agreements.
22
// The .NET Foundation licenses this file to you under the MIT license.
33

4-
using System;
4+
#pragma warning disable CA1716
5+
namespace Microsoft.Shared.Instruments;
6+
#pragma warning restore CA1716
57

6-
namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring;
8+
#pragma warning disable CS1574
79

810
/// <summary>
911
/// Represents the names of instruments published by this package.
@@ -64,3 +66,5 @@ internal static class ResourceUtilizationInstruments
6466
/// </remarks>
6567
public const string SystemNetworkConnections = "system.network.connections";
6668
}
69+
70+
#pragma warning disable CS1574

test/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Tests/Linux/AcceptanceTest.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
using Microsoft.Extensions.Configuration;
1212
using Microsoft.Extensions.DependencyInjection;
1313
using Microsoft.Extensions.DependencyInjection.Extensions;
14-
using Microsoft.Extensions.Diagnostics.ResourceMonitoring.Linux.Test;
1514
using Microsoft.Extensions.Hosting;
1615
using Microsoft.Extensions.Hosting.Testing;
1716
using Microsoft.Extensions.Options;
1817
using Microsoft.Extensions.Time.Testing;
18+
using Microsoft.Shared.Instruments;
1919
using Microsoft.TestUtilities;
2020
using Xunit;
2121

test/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Tests/Linux/LinuxCountersTests.cs

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using System.Threading;
88
using FluentAssertions;
99
using Microsoft.Extensions.Diagnostics.ResourceMonitoring.Linux.Network;
10+
using Microsoft.Shared.Instruments;
1011
using Moq;
1112
using Xunit;
1213

test/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Tests/Linux/LinuxNetworkMetricsTests.cs

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Linq;
66
using Microsoft.Extensions.Diagnostics.ResourceMonitoring.Linux.Network;
77
using Microsoft.Extensions.Diagnostics.ResourceMonitoring.Test.Helpers;
8+
using Microsoft.Shared.Instruments;
89
using Microsoft.TestUtilities;
910
using Moq;
1011
using Xunit;

test/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Tests/Linux/LinuxUtilizationProviderTests.cs

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using System.Threading.Tasks;
1010
using Microsoft.Extensions.Diagnostics.ResourceMonitoring.Test.Helpers;
1111
using Microsoft.Extensions.Logging.Testing;
12+
using Microsoft.Shared.Instruments;
1213
using Microsoft.TestUtilities;
1314
using Moq;
1415
using VerifyXunit;

test/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Tests/Windows/WindowsContainerSnapshotProviderTests.cs

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
using Microsoft.Extensions.Diagnostics.ResourceMonitoring.Windows.Interop;
1111
using Microsoft.Extensions.Logging.Testing;
1212
using Microsoft.Extensions.Time.Testing;
13+
using Microsoft.Shared.Instruments;
1314
using Moq;
1415
using VerifyXunit;
1516
using Xunit;

test/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Tests/Windows/WindowsNetworkMetricsTests.cs

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Linq;
66
using Microsoft.Extensions.Diagnostics.ResourceMonitoring.Test.Helpers;
77
using Microsoft.Extensions.Diagnostics.ResourceMonitoring.Windows.Network;
8+
using Microsoft.Shared.Instruments;
89
using Microsoft.TestUtilities;
910
using Moq;
1011
using Xunit;

test/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Tests/Windows/WindowsSnapshotProviderTests.cs

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using Microsoft.Extensions.Logging.Testing;
1212
using Microsoft.Extensions.Options;
1313
using Microsoft.Extensions.Time.Testing;
14+
using Microsoft.Shared.Instruments;
1415
using Microsoft.TestUtilities;
1516
using Moq;
1617
using VerifyXunit;

0 commit comments

Comments
 (0)