Skip to content

Commit c6cbce8

Browse files
authored
Adds OperatingSystem resource detector (#113)
1 parent 88566a7 commit c6cbce8

File tree

6 files changed

+36
-0
lines changed

6 files changed

+36
-0
lines changed

CHANGELOG.md

+5
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
* Remove workaround for stable `service.instance.id` across signals
1818
([#108](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/108))
1919

20+
### New features
21+
22+
* Adds Operating System resource detector.
23+
([#113](https://github.com/grafana/grafana-opentelemetry-dotnet/pull/113))
24+
2025
## 0.9.0-beta.1
2126

2227
### BREAKING CHANGES

src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
<ItemGroup Condition=" '$(TargetFramework)' != 'netstandard2.0' ">
5252
<PackageReference Include="OpenTelemetry.Resources.AWS" Version="1.5.0-beta.1" />
5353
<PackageReference Include="OpenTelemetry.Resources.Host" Version="0.1.0-beta.2" />
54+
<PackageReference Include="OpenTelemetry.Resources.OperatingSystem" Version="0.1.0-alpha.2" />
5455
<PackageReference Include="OpenTelemetry.Resources.Process" Version="0.1.0-beta.2" />
5556
<PackageReference Include="OpenTelemetry.Resources.ProcessRuntime" Version="0.1.0-beta.2" />
5657
</ItemGroup>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
//
2+
// Copyright Grafana Labs
3+
// SPDX-License-Identifier: Apache-2.0
4+
//
5+
6+
#if !NETSTANDARD
7+
8+
using OpenTelemetry.Resources;
9+
10+
namespace Grafana.OpenTelemetry
11+
{
12+
internal class OperatingSystemResourceInitializer : ResourceDetectorInitializer
13+
{
14+
public override ResourceDetector Id { get; } = ResourceDetector.Process;
15+
16+
protected override ResourceBuilder InitializeResourceDetector(ResourceBuilder builder)
17+
{
18+
return builder.AddOperatingSystemDetector();
19+
}
20+
}
21+
}
22+
23+
#endif

src/Grafana.OpenTelemetry.Base/ResourceDetectors/ResourceDetector.cs

+5
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@ public enum ResourceDetector
5050
/// </summary>
5151
Host,
5252

53+
/// <summary>
54+
/// Host Resource Detector (OpenTelemetry.ResourceDetectors.Host)
55+
/// </summary>
56+
OperatingSystem,
57+
5358
/// <summary>
5459
/// Process Resource Detector (OpenTelemetry.ResourceDetectors.Process)
5560
/// </summary>

src/Grafana.OpenTelemetry.Base/ResourceDetectors/ResourceDetectorInitializer.cs

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ internal abstract class ResourceDetectorInitializer
3030
#endif
3131
#if !NETSTANDARD
3232
new HostResourceInitializer(),
33+
new OperatingSystemResourceInitializer(),
3334
new ProcessResourceInitializer(),
3435
new ProcessRuntimeResourceInitializer()
3536
#endif

tests/Grafana.OpenTelemetry.Tests/ResourceDetectorTest.cs

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public void EnumMatchesInitializers()
2929
#endif
3030
#if NETSTANDARD
3131
expected.Remove(ResourceDetector.Host);
32+
expected.Remove(ResourceDetector.OperatingSystem);
3233
expected.Remove(ResourceDetector.Process);
3334
expected.Remove(ResourceDetector.ProcessRuntime);
3435
#endif

0 commit comments

Comments
 (0)