Skip to content
Closed
Show file tree
Hide file tree
Changes from 5 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
1 change: 1 addition & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<Deterministic>true</Deterministic>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<GenerateDocumentationFile>false</GenerateDocumentationFile>
<LangVersion>latest</LangVersion>
<NeutralLanguage>en-US</NeutralLanguage>
<!-- Disable warning about stable packages depending on prerelease packages until all OpenTelemetry dependencies are stable -->
<NoWarn>$(NoWarn);NU5104</NoWarn>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace Grafana.OpenTelemetry
/// <summary>
/// Helper class for Grafana Cloud configuration.
/// </summary>
internal class GrafanaCloudConfigurationHelper
internal sealed class GrafanaCloudConfigurationHelper
{
private const string PathExtensionTraces = "/v1/traces";
private const string PathExtensionMetrics = "/v1/metrics";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,8 @@
</AssemblyAttribute>
</ItemGroup>

<PropertyGroup Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))">
<IsAotCompatible>true</IsAotCompatible>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

namespace Grafana.OpenTelemetry
{
internal class GrafanaOpenTelemetryResourceDetector : IResourceDetector
internal sealed class GrafanaOpenTelemetryResourceDetector : IResourceDetector
{
internal const string ResourceKey_DistroName = "telemetry.distro.name";
internal const string ResourceKey_DistroVersion = "telemetry.distro.version";
Expand All @@ -25,12 +25,12 @@ public GrafanaOpenTelemetryResourceDetector(GrafanaOpenTelemetrySettings setting

public Resource Detect()
{
var attributes = new List<KeyValuePair<string, object>>(new KeyValuePair<string, object>[]
{
var attributes = new List<KeyValuePair<string, object>>(
[
new KeyValuePair<string, object>(ResourceKey_DistroName, ResourceValue_DistroName),
new KeyValuePair<string, object>(ResourceKey_DistroVersion, GetDistroVersion()),
new KeyValuePair<string, object>(ResourceKey_DeploymentEnvironment, _settings.DeploymentEnvironment)
});
]);

attributes.AddRange(_settings.ResourceAttributes);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ internal GrafanaOpenTelemetrySettings(IConfiguration configuration)
Instrumentations.Remove(Instrumentation.AWSLambda);

var disableInstrumentations = configuration[DisableInstrumentationsEnvVarName];
char[] separators = new char[] { ',', ':' };
char[] separators = [',', ':'];

if (!string.IsNullOrEmpty(disableInstrumentations))
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,21 @@

namespace Grafana.OpenTelemetry
{
internal class AWSInitializer : InstrumentationInitializer
internal sealed class AWSInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.AWS;

#if NET8_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Trace.TracerProviderBuilderExtensions", "OpenTelemetry.Instrumentation.AWS")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimWarnings.Category, TrimWarnings.CheckId, Justification = TrimWarnings.Justification)]
#endif
protected override void InitializeTracing(TracerProviderBuilder builder)
{
ReflectionHelper.CallStaticMethod(
"OpenTelemetry.Instrumentation.AWS",
"OpenTelemetry.Trace.TracerProviderBuilderExtensions",
"AddAWSInstrumentation",
new object[] { builder });
[builder]);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,21 @@

namespace Grafana.OpenTelemetry
{
internal class AWSLambdaInitializer : InstrumentationInitializer
internal sealed class AWSLambdaInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.AWSLambda;

#if NET8_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Instrumentation.AWSLambda.TracerProviderBuilderExtensions", "OpenTelemetry.Instrumentation.AWSLambda")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimWarnings.Category, TrimWarnings.CheckId, Justification = TrimWarnings.Justification)]
#endif
protected override void InitializeTracing(TracerProviderBuilder builder)
{
ReflectionHelper.CallStaticMethod(
"OpenTelemetry.Instrumentation.AWSLambda",
"OpenTelemetry.Instrumentation.AWSLambda.TracerProviderBuilderExtensions",
"AddAWSLambdaConfigurations",
new object[] { builder });
[builder]);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,34 @@

namespace Grafana.OpenTelemetry
{
internal class AspNetCoreInitializer : InstrumentationInitializer
internal sealed class AspNetCoreInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.AspNetCore;

#if NET8_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Trace.AspNetCoreInstrumentationTracerProviderBuilderExtensions", "OpenTelemetry.Instrumentation.AspNetCore")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimWarnings.Category, TrimWarnings.CheckId, Justification = TrimWarnings.Justification)]
#endif
protected override void InitializeTracing(TracerProviderBuilder builder)
{
ReflectionHelper.CallStaticMethod(
"OpenTelemetry.Instrumentation.AspNetCore",
"OpenTelemetry.Trace.AspNetCoreInstrumentationTracerProviderBuilderExtensions",
"AddAspNetCoreInstrumentation",
new object[] { builder });
[builder]);
}

#if NET8_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Metrics.AspNetCoreInstrumentationMeterProviderBuilderExtensions", "OpenTelemetry.Instrumentation.AspNetCore")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimWarnings.Category, TrimWarnings.CheckId, Justification = TrimWarnings.Justification)]
#endif
protected override void InitializeMetrics(MeterProviderBuilder builder)
{
ReflectionHelper.CallStaticMethod(
"OpenTelemetry.Instrumentation.AspNetCore",
"OpenTelemetry.Metrics.AspNetCoreInstrumentationMeterProviderBuilderExtensions",
"AddAspNetCoreInstrumentation",
new object[] { builder });
[builder]);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,34 @@

namespace Grafana.OpenTelemetry
{
internal class AspNetInitializer : InstrumentationInitializer
internal sealed class AspNetInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.AspNet;

#if NET8_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Trace.TracerProviderBuilderExtensions", "OpenTelemetry.Instrumentation.AspNet")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimWarnings.Category, TrimWarnings.CheckId, Justification = TrimWarnings.Justification)]
#endif
protected override void InitializeTracing(TracerProviderBuilder builder)
{
ReflectionHelper.CallStaticMethod(
"OpenTelemetry.Instrumentation.AspNet",
"OpenTelemetry.Trace.TracerProviderBuilderExtensions",
"AddAspNetInstrumentation",
new object[] { builder });
[builder]);
}

#if NET8_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Metrics.MeterProviderBuilderExtensions", "OpenTelemetry.Instrumentation.AspNet")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimWarnings.Category, TrimWarnings.CheckId, Justification = TrimWarnings.Justification)]
#endif
protected override void InitializeMetrics(MeterProviderBuilder builder)
{
ReflectionHelper.CallStaticMethod(
"OpenTelemetry.Instrumentation.AspNet",
"OpenTelemetry.Metrics.MeterProviderBuilderExtensions",
"AddAspNetInstrumentation",
new object[] { builder });
[builder]);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,21 @@

namespace Grafana.OpenTelemetry
{
internal class CassandraInitializer : InstrumentationInitializer
internal sealed class CassandraInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.Cassandra;

#if NET8_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Metrics.MeterProviderBuilderExtensions", "OpenTelemetry.Instrumentation.Cassandra")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimWarnings.Category, TrimWarnings.CheckId, Justification = TrimWarnings.Justification)]
#endif
protected override void InitializeMetrics(MeterProviderBuilder builder)
{
ReflectionHelper.CallStaticMethod(
"OpenTelemetry.Instrumentation.Cassandra",
"OpenTelemetry.Metrics.MeterProviderBuilderExtensions",
"AddCassandraInstrumentation",
new object[] { builder });
[builder]);
}

protected override void InitializeTracing(TracerProviderBuilder builder)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,21 @@

namespace Grafana.OpenTelemetry
{
internal class ElasticsearchClientInitializer : InstrumentationInitializer
internal sealed class ElasticsearchClientInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.ElasticsearchClient;

#if NET8_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Trace.TracerProviderBuilderExtensions", "OpenTelemetry.Instrumentation.ElasticsearchClient")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimWarnings.Category, TrimWarnings.CheckId, Justification = TrimWarnings.Justification)]
#endif
protected override void InitializeTracing(TracerProviderBuilder builder)
{
ReflectionHelper.CallStaticMethod(
"OpenTelemetry.Instrumentation.ElasticsearchClient",
"OpenTelemetry.Trace.TracerProviderBuilderExtensions",
"AddElasticsearchClientInstrumentation",
new object[] { builder });
[builder]);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,21 @@

namespace Grafana.OpenTelemetry
{
internal class EntityFrameworkCoreInitializer : InstrumentationInitializer
internal sealed class EntityFrameworkCoreInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.EntityFrameworkCore;

#if NET8_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Trace.TracerProviderBuilderExtensions", "OpenTelemetry.Instrumentation.EntityFrameworkCore")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimWarnings.Category, TrimWarnings.CheckId, Justification = TrimWarnings.Justification)]
#endif
protected override void InitializeTracing(TracerProviderBuilder builder)
{
ReflectionHelper.CallStaticMethod(
"OpenTelemetry.Instrumentation.EntityFrameworkCore",
"OpenTelemetry.Trace.TracerProviderBuilderExtensions",
"AddEntityFrameworkCoreInstrumentation",
new object[] { builder });
[builder]);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

namespace Grafana.OpenTelemetry
{
internal class GrpcNetClientInitializer : InstrumentationInitializer
internal sealed class GrpcNetClientInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.GrpcNetClient;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,21 @@

namespace Grafana.OpenTelemetry
{
internal class HangfireInitializer : InstrumentationInitializer
internal sealed class HangfireInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.Hangfire;

#if NET8_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Trace.TracerProviderBuilderExtensions", "OpenTelemetry.Instrumentation.Hangfire")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimWarnings.Category, TrimWarnings.CheckId, Justification = TrimWarnings.Justification)]
#endif
protected override void InitializeTracing(TracerProviderBuilder builder)
{
ReflectionHelper.CallStaticMethod(
"OpenTelemetry.Instrumentation.Hangfire",
"OpenTelemetry.Trace.TracerProviderBuilderExtensions",
"AddHangfireInstrumentation",
new object[] { builder });
[builder]);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace Grafana.OpenTelemetry
{
internal class HttpClientInitializer : InstrumentationInitializer
internal sealed class HttpClientInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.HttpClient;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,30 @@

namespace Grafana.OpenTelemetry
{
internal class MySqlDataInitializer : InstrumentationInitializer
internal sealed class MySqlDataInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.MySqlData;

#if NET8_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Instrumentation.MySqlData", "OpenTelemetry.Instrumentation.MySqlData")]
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Trace.TracerProviderBuilderExtensions", "MySQL.Data.OpenTelemetry")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimWarnings.Category, TrimWarnings.CheckId, Justification = TrimWarnings.Justification)]
#endif
protected override void InitializeTracing(TracerProviderBuilder builder)
{
// MySQL.Data.OpenTelemetry
ReflectionHelper.CallStaticMethod(
"MySQL.Data.OpenTelemetry",
"OpenTelemetry.Trace.TracerProviderBuilderExtensions",
"AddConnectorNet",
new object[] { builder });
[builder]);

// OpenTelemetry.Instrumentation.MySqlData
ReflectionHelper.CallStaticMethod(
"OpenTelemetry.Instrumentation.MySqlData",
"OpenTelemetry.Trace.TracerProviderBuilderExtensions",
"AddMySqlDataInstrumentation",
new object[] { builder });
[builder]);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

namespace Grafana.OpenTelemetry
{
internal class NetRuntimeMetricsInitializer : InstrumentationInitializer
internal sealed class NetRuntimeMetricsInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.NetRuntime;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,21 @@

namespace Grafana.OpenTelemetry
{
internal class OwinInitializer : InstrumentationInitializer
internal sealed class OwinInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.Owin;

#if NET8_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Trace.TracerProviderBuilderExtensions", "OpenTelemetry.Instrumentation.Owin")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimWarnings.Category, TrimWarnings.CheckId, Justification = TrimWarnings.Justification)]
#endif
protected override void InitializeTracing(TracerProviderBuilder builder)
{
ReflectionHelper.CallStaticMethod(
"OpenTelemetry.Instrumentation.Owin",
"OpenTelemetry.Trace.TracerProviderBuilderExtensions",
"AddOwinInstrumentation",
new object[] { builder, null });
[builder, null]);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

namespace Grafana.OpenTelemetry
{
internal class ProcessMetricsInitializer : InstrumentationInitializer
internal sealed class ProcessMetricsInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.Process;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,21 @@

namespace Grafana.OpenTelemetry
{
internal class QuartzInitializer : InstrumentationInitializer
internal sealed class QuartzInitializer : InstrumentationInitializer
{
public override Instrumentation Id { get; } = Instrumentation.Quartz;

#if NET8_0_OR_GREATER
[System.Diagnostics.CodeAnalysis.DynamicDependency(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All, "OpenTelemetry.Trace.TraceProviderBuilderExtensions", "OpenTelemetry.Instrumentation.Quartz")]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage(TrimWarnings.Category, TrimWarnings.CheckId, Justification = TrimWarnings.Justification)]
#endif
protected override void InitializeTracing(TracerProviderBuilder builder)
{
ReflectionHelper.CallStaticMethod(
"OpenTelemetry.Instrumentation.Quartz",
"OpenTelemetry.Trace.TraceProviderBuilderExtensions",
"AddQuartzInstrumentation",
new object[] { builder });
[builder]);
}
}
}
Loading
Loading