public CustomOtlpTraceExporter()

in src/Elastic.Ingest.OpenTelemetry/CustomOtlpTraceExporter.cs [23:37]


	public CustomOtlpTraceExporter(OtlpExporterOptions options, TraceChannelOptions channelOptions) : base(options)
	{
		var type = GetType();
		var attrbutes = new[] { new KeyValuePair<string, object>("telemetry.sdk.language", "dotnet") };
		var resource = ResourceBuilder.CreateDefault();
			if (!string.IsNullOrWhiteSpace(channelOptions.ServiceName))
				resource.AddService(channelOptions.ServiceName);

		var buildResource = resource.AddAttributes(attrbutes).Build();
		// hack but there is no other way to set a resource without spinning up the world
		// through SDK.
		// internal void SetResource(Resource resource)
		var prop = type.BaseType?.GetMethod("SetResource", BindingFlags.Instance | BindingFlags.NonPublic);
		prop?.Invoke(this, new object?[]{ buildResource });
	}