opentelemetry-dotnet-instru.../src/OpenTelemetry.AutoInstrumen.../Configurations/DelayedInitialization.cs

100 lines
4.1 KiB
C#

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
using System.Runtime.CompilerServices;
using OpenTelemetry.AutoInstrumentation.Loading;
using OpenTelemetry.AutoInstrumentation.Loading.Initializers;
using OpenTelemetry.AutoInstrumentation.Plugins;
namespace OpenTelemetry.AutoInstrumentation.Configurations;
internal static class DelayedInitialization
{
internal static class Traces
{
#if NETFRAMEWORK
[MethodImpl(MethodImplOptions.NoInlining)]
public static void AddAspNet(LazyInstrumentationLoader lazyInstrumentationLoader, PluginManager pluginManager, TracerSettings tracerSettings)
{
new AspNetInitializer(lazyInstrumentationLoader, pluginManager, tracerSettings);
}
#endif
#if NET
[MethodImpl(MethodImplOptions.NoInlining)]
public static void AddAspNetCore(LazyInstrumentationLoader lazyInstrumentationLoader, PluginManager pluginManager, TracerSettings tracerSettings)
{
lazyInstrumentationLoader.Add(new AspNetCoreInitializer(pluginManager, tracerSettings));
}
#endif
[MethodImpl(MethodImplOptions.NoInlining)]
public static void AddHttpClient(LazyInstrumentationLoader lazyInstrumentationLoader, PluginManager pluginManager, TracerSettings tracerSettings)
{
new HttpClientInitializer(lazyInstrumentationLoader, pluginManager, tracerSettings);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static void AddGrpcClient(LazyInstrumentationLoader lazyInstrumentationLoader, PluginManager pluginManager, TracerSettings tracerSettings)
{
lazyInstrumentationLoader.Add(new GrpcClientInitializer(pluginManager, tracerSettings));
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static void AddSqlClient(LazyInstrumentationLoader lazyInstrumentationLoader, PluginManager pluginManager, TracerSettings tracerSettings)
{
new SqlClientTracerInitializer(lazyInstrumentationLoader, pluginManager, tracerSettings);
}
#if NET
[MethodImpl(MethodImplOptions.NoInlining)]
public static void AddEntityFrameworkCore(LazyInstrumentationLoader lazyInstrumentationLoader, PluginManager pluginManager, TracerSettings tracerSettings)
{
lazyInstrumentationLoader.Add(new EntityFrameworkCoreInitializer(pluginManager, tracerSettings));
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static void AddGraphQL(LazyInstrumentationLoader lazyInstrumentationLoader, PluginManager pluginManager, TracerSettings tracerSettings)
{
lazyInstrumentationLoader.Add(new GraphQLInitializer(pluginManager, tracerSettings));
}
#endif
[MethodImpl(MethodImplOptions.NoInlining)]
public static void AddQuartz(LazyInstrumentationLoader lazyInstrumentationLoader, PluginManager pluginManager)
{
lazyInstrumentationLoader.Add(new QuartzInitializer(pluginManager));
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static void AddOracleMda(LazyInstrumentationLoader lazyInstrumentationLoader, TracerSettings tracerSettings)
{
lazyInstrumentationLoader.Add(new OracleMdaInitializer(tracerSettings));
}
}
internal static class Metrics
{
#if NETFRAMEWORK
[MethodImpl(MethodImplOptions.NoInlining)]
public static void AddAspNet(LazyInstrumentationLoader lazyInstrumentationLoader, PluginManager pluginManager)
{
new AspNetMetricsInitializer(lazyInstrumentationLoader, pluginManager);
}
#endif
[MethodImpl(MethodImplOptions.NoInlining)]
public static void AddHttpClient(LazyInstrumentationLoader lazyInstrumentationLoader)
{
new HttpClientMetricsInitializer(lazyInstrumentationLoader);
}
[MethodImpl(MethodImplOptions.NoInlining)]
public static void AddSqlClient(LazyInstrumentationLoader lazyInstrumentationLoader, PluginManager pluginManager)
{
new SqlClientMetricsInitializer(lazyInstrumentationLoader, pluginManager);
}
}
}