diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/CHANGELOG.md b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/CHANGELOG.md index a913db719f68..f5268acb9626 100644 --- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/CHANGELOG.md +++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/CHANGELOG.md @@ -10,11 +10,16 @@ ### Other Changes +* Made `AzureMonitorLogExporter`, `AzureMonitorMetricExporter`, `AzureMonitorTraceExporter`. + ([#56344](https://github.com/Azure/azure-sdk-for-net/pull/56344)) +* Made options `EnablePerfCounters` and `EnableStandardMetrics` public in `AzureMonitorExporterOptions`. + ([#56344](https://github.com/Azure/azure-sdk-for-net/pull/56344)) + ## 1.6.0 (2026-01-28) ### Other Changes -* The customer-facing SDK stats feature +* The customer-facing SDK stats feature metric names have been updated to match the stable specification. - **Metric names changed**: `preview.item.success.count` → `Item_Success_Count`, `preview.item.dropped.count` → `Item_Dropped_Count`, diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.net10.0.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.net10.0.cs index 53c085939808..f909b08d18a5 100644 --- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.net10.0.cs +++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.net10.0.cs @@ -15,6 +15,8 @@ public AzureMonitorExporterOptions(Azure.Monitor.OpenTelemetry.Exporter.AzureMon public Azure.Core.TokenCredential Credential { get { throw null; } set { } } public bool DisableOfflineStorage { get { throw null; } set { } } public bool EnableLiveMetrics { get { throw null; } set { } } + public bool EnablePerfCounters { get { throw null; } set { } } + public bool EnableStandardMetrics { get { throw null; } set { } } public bool EnableTraceBasedLogsSampler { get { throw null; } set { } } public float SamplingRatio { get { throw null; } set { } } public string StorageDirectory { get { throw null; } set { } } @@ -25,11 +27,29 @@ public enum ServiceVersion v2_1 = 1, } } + public sealed partial class AzureMonitorLogExporter : OpenTelemetry.BaseExporter + { + public AzureMonitorLogExporter(Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorExporterOptions options) { } + protected override void Dispose(bool disposing) { } + public override OpenTelemetry.ExportResult Export(in OpenTelemetry.Batch batch) { throw null; } + } + public sealed partial class AzureMonitorMetricExporter : OpenTelemetry.BaseExporter + { + public AzureMonitorMetricExporter(Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorExporterOptions options) { } + protected override void Dispose(bool disposing) { } + public override OpenTelemetry.ExportResult Export(in OpenTelemetry.Batch batch) { throw null; } + } public partial class AzureMonitorOpenTelemetryExporterContext : System.ClientModel.Primitives.ModelReaderWriterContext { public AzureMonitorOpenTelemetryExporterContext() { } public Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorOpenTelemetryExporterContext Default { get { throw null; } } } + public sealed partial class AzureMonitorTraceExporter : OpenTelemetry.BaseExporter + { + public AzureMonitorTraceExporter(Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorExporterOptions options) { } + protected override void Dispose(bool disposing) { } + public override OpenTelemetry.ExportResult Export(in OpenTelemetry.Batch batch) { throw null; } + } public static partial class OpenTelemetryBuilderExtensions { public static OpenTelemetry.IOpenTelemetryBuilder UseAzureMonitorExporter(this OpenTelemetry.IOpenTelemetryBuilder builder) { throw null; } diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.net8.0.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.net8.0.cs index 53c085939808..f909b08d18a5 100644 --- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.net8.0.cs +++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.net8.0.cs @@ -15,6 +15,8 @@ public AzureMonitorExporterOptions(Azure.Monitor.OpenTelemetry.Exporter.AzureMon public Azure.Core.TokenCredential Credential { get { throw null; } set { } } public bool DisableOfflineStorage { get { throw null; } set { } } public bool EnableLiveMetrics { get { throw null; } set { } } + public bool EnablePerfCounters { get { throw null; } set { } } + public bool EnableStandardMetrics { get { throw null; } set { } } public bool EnableTraceBasedLogsSampler { get { throw null; } set { } } public float SamplingRatio { get { throw null; } set { } } public string StorageDirectory { get { throw null; } set { } } @@ -25,11 +27,29 @@ public enum ServiceVersion v2_1 = 1, } } + public sealed partial class AzureMonitorLogExporter : OpenTelemetry.BaseExporter + { + public AzureMonitorLogExporter(Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorExporterOptions options) { } + protected override void Dispose(bool disposing) { } + public override OpenTelemetry.ExportResult Export(in OpenTelemetry.Batch batch) { throw null; } + } + public sealed partial class AzureMonitorMetricExporter : OpenTelemetry.BaseExporter + { + public AzureMonitorMetricExporter(Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorExporterOptions options) { } + protected override void Dispose(bool disposing) { } + public override OpenTelemetry.ExportResult Export(in OpenTelemetry.Batch batch) { throw null; } + } public partial class AzureMonitorOpenTelemetryExporterContext : System.ClientModel.Primitives.ModelReaderWriterContext { public AzureMonitorOpenTelemetryExporterContext() { } public Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorOpenTelemetryExporterContext Default { get { throw null; } } } + public sealed partial class AzureMonitorTraceExporter : OpenTelemetry.BaseExporter + { + public AzureMonitorTraceExporter(Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorExporterOptions options) { } + protected override void Dispose(bool disposing) { } + public override OpenTelemetry.ExportResult Export(in OpenTelemetry.Batch batch) { throw null; } + } public static partial class OpenTelemetryBuilderExtensions { public static OpenTelemetry.IOpenTelemetryBuilder UseAzureMonitorExporter(this OpenTelemetry.IOpenTelemetryBuilder builder) { throw null; } diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.netstandard2.0..cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.netstandard2.0..cs deleted file mode 100644 index 10ac099587ee..000000000000 --- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.netstandard2.0..cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace Azure.Monitor.OpenTelemetry.Exporter -{ - public static partial class AzureMonitorExporterExtensions - { - public static OpenTelemetry.Logs.LoggerProviderBuilder AddAzureMonitorLogExporter(this OpenTelemetry.Logs.LoggerProviderBuilder builder, System.Action configure = null, Azure.Core.TokenCredential credential = null, string name = null) { throw null; } - public static OpenTelemetry.Logs.OpenTelemetryLoggerOptions AddAzureMonitorLogExporter(this OpenTelemetry.Logs.OpenTelemetryLoggerOptions loggerOptions, System.Action configure = null, Azure.Core.TokenCredential credential = null) { throw null; } - public static OpenTelemetry.Metrics.MeterProviderBuilder AddAzureMonitorMetricExporter(this OpenTelemetry.Metrics.MeterProviderBuilder builder, System.Action configure = null, Azure.Core.TokenCredential credential = null, string name = null) { throw null; } - public static OpenTelemetry.Trace.TracerProviderBuilder AddAzureMonitorTraceExporter(this OpenTelemetry.Trace.TracerProviderBuilder builder, System.Action configure = null, Azure.Core.TokenCredential credential = null, string name = null) { throw null; } - } - public partial class AzureMonitorExporterOptions : Azure.Core.ClientOptions - { - public AzureMonitorExporterOptions() { } - public AzureMonitorExporterOptions(Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorExporterOptions.ServiceVersion version = Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorExporterOptions.ServiceVersion.v2_1) { } - public string ConnectionString { get { throw null; } set { } } - public Azure.Core.TokenCredential Credential { get { throw null; } set { } } - public bool DisableOfflineStorage { get { throw null; } set { } } - public bool EnableLiveMetrics { get { throw null; } set { } } - public float SamplingRatio { get { throw null; } set { } } - public double? TracesPerSecond { get { throw null; } set { } } - public string StorageDirectory { get { throw null; } set { } } - public Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorExporterOptions.ServiceVersion Version { get { throw null; } set { } } - public enum ServiceVersion - { - v2_1 = 1, - } - } - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public partial class AzureMonitorOpenTelemetryExporterContext : System.ClientModel.Primitives.ModelReaderWriterContext - { - public AzureMonitorOpenTelemetryExporterContext() { } - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - public Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorOpenTelemetryExporterContext Default { get { throw null; } } - } - public static partial class OpenTelemetryBuilderExtensions - { - public static OpenTelemetry.IOpenTelemetryBuilder UseAzureMonitorExporter(this OpenTelemetry.IOpenTelemetryBuilder builder) { throw null; } - public static OpenTelemetry.IOpenTelemetryBuilder UseAzureMonitorExporter(this OpenTelemetry.IOpenTelemetryBuilder builder, System.Action configureAzureMonitor) { throw null; } - } -} \ No newline at end of file diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.netstandard2.0.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.netstandard2.0.cs index 53c085939808..f909b08d18a5 100644 --- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.netstandard2.0.cs +++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/api/Azure.Monitor.OpenTelemetry.Exporter.netstandard2.0.cs @@ -15,6 +15,8 @@ public AzureMonitorExporterOptions(Azure.Monitor.OpenTelemetry.Exporter.AzureMon public Azure.Core.TokenCredential Credential { get { throw null; } set { } } public bool DisableOfflineStorage { get { throw null; } set { } } public bool EnableLiveMetrics { get { throw null; } set { } } + public bool EnablePerfCounters { get { throw null; } set { } } + public bool EnableStandardMetrics { get { throw null; } set { } } public bool EnableTraceBasedLogsSampler { get { throw null; } set { } } public float SamplingRatio { get { throw null; } set { } } public string StorageDirectory { get { throw null; } set { } } @@ -25,11 +27,29 @@ public enum ServiceVersion v2_1 = 1, } } + public sealed partial class AzureMonitorLogExporter : OpenTelemetry.BaseExporter + { + public AzureMonitorLogExporter(Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorExporterOptions options) { } + protected override void Dispose(bool disposing) { } + public override OpenTelemetry.ExportResult Export(in OpenTelemetry.Batch batch) { throw null; } + } + public sealed partial class AzureMonitorMetricExporter : OpenTelemetry.BaseExporter + { + public AzureMonitorMetricExporter(Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorExporterOptions options) { } + protected override void Dispose(bool disposing) { } + public override OpenTelemetry.ExportResult Export(in OpenTelemetry.Batch batch) { throw null; } + } public partial class AzureMonitorOpenTelemetryExporterContext : System.ClientModel.Primitives.ModelReaderWriterContext { public AzureMonitorOpenTelemetryExporterContext() { } public Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorOpenTelemetryExporterContext Default { get { throw null; } } } + public sealed partial class AzureMonitorTraceExporter : OpenTelemetry.BaseExporter + { + public AzureMonitorTraceExporter(Azure.Monitor.OpenTelemetry.Exporter.AzureMonitorExporterOptions options) { } + protected override void Dispose(bool disposing) { } + public override OpenTelemetry.ExportResult Export(in OpenTelemetry.Batch batch) { throw null; } + } public static partial class OpenTelemetryBuilderExtensions { public static OpenTelemetry.IOpenTelemetryBuilder UseAzureMonitorExporter(this OpenTelemetry.IOpenTelemetryBuilder builder) { throw null; } diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorExporterOptions.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorExporterOptions.cs index 935539a6ab61..36065562f8f5 100644 --- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorExporterOptions.cs +++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorExporterOptions.cs @@ -124,13 +124,13 @@ public enum ServiceVersion /// Gets or sets a value indicating whether standard metrics should be collected. /// Default is true. /// - internal bool EnableStandardMetrics { get; set; } = true; + public bool EnableStandardMetrics { get; set; } = true; /// /// Gets or sets a value indicating whether performance counters should be collected. /// Default is true. /// - internal bool EnablePerfCounters { get; set; } = true; + public bool EnablePerfCounters { get; set; } = true; internal void SetValueToLiveMetricsOptions(AzureMonitorLiveMetricsOptions liveMetricsOptions) { diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorLogExporter.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorLogExporter.cs index da7ffd144164..b60cd9430d38 100644 --- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorLogExporter.cs +++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorLogExporter.cs @@ -12,9 +12,9 @@ namespace Azure.Monitor.OpenTelemetry.Exporter { /// - /// Azure Monitor Log Exporter. + /// An exporter that sends logs to Application Insights. /// - internal sealed class AzureMonitorLogExporter : BaseExporter + public sealed class AzureMonitorLogExporter : BaseExporter { private readonly ITransmitter _transmitter; private readonly string _instrumentationKey; diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorMetricExporter.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorMetricExporter.cs index d971241a53f0..4d0af734e12d 100644 --- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorMetricExporter.cs +++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorMetricExporter.cs @@ -11,13 +11,20 @@ namespace Azure.Monitor.OpenTelemetry.Exporter { - internal sealed class AzureMonitorMetricExporter : BaseExporter + /// + /// An exporter that sends metrics to Application Insights. + /// + public sealed class AzureMonitorMetricExporter : BaseExporter { private readonly ITransmitter _transmitter; private readonly string _instrumentationKey; private AzureMonitorResource? _resource; private bool _disposed; + /// + /// Initializes a new instance of the class. + /// + /// Configuration options for the metric exporter. public AzureMonitorMetricExporter(AzureMonitorExporterOptions options) : this(TransmitterFactory.Instance.Get(options)) { } @@ -63,6 +70,7 @@ public override ExportResult Export(in Batch batch) return exportResult; } + /// protected override void Dispose(bool disposing) { if (!_disposed) diff --git a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorTraceExporter.cs b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorTraceExporter.cs index f4730a7f9b18..56379651b354 100644 --- a/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorTraceExporter.cs +++ b/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/src/AzureMonitorTraceExporter.cs @@ -11,7 +11,10 @@ namespace Azure.Monitor.OpenTelemetry.Exporter { - internal sealed class AzureMonitorTraceExporter : BaseExporter + /// + /// An exporter that sends trace data to Application Insights. + /// + public sealed class AzureMonitorTraceExporter : BaseExporter { private readonly ITransmitter _transmitter; private readonly string _instrumentationKey; @@ -19,6 +22,10 @@ internal sealed class AzureMonitorTraceExporter : BaseExporter private AzureMonitorResource? _resource; private bool _disposed; + /// + /// Initializes a new instance of the class. + /// + /// Configuration options for the trace exporter. public AzureMonitorTraceExporter(AzureMonitorExporterOptions options) : this(options, TransmitterFactory.Instance.Get(options)) { } @@ -56,6 +63,7 @@ public override ExportResult Export(in Batch batch) return exportResult; } + /// protected override void Dispose(bool disposing) { if (!_disposed)