public TracerProviderBuilder BeforeConfigureTracerProvider()

in src/Elastic.OpenTelemetry.AutoInstrumentation/AutoInstrumentationPlugin.cs [37:61]


	public TracerProviderBuilder BeforeConfigureTracerProvider(TracerProviderBuilder builder)
	{
		var logger = _components.Logger;

		try
		{
			builder.ConfigureResource(r => r.WithElasticDefaultsCore(_components, null, null));

			builder.ConfigureServices(sc => sc.Configure<OtlpExporterOptions>(OtlpExporterDefaults.OtlpExporterOptions));

			TracerProvderBuilderExtensions.AddActivitySourceWithLogging(builder, logger, "Elastic.Transport", "<n/a>");
			TracerProvderBuilderExtensions.AddElasticProcessorsCore(builder, null, _components, null);

			logger.LogConfiguredSignalProvider("Traces", nameof(TracerProviderBuilder), "<n/a>");

			return builder;
		}
		catch (Exception ex)
		{
			logger.LogError(new EventId(520, "AutoInstrumentationTracerFailure"), ex,
				"Failed to register EDOT defaults for tracing auto-instrumentation to the TracerProviderBuilder.");
		}

		return builder;
	}