// Copyright © WireMock.Net
using JetBrains.Annotations;
namespace WireMock.OpenTelemetry;
///
/// OpenTelemetry exporter configuration options for WireMock.Net.
/// These options control the export of traces to an OTLP endpoint.
/// For controlling what data is recorded in traces, configure ActivityTracingOptions in WireMockServerSettings.
///
public class OpenTelemetryOptions
{
///
/// Gets or sets a value indicating whether to exclude admin interface requests from ASP.NET Core instrumentation.
/// Default is true.
///
///
/// This controls the ASP.NET Core HTTP server instrumentation filter.
/// To also exclude admin requests from WireMock's own activity tracing,
/// set ActivityTracingOptions.ExcludeAdminRequests in WireMockServerSettings.
///
[PublicAPI]
public bool ExcludeAdminRequests { get; set; } = true;
///
/// Gets or sets the OTLP exporter endpoint URL.
/// When set, traces will be exported to this endpoint using the OTLP protocol.
/// Example: "http://localhost:4317" for gRPC or "http://localhost:4318" for HTTP.
/// If not set, the OTLP exporter will use the OTEL_EXPORTER_OTLP_ENDPOINT environment variable,
/// or fall back to the default endpoint (http://localhost:4317 for gRPC).
///
[PublicAPI]
public string? OtlpExporterEndpoint { get; set; }
}