Skip to content

Commit 05b8408

Browse files
authored
[geneva] Nullable annotations for registration extensions (open-telemetry#2067)
1 parent 2f76c24 commit 05b8408

File tree

4 files changed

+40
-24
lines changed

4 files changed

+40
-24
lines changed

src/OpenTelemetry.Exporter.Geneva/.publicApi/PublicAPI.Shipped.txt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,13 @@ override OpenTelemetry.Exporter.Geneva.GenevaTraceExporter.Dispose(bool disposin
4646
~override OpenTelemetry.Exporter.Geneva.GenevaLogExporter.Export(in OpenTelemetry.Batch<OpenTelemetry.Logs.LogRecord> batch) -> OpenTelemetry.ExportResult
4747
~override OpenTelemetry.Exporter.Geneva.GenevaMetricExporter.Export(in OpenTelemetry.Batch<OpenTelemetry.Metrics.Metric> batch) -> OpenTelemetry.ExportResult
4848
~override OpenTelemetry.Exporter.Geneva.GenevaTraceExporter.Export(in OpenTelemetry.Batch<System.Diagnostics.Activity> batch) -> OpenTelemetry.ExportResult
49-
~static Microsoft.Extensions.Logging.GenevaLoggingExtensions.AddGenevaLogExporter(this OpenTelemetry.Logs.LoggerProviderBuilder builder) -> OpenTelemetry.Logs.LoggerProviderBuilder
50-
~static Microsoft.Extensions.Logging.GenevaLoggingExtensions.AddGenevaLogExporter(this OpenTelemetry.Logs.LoggerProviderBuilder builder, string name, System.Action<OpenTelemetry.Exporter.Geneva.GenevaExporterOptions> configureExporter) -> OpenTelemetry.Logs.LoggerProviderBuilder
51-
~static Microsoft.Extensions.Logging.GenevaLoggingExtensions.AddGenevaLogExporter(this OpenTelemetry.Logs.LoggerProviderBuilder builder, System.Action<OpenTelemetry.Exporter.Geneva.GenevaExporterOptions> configureExporter) -> OpenTelemetry.Logs.LoggerProviderBuilder
52-
~static Microsoft.Extensions.Logging.GenevaLoggingExtensions.AddGenevaLogExporter(this OpenTelemetry.Logs.OpenTelemetryLoggerOptions options, System.Action<OpenTelemetry.Exporter.Geneva.GenevaExporterOptions> configure) -> OpenTelemetry.Logs.OpenTelemetryLoggerOptions
53-
~static OpenTelemetry.Exporter.Geneva.GenevaExporterHelperExtensions.AddGenevaTraceExporter(this OpenTelemetry.Trace.TracerProviderBuilder builder) -> OpenTelemetry.Trace.TracerProviderBuilder
54-
~static OpenTelemetry.Exporter.Geneva.GenevaExporterHelperExtensions.AddGenevaTraceExporter(this OpenTelemetry.Trace.TracerProviderBuilder builder, string name, System.Action<OpenTelemetry.Exporter.Geneva.GenevaExporterOptions> configure) -> OpenTelemetry.Trace.TracerProviderBuilder
55-
~static OpenTelemetry.Exporter.Geneva.GenevaExporterHelperExtensions.AddGenevaTraceExporter(this OpenTelemetry.Trace.TracerProviderBuilder builder, System.Action<OpenTelemetry.Exporter.Geneva.GenevaExporterOptions> configure) -> OpenTelemetry.Trace.TracerProviderBuilder
56-
~static OpenTelemetry.Exporter.Geneva.GenevaMetricExporterExtensions.AddGenevaMetricExporter(this OpenTelemetry.Metrics.MeterProviderBuilder builder) -> OpenTelemetry.Metrics.MeterProviderBuilder
57-
~static OpenTelemetry.Exporter.Geneva.GenevaMetricExporterExtensions.AddGenevaMetricExporter(this OpenTelemetry.Metrics.MeterProviderBuilder builder, string name, System.Action<OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions> configure) -> OpenTelemetry.Metrics.MeterProviderBuilder
58-
~static OpenTelemetry.Exporter.Geneva.GenevaMetricExporterExtensions.AddGenevaMetricExporter(this OpenTelemetry.Metrics.MeterProviderBuilder builder, System.Action<OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions> configure) -> OpenTelemetry.Metrics.MeterProviderBuilder
49+
static Microsoft.Extensions.Logging.GenevaLoggingExtensions.AddGenevaLogExporter(this OpenTelemetry.Logs.LoggerProviderBuilder! builder) -> OpenTelemetry.Logs.LoggerProviderBuilder!
50+
static Microsoft.Extensions.Logging.GenevaLoggingExtensions.AddGenevaLogExporter(this OpenTelemetry.Logs.LoggerProviderBuilder! builder, string? name, System.Action<OpenTelemetry.Exporter.Geneva.GenevaExporterOptions!>? configureExporter) -> OpenTelemetry.Logs.LoggerProviderBuilder!
51+
static Microsoft.Extensions.Logging.GenevaLoggingExtensions.AddGenevaLogExporter(this OpenTelemetry.Logs.LoggerProviderBuilder! builder, System.Action<OpenTelemetry.Exporter.Geneva.GenevaExporterOptions!>! configureExporter) -> OpenTelemetry.Logs.LoggerProviderBuilder!
52+
static Microsoft.Extensions.Logging.GenevaLoggingExtensions.AddGenevaLogExporter(this OpenTelemetry.Logs.OpenTelemetryLoggerOptions! options, System.Action<OpenTelemetry.Exporter.Geneva.GenevaExporterOptions!>? configure) -> OpenTelemetry.Logs.OpenTelemetryLoggerOptions!
53+
static OpenTelemetry.Exporter.Geneva.GenevaExporterHelperExtensions.AddGenevaTraceExporter(this OpenTelemetry.Trace.TracerProviderBuilder! builder) -> OpenTelemetry.Trace.TracerProviderBuilder!
54+
static OpenTelemetry.Exporter.Geneva.GenevaExporterHelperExtensions.AddGenevaTraceExporter(this OpenTelemetry.Trace.TracerProviderBuilder! builder, string? name, System.Action<OpenTelemetry.Exporter.Geneva.GenevaExporterOptions!>? configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
55+
static OpenTelemetry.Exporter.Geneva.GenevaExporterHelperExtensions.AddGenevaTraceExporter(this OpenTelemetry.Trace.TracerProviderBuilder! builder, System.Action<OpenTelemetry.Exporter.Geneva.GenevaExporterOptions!>! configure) -> OpenTelemetry.Trace.TracerProviderBuilder!
56+
static OpenTelemetry.Exporter.Geneva.GenevaMetricExporterExtensions.AddGenevaMetricExporter(this OpenTelemetry.Metrics.MeterProviderBuilder! builder) -> OpenTelemetry.Metrics.MeterProviderBuilder!
57+
static OpenTelemetry.Exporter.Geneva.GenevaMetricExporterExtensions.AddGenevaMetricExporter(this OpenTelemetry.Metrics.MeterProviderBuilder! builder, string? name, System.Action<OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions!>? configure) -> OpenTelemetry.Metrics.MeterProviderBuilder!
58+
static OpenTelemetry.Exporter.Geneva.GenevaMetricExporterExtensions.AddGenevaMetricExporter(this OpenTelemetry.Metrics.MeterProviderBuilder! builder, System.Action<OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions!>! configure) -> OpenTelemetry.Metrics.MeterProviderBuilder!

src/OpenTelemetry.Exporter.Geneva/GenevaExporterHelperExtensions.cs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// Copyright The OpenTelemetry Authors
22
// SPDX-License-Identifier: Apache-2.0
33

4+
#nullable enable
5+
46
using System.Diagnostics;
57
using Microsoft.Extensions.DependencyInjection;
68
using Microsoft.Extensions.Options;
@@ -26,7 +28,7 @@ public static TracerProviderBuilder AddGenevaTraceExporter(this TracerProviderBu
2628
/// Adds <see cref="GenevaTraceExporter"/> to the <see cref="TracerProviderBuilder"/>.
2729
/// </summary>
2830
/// <param name="builder"><see cref="TracerProviderBuilder"/> builder to use.</param>
29-
/// <param name="configure">Exporter configuration options.</param>
31+
/// <param name="configure">Callback action for configuring <see cref="GenevaExporterOptions"/>.</param>
3032
/// <returns>The instance of <see cref="TracerProviderBuilder"/> to chain the calls.</returns>
3133
public static TracerProviderBuilder AddGenevaTraceExporter(this TracerProviderBuilder builder, Action<GenevaExporterOptions> configure)
3234
=> AddGenevaTraceExporter(builder, name: null, configure);
@@ -35,10 +37,13 @@ public static TracerProviderBuilder AddGenevaTraceExporter(this TracerProviderBu
3537
/// Adds <see cref="GenevaTraceExporter"/> to the <see cref="TracerProviderBuilder"/>.
3638
/// </summary>
3739
/// <param name="builder"><see cref="TracerProviderBuilder"/> builder to use.</param>
38-
/// /// <param name="name">Name which is used when retrieving options.</param>
39-
/// <param name="configure">Exporter configuration options.</param>
40+
/// <param name="name">Optional name which is used when retrieving options.</param>
41+
/// <param name="configure">Optional callback action for configuring <see cref="GenevaExporterOptions"/>.</param>
4042
/// <returns>The instance of <see cref="TracerProviderBuilder"/> to chain the calls.</returns>
41-
public static TracerProviderBuilder AddGenevaTraceExporter(this TracerProviderBuilder builder, string name, Action<GenevaExporterOptions> configure)
43+
public static TracerProviderBuilder AddGenevaTraceExporter(
44+
this TracerProviderBuilder builder,
45+
string? name,
46+
Action<GenevaExporterOptions>? configure)
4247
{
4348
Guard.ThrowIfNull(builder);
4449

@@ -89,7 +94,9 @@ public static TracerProviderBuilder AddGenevaTraceExporter(this TracerProviderBu
8994
});
9095
}
9196

92-
private static BaseProcessor<Activity> BuildGenevaTraceExporter(GenevaExporterOptions options, BatchExportActivityProcessorOptions batchActivityExportProcessor)
97+
private static BaseProcessor<Activity> BuildGenevaTraceExporter(
98+
GenevaExporterOptions options,
99+
BatchExportActivityProcessorOptions batchActivityExportProcessor)
93100
{
94101
#pragma warning disable CA2000 // Dispose objects before losing scope
95102
var exporter = new GenevaTraceExporter(options);

src/OpenTelemetry.Exporter.Geneva/GenevaLoggingExtensions.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// Copyright The OpenTelemetry Authors
22
// SPDX-License-Identifier: Apache-2.0
33

4+
#nullable enable
5+
46
using System.Diagnostics;
57
using Microsoft.Extensions.DependencyInjection;
68
using Microsoft.Extensions.Options;
@@ -20,11 +22,11 @@ public static class GenevaLoggingExtensions
2022
/// Adds <see cref="GenevaLogExporter"/> to the <see cref="OpenTelemetryLoggerOptions"/>.
2123
/// </summary>
2224
/// <param name="options"><see cref="OpenTelemetryLoggerOptions"/>.</param>
23-
/// <param name="configure">Callback action for configuring <see cref="GenevaExporterOptions"/>.</param>
25+
/// <param name="configure">Optional callback action for configuring <see cref="GenevaExporterOptions"/>.</param>
2426
/// <returns>The instance of <see cref="OpenTelemetryLoggerOptions"/> to chain the calls.</returns>
2527
public static OpenTelemetryLoggerOptions AddGenevaLogExporter(
2628
this OpenTelemetryLoggerOptions options,
27-
Action<GenevaExporterOptions> configure)
29+
Action<GenevaExporterOptions>? configure)
2830
{
2931
Guard.ThrowIfNull(options);
3032

@@ -71,8 +73,8 @@ public static LoggerProviderBuilder AddGenevaLogExporter(this LoggerProviderBuil
7173
/// <returns>The instance of <see cref="LoggerProviderBuilder"/> to chain the calls.</returns>
7274
public static LoggerProviderBuilder AddGenevaLogExporter(
7375
this LoggerProviderBuilder builder,
74-
string name,
75-
Action<GenevaExporterOptions> configureExporter)
76+
string? name,
77+
Action<GenevaExporterOptions>? configureExporter)
7678
{
7779
var finalOptionsName = name ?? Options.Options.DefaultName;
7880

src/OpenTelemetry.Exporter.Geneva/Metrics/GenevaMetricExporterExtensions.cs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// Copyright The OpenTelemetry Authors
22
// SPDX-License-Identifier: Apache-2.0
33

4+
#nullable enable
5+
46
using Microsoft.Extensions.DependencyInjection;
57
using Microsoft.Extensions.Options;
68
using OpenTelemetry.Internal;
@@ -25,7 +27,7 @@ public static MeterProviderBuilder AddGenevaMetricExporter(this MeterProviderBui
2527
/// Adds <see cref="GenevaMetricExporter"/> to the <see cref="MeterProviderBuilder"/>.
2628
/// </summary>
2729
/// <param name="builder"><see cref="MeterProviderBuilder"/> builder to use.</param>
28-
/// <param name="configure">Exporter configuration options.</param>
30+
/// <param name="configure">Callback action for configuring <see cref="GenevaMetricExporterOptions"/>.</param>
2931
/// <returns>The instance of <see cref="MeterProviderBuilder"/> to chain the calls.</returns>
3032
public static MeterProviderBuilder AddGenevaMetricExporter(this MeterProviderBuilder builder, Action<GenevaMetricExporterOptions> configure)
3133
=> AddGenevaMetricExporter(builder, name: null, configure);
@@ -34,10 +36,13 @@ public static MeterProviderBuilder AddGenevaMetricExporter(this MeterProviderBui
3436
/// Adds <see cref="GenevaMetricExporter"/> to the <see cref="MeterProviderBuilder"/>.
3537
/// </summary>
3638
/// <param name="builder"><see cref="MeterProviderBuilder"/> builder to use.</param>
37-
/// /// <param name="name">Name which is used when retrieving options.</param>
38-
/// <param name="configure">Exporter configuration options.</param>
39+
/// <param name="name">Optional name which is used when retrieving options.</param>
40+
/// <param name="configure">Optional callback action for configuring <see cref="GenevaMetricExporterOptions"/>.</param>
3941
/// <returns>The instance of <see cref="MeterProviderBuilder"/> to chain the calls.</returns>
40-
public static MeterProviderBuilder AddGenevaMetricExporter(this MeterProviderBuilder builder, string name, Action<GenevaMetricExporterOptions> configure)
42+
public static MeterProviderBuilder AddGenevaMetricExporter(
43+
this MeterProviderBuilder builder,
44+
string? name,
45+
Action<GenevaMetricExporterOptions>? configure)
4146
{
4247
Guard.ThrowIfNull(builder);
4348

@@ -56,7 +61,9 @@ public static MeterProviderBuilder AddGenevaMetricExporter(this MeterProviderBui
5661
});
5762
}
5863

59-
private static PeriodicExportingMetricReader BuildGenevaMetricExporter(GenevaMetricExporterOptions options, Action<GenevaMetricExporterOptions> configure = null)
64+
private static PeriodicExportingMetricReader BuildGenevaMetricExporter(
65+
GenevaMetricExporterOptions options,
66+
Action<GenevaMetricExporterOptions>? configure = null)
6067
{
6168
configure?.Invoke(options);
6269

0 commit comments

Comments
 (0)