Skip to content

Commit 4a9d97c

Browse files
CodeBlanchKielek
andauthored
[geneva] Nullable annotations for the remaining public API (open-telemetry#2070)
Co-authored-by: Piotr Kiełkowicz <[email protected]>
1 parent ee03fc3 commit 4a9d97c

File tree

8 files changed

+43
-30
lines changed

8 files changed

+43
-30
lines changed

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

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,46 +6,46 @@ OpenTelemetry.Exporter.Geneva.EventNameExportMode.None = 0 -> OpenTelemetry.Expo
66
OpenTelemetry.Exporter.Geneva.ExceptionStackExportMode
77
OpenTelemetry.Exporter.Geneva.ExceptionStackExportMode.Drop = 0 -> OpenTelemetry.Exporter.Geneva.ExceptionStackExportMode
88
OpenTelemetry.Exporter.Geneva.ExceptionStackExportMode.ExportAsString = 1 -> OpenTelemetry.Exporter.Geneva.ExceptionStackExportMode
9+
OpenTelemetry.Exporter.Geneva.GenevaBaseExporter<T>
910
OpenTelemetry.Exporter.Geneva.GenevaBaseExporter<T>.GenevaBaseExporter() -> void
1011
OpenTelemetry.Exporter.Geneva.GenevaExporterHelperExtensions
1112
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions
13+
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.ConnectionString.get -> string?
14+
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.ConnectionString.set -> void
15+
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.CustomFields.get -> System.Collections.Generic.IEnumerable<string!>?
16+
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.CustomFields.set -> void
1217
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.EventNameExportMode.get -> OpenTelemetry.Exporter.Geneva.EventNameExportMode
1318
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.EventNameExportMode.set -> void
1419
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.ExceptionStackExportMode.get -> OpenTelemetry.Exporter.Geneva.ExceptionStackExportMode
1520
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.ExceptionStackExportMode.set -> void
1621
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.GenevaExporterOptions() -> void
1722
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.IncludeTraceStateForSpan.get -> bool
1823
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.IncludeTraceStateForSpan.set -> void
24+
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.PrepopulatedFields.get -> System.Collections.Generic.IReadOnlyDictionary<string!, object!>!
25+
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.PrepopulatedFields.set -> void
26+
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.TableNameMappings.get -> System.Collections.Generic.IReadOnlyDictionary<string!, string!>?
27+
OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.TableNameMappings.set -> void
1928
OpenTelemetry.Exporter.Geneva.GenevaLogExporter
29+
OpenTelemetry.Exporter.Geneva.GenevaLogExporter.GenevaLogExporter(OpenTelemetry.Exporter.Geneva.GenevaExporterOptions! options) -> void
2030
OpenTelemetry.Exporter.Geneva.GenevaMetricExporter
31+
OpenTelemetry.Exporter.Geneva.GenevaMetricExporter.GenevaMetricExporter(OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions! options) -> void
2132
OpenTelemetry.Exporter.Geneva.GenevaMetricExporterExtensions
2233
OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions
34+
OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions.ConnectionString.get -> string?
35+
OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions.ConnectionString.set -> void
2336
OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions.GenevaMetricExporterOptions() -> void
2437
OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions.MetricExportIntervalMilliseconds.get -> int
2538
OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions.MetricExportIntervalMilliseconds.set -> void
39+
OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions.PrepopulatedMetricDimensions.get -> System.Collections.Generic.IReadOnlyDictionary<string!, object!>?
40+
OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions.PrepopulatedMetricDimensions.set -> void
2641
OpenTelemetry.Exporter.Geneva.GenevaTraceExporter
42+
OpenTelemetry.Exporter.Geneva.GenevaTraceExporter.GenevaTraceExporter(OpenTelemetry.Exporter.Geneva.GenevaExporterOptions! options) -> void
2743
override OpenTelemetry.Exporter.Geneva.GenevaLogExporter.Dispose(bool disposing) -> void
44+
override OpenTelemetry.Exporter.Geneva.GenevaLogExporter.Export(in OpenTelemetry.Batch<OpenTelemetry.Logs.LogRecord!> batch) -> OpenTelemetry.ExportResult
2845
override OpenTelemetry.Exporter.Geneva.GenevaMetricExporter.Dispose(bool disposing) -> void
46+
override OpenTelemetry.Exporter.Geneva.GenevaMetricExporter.Export(in OpenTelemetry.Batch<OpenTelemetry.Metrics.Metric!> batch) -> OpenTelemetry.ExportResult
2947
override OpenTelemetry.Exporter.Geneva.GenevaTraceExporter.Dispose(bool disposing) -> void
30-
~OpenTelemetry.Exporter.Geneva.GenevaBaseExporter<T>
31-
~OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.ConnectionString.get -> string
32-
~OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.ConnectionString.set -> void
33-
~OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.CustomFields.get -> System.Collections.Generic.IEnumerable<string>
34-
~OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.CustomFields.set -> void
35-
~OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.PrepopulatedFields.get -> System.Collections.Generic.IReadOnlyDictionary<string, object>
36-
~OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.PrepopulatedFields.set -> void
37-
~OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.TableNameMappings.get -> System.Collections.Generic.IReadOnlyDictionary<string, string>
38-
~OpenTelemetry.Exporter.Geneva.GenevaExporterOptions.TableNameMappings.set -> void
39-
~OpenTelemetry.Exporter.Geneva.GenevaLogExporter.GenevaLogExporter(OpenTelemetry.Exporter.Geneva.GenevaExporterOptions options) -> void
40-
~OpenTelemetry.Exporter.Geneva.GenevaMetricExporter.GenevaMetricExporter(OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions options) -> void
41-
~OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions.ConnectionString.get -> string
42-
~OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions.ConnectionString.set -> void
43-
~OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions.PrepopulatedMetricDimensions.get -> System.Collections.Generic.IReadOnlyDictionary<string, object>
44-
~OpenTelemetry.Exporter.Geneva.GenevaMetricExporterOptions.PrepopulatedMetricDimensions.set -> void
45-
~OpenTelemetry.Exporter.Geneva.GenevaTraceExporter.GenevaTraceExporter(OpenTelemetry.Exporter.Geneva.GenevaExporterOptions options) -> void
46-
~override OpenTelemetry.Exporter.Geneva.GenevaLogExporter.Export(in OpenTelemetry.Batch<OpenTelemetry.Logs.LogRecord> batch) -> OpenTelemetry.ExportResult
47-
~override OpenTelemetry.Exporter.Geneva.GenevaMetricExporter.Export(in OpenTelemetry.Batch<OpenTelemetry.Metrics.Metric> batch) -> OpenTelemetry.ExportResult
48-
~override OpenTelemetry.Exporter.Geneva.GenevaTraceExporter.Export(in OpenTelemetry.Batch<System.Diagnostics.Activity> batch) -> OpenTelemetry.ExportResult
48+
override OpenTelemetry.Exporter.Geneva.GenevaTraceExporter.Export(in OpenTelemetry.Batch<System.Diagnostics.Activity!> batch) -> OpenTelemetry.ExportResult
4949
static Microsoft.Extensions.Logging.GenevaLoggingExtensions.AddGenevaLogExporter(this OpenTelemetry.Logs.LoggerProviderBuilder! builder) -> OpenTelemetry.Logs.LoggerProviderBuilder!
5050
static Microsoft.Extensions.Logging.GenevaLoggingExtensions.AddGenevaLogExporter(this OpenTelemetry.Logs.LoggerProviderBuilder! builder, string? name, System.Action<OpenTelemetry.Exporter.Geneva.GenevaExporterOptions!>? configureExporter) -> OpenTelemetry.Logs.LoggerProviderBuilder!
5151
static Microsoft.Extensions.Logging.GenevaLoggingExtensions.AddGenevaLogExporter(this OpenTelemetry.Logs.LoggerProviderBuilder! builder, System.Action<OpenTelemetry.Exporter.Geneva.GenevaExporterOptions!>! configureExporter) -> OpenTelemetry.Logs.LoggerProviderBuilder!

src/OpenTelemetry.Exporter.Geneva/GenevaBaseExporter.cs

Lines changed: 2 additions & 0 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
namespace OpenTelemetry.Exporter.Geneva;
57

68
/// <summary>

src/OpenTelemetry.Exporter.Geneva/GenevaExporterOptions.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.Text;
57
using OpenTelemetry.Internal;
68

@@ -16,17 +18,17 @@ public class GenevaExporterOptions
1618
[Schema.V40.PartA.Ver] = "4.0",
1719
};
1820

19-
private IReadOnlyDictionary<string, string> tableNameMappings;
21+
private IReadOnlyDictionary<string, string>? tableNameMappings;
2022

2123
/// <summary>
2224
/// Gets or sets the connection string.
2325
/// </summary>
24-
public string ConnectionString { get; set; }
26+
public string? ConnectionString { get; set; }
2527

2628
/// <summary>
2729
/// Gets or sets custom fields.
2830
/// </summary>
29-
public IEnumerable<string> CustomFields { get; set; }
31+
public IEnumerable<string>? CustomFields { get; set; }
3032

3133
/// <summary>
3234
/// Gets or sets the exception stack trace export mode.
@@ -46,7 +48,7 @@ public class GenevaExporterOptions
4648
/// <summary>
4749
/// Gets or sets table name mappings.
4850
/// </summary>
49-
public IReadOnlyDictionary<string, string> TableNameMappings
51+
public IReadOnlyDictionary<string, string>? TableNameMappings
5052
{
5153
get => this.tableNameMappings;
5254
set

src/OpenTelemetry.Exporter.Geneva/GenevaLogExporter.cs

Lines changed: 2 additions & 0 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.Runtime.InteropServices;
57
using OpenTelemetry.Exporter.Geneva.TldExporter;
68
using OpenTelemetry.Internal;

src/OpenTelemetry.Exporter.Geneva/GenevaLoggingExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ internal static BaseProcessor<LogRecord> BuildGenevaLogExporter(
130130
Debug.Assert(exporterOptions != null, "exporterOptions was null");
131131

132132
#pragma warning disable CA2000 // Dispose objects before losing scope
133-
var exporter = new GenevaLogExporter(exporterOptions);
133+
var exporter = new GenevaLogExporter(exporterOptions!);
134134
#pragma warning restore CA2000 // Dispose objects before losing scope
135135

136136
if (exporter.IsUsingUnixDomainSocket)

src/OpenTelemetry.Exporter.Geneva/GenevaTraceExporter.cs

Lines changed: 2 additions & 0 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 System.Runtime.InteropServices;
68
using OpenTelemetry.Exporter.Geneva.TldExporter;

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

Lines changed: 3 additions & 1 deletion
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.Reflection;
57
using System.Text.RegularExpressions;
68
using OpenTelemetry.Exporter.Geneva.Metrics;
@@ -33,7 +35,7 @@ public partial class GenevaMetricExporter : BaseExporter<Metric>
3335

3436
private bool isDisposed;
3537

36-
private Resource resource;
38+
private Resource? resource;
3739

3840
/// <summary>
3941
/// Initializes a new instance of the <see cref="GenevaMetricExporter"/> class.

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

Lines changed: 8 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.Globalization;
57
using OpenTelemetry.Internal;
68

@@ -11,14 +13,14 @@ namespace OpenTelemetry.Exporter.Geneva;
1113
/// </summary>
1214
public class GenevaMetricExporterOptions
1315
{
14-
private IReadOnlyDictionary<string, object> prepopulatedMetricDimensions;
16+
private IReadOnlyDictionary<string, object>? prepopulatedMetricDimensions;
1517
private int metricExporterIntervalMilliseconds = 60000;
1618

1719
/// <summary>
1820
/// Gets or sets the ConnectionString which contains semicolon separated list of key-value pairs.
1921
/// For e.g.: "Account=OTelMonitoringAccount;Namespace=OTelMetricNamespace".
2022
/// </summary>
21-
public string ConnectionString { get; set; }
23+
public string? ConnectionString { get; set; }
2224

2325
/// <summary>
2426
/// Gets or sets the metric export interval in milliseconds. The default value is 60000.
@@ -41,7 +43,7 @@ public int MetricExportIntervalMilliseconds
4143
/// <summary>
4244
/// Gets or sets the pre-populated dimensions for all the metrics exported by the exporter.
4345
/// </summary>
44-
public IReadOnlyDictionary<string, object> PrepopulatedMetricDimensions
46+
public IReadOnlyDictionary<string, object>? PrepopulatedMetricDimensions
4547
{
4648
get
4749
{
@@ -67,12 +69,13 @@ public IReadOnlyDictionary<string, object> PrepopulatedMetricDimensions
6769
throw new ArgumentException($"The dimension: {entry.Key} exceeds the maximum allowed limit of {GenevaMetricExporter.MaxDimensionNameSize} characters for a dimension name.");
6870
}
6971

70-
if (entry.Value == null)
72+
string? dimensionValue;
73+
if (entry.Value == null
74+
|| (dimensionValue = Convert.ToString(entry.Value, CultureInfo.InvariantCulture)) == null)
7175
{
7276
throw new ArgumentNullException($"{nameof(this.PrepopulatedMetricDimensions)}[\"{entry.Key}\"]");
7377
}
7478

75-
var dimensionValue = Convert.ToString(entry.Value, CultureInfo.InvariantCulture);
7679
if (dimensionValue.Length > GenevaMetricExporter.MaxDimensionValueSize)
7780
{
7881
throw new ArgumentException($"Value provided for the dimension: {entry.Key} exceeds the maximum allowed limit of {GenevaMetricExporter.MaxDimensionValueSize} characters for dimension value.");

0 commit comments

Comments
 (0)