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

Lines changed: 4 additions & 0 deletions
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

Lines changed: 1 addition & 0 deletions
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

Lines changed: 6 additions & 5 deletions
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

Lines changed: 1 addition & 0 deletions
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

Lines changed: 1 addition & 0 deletions
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

Lines changed: 1 addition & 0 deletions
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

Lines changed: 1 addition & 0 deletions
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

Lines changed: 1 addition & 0 deletions
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

Lines changed: 1 addition & 0 deletions
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

Lines changed: 11 additions & 0 deletions
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+
```

0 commit comments

Comments
 (0)