diff --git a/documentation/schema.json b/documentation/schema.json index 6d29cb04540..36cff6187fc 100644 --- a/documentation/schema.json +++ b/documentation/schema.json @@ -513,10 +513,7 @@ ], "properties": { "Filters": { - "type": [ - "array", - "null" - ], + "type": "array", "description": "Process filters used to determine to which process(es) the collection rule is applied. All filters must match. If no filters are specified, the rule is applied to all discovered processes.", "items": { "$ref": "#/definitions/ProcessFilterDescriptor" @@ -531,10 +528,7 @@ ] }, "Actions": { - "type": [ - "array", - "null" - ], + "type": "array", "description": "The list of actions to be executed when the trigger raises its notification.", "items": { "$ref": "#/definitions/CollectionRuleActionOptions" @@ -1130,20 +1124,14 @@ "additionalProperties": false, "properties": { "Include": { - "type": [ - "array", - "null" - ], + "type": "array", "description": "The list of exception configurations that determine which exceptions should be shown.\nEach configuration is a logical OR, so if any of the configurations match, the exception is shown.", "items": { "$ref": "#/definitions/ExceptionFilter" } }, "Exclude": { - "type": [ - "array", - "null" - ], + "type": "array", "description": "The list of exception configurations that determine which exceptions should be shown.\nEach configuration is a logical OR, so if any of the configurations match, the exception isn't shown.", "items": { "$ref": "#/definitions/ExceptionFilter" @@ -1384,20 +1372,14 @@ "default": true }, "Providers": { - "type": [ - "array", - "null" - ], + "type": "array", "description": "Providers for custom metrics.", "items": { "$ref": "#/definitions/MetricProvider" } }, "Meters": { - "type": [ - "array", - "null" - ], + "type": "array", "description": "Names of meters to collect from the System.Diagnostics.Metrics provider.", "items": { "$ref": "#/definitions/MeterConfiguration" @@ -1418,10 +1400,7 @@ "minLength": 1 }, "CounterNames": { - "type": [ - "array", - "null" - ], + "type": "array", "description": "Name of custom metrics counters.", "items": { "type": "string" @@ -1441,10 +1420,7 @@ "description": "Name of the custom meter." }, "InstrumentNames": { - "type": [ - "array", - "null" - ], + "type": "array", "description": "Names of the custom instruments.", "items": { "type": "string" @@ -1484,10 +1460,7 @@ "additionalProperties": false, "properties": { "Filters": { - "type": [ - "array", - "null" - ], + "type": "array", "description": "Process filters used to determine which process to use if one is not explicitly specified. All filters must match.", "items": { "$ref": "#/definitions/ProcessFilterDescriptor" diff --git a/src/Microsoft.Diagnostics.Monitoring.Options/ExceptionsConfiguration.cs b/src/Microsoft.Diagnostics.Monitoring.Options/ExceptionsConfiguration.cs index 8a44b0c7ae1..709562981f4 100644 --- a/src/Microsoft.Diagnostics.Monitoring.Options/ExceptionsConfiguration.cs +++ b/src/Microsoft.Diagnostics.Monitoring.Options/ExceptionsConfiguration.cs @@ -13,14 +13,14 @@ public sealed class ExceptionsConfiguration /// Each configuration is a logical OR, so if any of the configurations match, the exception is shown. /// [JsonPropertyName("include")] - public List? Include { get; set; } = new(); + public List Include { get; set; } = []; /// /// The list of exception configurations that determine which exceptions should be shown. /// Each configuration is a logical OR, so if any of the configurations match, the exception isn't shown. /// [JsonPropertyName("exclude")] - public List? Exclude { get; set; } = new(); + public List Exclude { get; set; } = []; } public sealed class ExceptionFilter diff --git a/src/Microsoft.Diagnostics.Monitoring.Options/MetricsOptions.cs b/src/Microsoft.Diagnostics.Monitoring.Options/MetricsOptions.cs index 1450284480e..faa647690f3 100644 --- a/src/Microsoft.Diagnostics.Monitoring.Options/MetricsOptions.cs +++ b/src/Microsoft.Diagnostics.Monitoring.Options/MetricsOptions.cs @@ -43,12 +43,12 @@ public class MetricsOptions [Display( ResourceType = typeof(OptionsDisplayStrings), Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_MetricsOptions_Providers))] - public List? Providers { get; set; } = new List(0); + public List Providers { get; set; } = []; [Display( ResourceType = typeof(OptionsDisplayStrings), Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_MetricsOptions_Meters))] - public List? Meters { get; set; } = new List(0); + public List Meters { get; set; } = []; } public class MetricProvider @@ -62,7 +62,7 @@ public class MetricProvider [Display( ResourceType = typeof(OptionsDisplayStrings), Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_MetricProvider_CounterNames))] - public List? CounterNames { get; set; } = new List(0); + public List CounterNames { get; set; } = []; } public class MeterConfiguration @@ -75,6 +75,6 @@ public class MeterConfiguration [Display( ResourceType = typeof(OptionsDisplayStrings), Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_MeterConfiguration_InstrumentNames))] - public List? InstrumentNames { get; set; } = new List(0); + public List InstrumentNames { get; set; } = []; } } diff --git a/src/Microsoft.Diagnostics.Monitoring.Options/ProcessFilterOptions.cs b/src/Microsoft.Diagnostics.Monitoring.Options/ProcessFilterOptions.cs index cc6f88ab22b..f8a90738658 100644 --- a/src/Microsoft.Diagnostics.Monitoring.Options/ProcessFilterOptions.cs +++ b/src/Microsoft.Diagnostics.Monitoring.Options/ProcessFilterOptions.cs @@ -41,7 +41,7 @@ public sealed class ProcessFilterOptions [Display( ResourceType = typeof(OptionsDisplayStrings), Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_ProcessFilterOptions_Filters))] - public List? Filters { get; set; } = new List(0); + public List Filters { get; set; } = []; } public sealed partial class ProcessFilterDescriptor diff --git a/src/Microsoft.Diagnostics.Monitoring.WebApi/Exceptions/ExceptionsSettingsFactory.cs b/src/Microsoft.Diagnostics.Monitoring.WebApi/Exceptions/ExceptionsSettingsFactory.cs index 55a6ff5b25c..465f1bce77d 100644 --- a/src/Microsoft.Diagnostics.Monitoring.WebApi/Exceptions/ExceptionsSettingsFactory.cs +++ b/src/Microsoft.Diagnostics.Monitoring.WebApi/Exceptions/ExceptionsSettingsFactory.cs @@ -19,20 +19,14 @@ public static ExceptionsConfigurationSettings ConvertExceptionsConfiguration(Exc return configurationSettings; } - if (configuration.Include != null) + foreach (var filter in configuration.Include) { - foreach (var filter in configuration.Include) - { - configurationSettings.Include.Add(ConvertExceptionFilter(filter)); - } + configurationSettings.Include.Add(ConvertExceptionFilter(filter)); } - if (configuration.Exclude != null) + foreach (var filter in configuration.Exclude) { - foreach (var filter in configuration.Exclude) - { - configurationSettings.Exclude.Add(ConvertExceptionFilter(filter)); - } + configurationSettings.Exclude.Add(ConvertExceptionFilter(filter)); } return configurationSettings; diff --git a/src/Tools/dotnet-monitor/CollectionRules/Options/CollectionRuleOptions.cs b/src/Tools/dotnet-monitor/CollectionRules/Options/CollectionRuleOptions.cs index 607f9e735a5..128848d3bd3 100644 --- a/src/Tools/dotnet-monitor/CollectionRules/Options/CollectionRuleOptions.cs +++ b/src/Tools/dotnet-monitor/CollectionRules/Options/CollectionRuleOptions.cs @@ -17,7 +17,7 @@ internal sealed partial class CollectionRuleOptions [Display( ResourceType = typeof(OptionsDisplayStrings), Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_CollectionRuleOptions_Filters))] - public List? Filters { get; } = new List(0); + public List Filters { get; set; } = []; #nullable disable [Display( @@ -30,7 +30,7 @@ internal sealed partial class CollectionRuleOptions [Display( ResourceType = typeof(OptionsDisplayStrings), Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_CollectionRuleOptions_Actions))] - public List? Actions { get; } = new List(0); + public List Actions { get; set; } = []; [Display( ResourceType = typeof(OptionsDisplayStrings),