Skip to content

Commit a989240

Browse files
committed
Revert non-validation changes
1 parent cd2c8d7 commit a989240

38 files changed

+221
-1348
lines changed

src/Extensions/S3Storage/S3StorageEgressProviderOptions.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
using System;
55
using System.ComponentModel.DataAnnotations;
6-
using System.Diagnostics.CodeAnalysis;
76

87
namespace Microsoft.Diagnostics.Monitoring.Extension.S3Storage
98
{
@@ -52,7 +51,6 @@ internal sealed partial class S3StorageEgressProviderOptions
5251
ResourceType = typeof(OptionsDisplayStrings),
5352
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_S3StorageEgressProviderOptions_PreSignedUrlExpiry))]
5453
[Range(typeof(TimeSpan), "00:01:00", "1.00:00:00")]
55-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Addressed by DynamicDependency on ValidationHelper.TryValidateOptions method")]
5654
public TimeSpan? PreSignedUrlExpiry { get; set; }
5755

5856
[Display(

src/Tests/Microsoft.Diagnostics.Monitoring.Tool.FunctionalTests/Microsoft.Diagnostics.Monitoring.Tool.FunctionalTests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
<Compile Include="..\..\Tools\dotnet-monitor\CollectionRules\Options\Triggers\EventMeterOptions.cs" Link="Options\CollectionRules\Triggers\EventMeterOptions.cs" />
7272
<Compile Include="..\..\Tools\dotnet-monitor\CollectionRules\Options\Triggers\IAspNetActionPathFilters.cs" Link="Options\CollectionRules\Triggers\IAspNetActionPathFilters.cs" />
7373
<Compile Include="..\..\Tools\dotnet-monitor\CollectionRules\Options\Triggers\TriggerOptionsConstants.cs" Link="Options\CollectionRules\Triggers\TriggerOptionsConstants.cs" />
74-
<Compile Include="..\..\Tools\dotnet-monitor\CommonOptionsMapper.cs" Link="Options\CommonOptionsMapper.cs" />
74+
<Compile Include="..\..\Tools\dotnet-monitor\CommonOptionsExtensions.cs" Link="Options\CommonOptionsExtensions.cs" />
7575
<Compile Include="..\..\Tools\dotnet-monitor\LoggingEventIds.cs" Link="LoggingEventIds.cs" />
7676
<Compile Include="..\..\Tools\dotnet-monitor\OutputFormat.cs" Link="Options\OutputFormat.cs" />
7777
<Compile Include="..\..\Tools\dotnet-monitor\RootOptions.cs" Link="Options\RootOptions.cs" />

src/Tests/Microsoft.Diagnostics.Monitoring.Tool.FunctionalTests/Runners/MonitorRunner.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,7 @@ public virtual async Task StartAsync(string command, string[] args, Cancellation
165165
_adapter.Environment.Add("ASPNETCORE_HOSTINGSTARTUPASSEMBLIES", TestHostingStartupAssemblyName);
166166

167167
// Set configuration via environment variables
168-
var optionsMapper = new CommonOptionsMapper();
169-
var configurationViaEnvironment = optionsMapper.ToEnvironmentConfiguration(ConfigurationFromEnvironment, useDotnetMonitorPrefix: true);
168+
var configurationViaEnvironment = ConfigurationFromEnvironment.ToEnvironmentConfiguration(useDotnetMonitorPrefix: true);
170169
if (configurationViaEnvironment.Count > 0)
171170
{
172171
// Set additional environment variables from configuration
@@ -198,8 +197,7 @@ protected virtual void StandardOutputCallback(string line)
198197

199198
public void WriteKeyPerValueConfiguration(RootOptions options)
200199
{
201-
CommonOptionsMapper optionsMapper = new();
202-
foreach (KeyValuePair<string, string> entry in optionsMapper.ToKeyPerFileConfiguration(options))
200+
foreach (KeyValuePair<string, string> entry in options.ToKeyPerFileConfiguration())
203201
{
204202
File.WriteAllText(
205203
Path.Combine(SharedConfigDirectoryPath, entry.Key),

src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTestCommon/TestHostHelper.cs

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
using Microsoft.Extensions.Logging;
1111
using System;
1212
using System.Collections.Generic;
13-
using System.Globalization;
1413
using System.Threading.Tasks;
1514
using Xunit.Abstractions;
1615

@@ -74,9 +73,7 @@ public static IHost CreateHost(
7473
RootOptions options = new();
7574
setup(options);
7675

77-
CommonOptionsMapper optionsMapper = new();
78-
optionsMapper.AddActionSettings<PassThroughOptions>(nameof(PassThroughAction), MapPassThroughOptions);
79-
IDictionary<string, string> configurationValues = optionsMapper.ToConfigurationValues(options);
76+
IDictionary<string, string> configurationValues = options.ToConfigurationValues();
8077
outputHelper.WriteLine("Begin Configuration:");
8178
foreach ((string key, string value) in configurationValues)
8279
{
@@ -133,21 +130,5 @@ public static IHost CreateHost(
133130
})
134131
.Build();
135132
}
136-
137-
private static void MapPassThroughOptions(PassThroughOptions obj, string valueName, string separator, IDictionary<string, string> map)
138-
{
139-
if (null != obj)
140-
{
141-
string prefix = FormattableString.Invariant($"{valueName}{separator}");
142-
MapString(obj.Input1, FormattableString.Invariant($"{prefix}{nameof(obj.Input1)}"));
143-
MapString(obj.Input2, FormattableString.Invariant($"{prefix}{nameof(obj.Input2)}"));
144-
MapString(obj.Input3, FormattableString.Invariant($"{prefix}{nameof(obj.Input3)}"));
145-
}
146-
147-
void MapString(string value, string valueName)
148-
{
149-
map.Add(valueName, ConvertUtils.ToString(value, CultureInfo.InvariantCulture));
150-
}
151-
}
152133
}
153134
}

src/Tools/dotnet-monitor/Auth/ApiKey/GeneratedJwtKey.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public static GeneratedJwtKey Create(TimeSpan expirationOffset)
5454
ECDsa pubDsa = ECDsa.Create(dsa.ExportParameters(includePrivateParameters: false));
5555
ECDsaSecurityKey pubSecKey = new ECDsaSecurityKey(pubDsa);
5656
JsonWebKey jwk = JsonWebKeyConverter.ConvertFromECDsaSecurityKey(pubSecKey);
57-
string publicKeyJson = JsonSerializer.Serialize(jwk, JsonWebKeyContext.Default.JsonWebKey);
57+
string publicKeyJson = JsonSerializer.Serialize(jwk, new JsonSerializerOptions() { DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull });
5858
string publicKeyEncoded = Base64UrlEncoder.Encode(publicKeyJson);
5959

6060
JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler();
@@ -63,9 +63,4 @@ public static GeneratedJwtKey Create(TimeSpan expirationOffset)
6363
return new GeneratedJwtKey(output, subjectStr, publicKeyEncoded);
6464
}
6565
}
66-
67-
[JsonSerializable(typeof(JsonWebKey))]
68-
partial class JsonWebKeyContext : JsonSerializerContext
69-
{
70-
}
7166
}

src/Tools/dotnet-monitor/CollectionRules/ActionOptionsDependencyAnalyzer.cs

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -164,11 +164,7 @@ public IList<CollectionRuleActionOptions> GetActionDependencies(int actionIndex)
164164
}
165165
string? commandLine = _ruleContext.EndpointInfo.CommandLine;
166166

167-
if (!_actionOperations.TryGetOptionsType(actionOptions.Type, out Type settingsType))
168-
{
169-
throw new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, Strings.ErrorMessage_UnknownActionType, actionOptions.Name));
170-
}
171-
settings = _tokenParser.SubstituteOptionValues(settings, settingsType, new TokenContext
167+
settings = _tokenParser.SubstituteOptionValues(settings, new TokenContext
172168
{
173169
CloneOnSubstitution = ReferenceEquals(originalSettings, settings),
174170
RuntimeId = _ruleContext.EndpointInfo.RuntimeInstanceCookie,
@@ -199,11 +195,7 @@ private void EnsureDependencies()
199195

200196
private void EnsureDependencies(CollectionRuleActionOptions options, int actionIndex)
201197
{
202-
if (!_actionOperations.TryGetOptionsType(options.Type, out Type optionsType))
203-
{
204-
throw new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, Strings.ErrorMessage_UnknownActionType, options.Name));
205-
}
206-
foreach (PropertyInfo property in GetDependencyPropertiesFromSettings(optionsType))
198+
foreach (PropertyInfo property in GetDependencyPropertiesFromSettings(options))
207199
{
208200
string? originalValue = (string?)property.GetValue(options.Settings);
209201
if (string.IsNullOrEmpty(originalValue))
@@ -299,9 +291,9 @@ private bool GetActionResultReference(string actionReference, int actionIndex,
299291
return true;
300292
}
301293

302-
private static IEnumerable<PropertyInfo> GetDependencyPropertiesFromSettings([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties)] Type optionsType)
294+
private static IEnumerable<PropertyInfo> GetDependencyPropertiesFromSettings(CollectionRuleActionOptions options)
303295
{
304-
return ConfigurationTokenParser.GetPropertiesFromSettings(optionsType, p => p.GetCustomAttributes(typeof(ActionOptionsDependencyPropertyAttribute), inherit: true).Any());
296+
return ConfigurationTokenParser.GetPropertiesFromSettings(options.Settings, p => p.GetCustomAttributes(typeof(ActionOptionsDependencyPropertyAttribute), inherit: true).Any());
305297
}
306298
}
307299
}

src/Tools/dotnet-monitor/CollectionRules/Actions/CollectionRuleActionOperations.cs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -93,20 +93,5 @@ public bool TryValidateOptions(
9393
return false;
9494
}
9595
}
96-
97-
/// <inheritdoc/>
98-
public bool TryGetOptionsType(
99-
string actionName,
100-
out Type optionsType)
101-
{
102-
if (_map.TryGetValue(actionName, out ICollectionRuleActionDescriptor descriptor))
103-
{
104-
optionsType = descriptor.OptionsType;
105-
return true;
106-
}
107-
108-
optionsType = null;
109-
return false;
110-
}
11196
}
11297
}

src/Tools/dotnet-monitor/CollectionRules/Actions/ICollectionRuleActionOperations.cs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,5 @@ bool TryValidateOptions(
4141
object options,
4242
ValidationContext validationContext,
4343
ICollection<ValidationResult> results);
44-
45-
/// <summary>
46-
/// Attempts to get the type of the options instance
47-
/// associated with the registered action name.
48-
/// </summary>
49-
bool TryGetOptionsType(
50-
string actionName,
51-
out Type optionsType);
5244
}
5345
}

src/Tools/dotnet-monitor/CollectionRules/Options/Actions/CollectLiveMetricsOptions.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
using System.ComponentModel;
1111
using System.ComponentModel.DataAnnotations;
1212
using System.Diagnostics;
13-
using System.Diagnostics.CodeAnalysis;
1413

1514
namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Actions
1615
{
@@ -43,7 +42,6 @@ internal sealed partial record class CollectLiveMetricsOptions : BaseRecordOptio
4342
ResourceType = typeof(OptionsDisplayStrings),
4443
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_CollectArtifactOptions_Duration))]
4544
[Range(typeof(TimeSpan), ActionOptionsConstants.Duration_MinValue, ActionOptionsConstants.Duration_MaxValue)]
46-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Addressed by DynamicDependency on ValidationHelper.TryValidateOptions method")]
4745
[DefaultValue(CollectLiveMetricsOptionsDefaults.Duration)]
4846
public TimeSpan? Duration { get; set; }
4947

src/Tools/dotnet-monitor/CollectionRules/Options/Actions/CollectLogsOptions.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
using System.ComponentModel;
1313
using System.ComponentModel.DataAnnotations;
1414
using System.Diagnostics;
15-
using System.Diagnostics.CodeAnalysis;
1615

1716
namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Actions
1817
{
@@ -47,7 +46,6 @@ internal sealed partial record class CollectLogsOptions : BaseRecordOptions, IEg
4746
ResourceType = typeof(OptionsDisplayStrings),
4847
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_CollectArtifactOptions_Duration))]
4948
[Range(typeof(TimeSpan), ActionOptionsConstants.Duration_MinValue, ActionOptionsConstants.Duration_MaxValue)]
50-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Addressed by DynamicDependency on ValidationHelper.TryValidateOptions method")]
5149
[DefaultValue(CollectLogsOptionsDefaults.Duration)]
5250
public TimeSpan? Duration { get; set; }
5351

src/Tools/dotnet-monitor/CollectionRules/Options/Actions/CollectTraceOptions.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
using System.ComponentModel;
1212
using System.ComponentModel.DataAnnotations;
1313
using System.Diagnostics;
14-
using System.Diagnostics.CodeAnalysis;
1514

1615
namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Actions
1716
{
@@ -52,7 +51,6 @@ internal sealed partial record class CollectTraceOptions : BaseRecordOptions, IE
5251
ResourceType = typeof(OptionsDisplayStrings),
5352
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_CollectArtifactOptions_Duration))]
5453
[Range(typeof(TimeSpan), ActionOptionsConstants.Duration_MinValue, ActionOptionsConstants.Duration_MaxValue)]
55-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Addressed by DynamicDependency on ValidationHelper.TryValidateOptions method")]
5654
[DefaultValue(CollectTraceOptionsDefaults.Duration)]
5755
public TimeSpan? Duration { get; set; }
5856

src/Tools/dotnet-monitor/CollectionRules/Options/CollectionRuleLimitsDefaultsOptions.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using Microsoft.Diagnostics.Monitoring.WebApi;
55
using System;
66
using System.ComponentModel.DataAnnotations;
7-
using System.Diagnostics.CodeAnalysis;
87

98
namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options
109
{
@@ -20,14 +19,12 @@ internal sealed class CollectionRuleLimitsDefaultsOptions
2019
ResourceType = typeof(OptionsDisplayStrings),
2120
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_CollectionRuleLimitsDefaultsOptions_ActionCountSlidingWindowDuration))]
2221
[Range(typeof(TimeSpan), CollectionRuleOptionsConstants.ActionCountSlidingWindowDuration_MinValue, CollectionRuleOptionsConstants.ActionCountSlidingWindowDuration_MaxValue)]
23-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Addressed by DynamicDependency on ValidationHelper.TryValidateOptions method")]
2422
public TimeSpan? ActionCountSlidingWindowDuration { get; set; }
2523

2624
[Display(
2725
ResourceType = typeof(OptionsDisplayStrings),
2826
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_CollectionRuleLimitsDefaultsOptions_RuleDuration))]
2927
[Range(typeof(TimeSpan), CollectionRuleOptionsConstants.RuleDuration_MinValue, CollectionRuleOptionsConstants.RuleDuration_MaxValue)]
30-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Addressed by DynamicDependency on ValidationHelper.TryValidateOptions method")]
3128
public TimeSpan? RuleDuration { get; set; }
3229
}
3330
}

src/Tools/dotnet-monitor/CollectionRules/Options/CollectionRuleLimitsOptions.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using System;
66
using System.ComponentModel;
77
using System.ComponentModel.DataAnnotations;
8-
using System.Diagnostics.CodeAnalysis;
98

109
namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options
1110
{
@@ -25,14 +24,12 @@ internal sealed class CollectionRuleLimitsOptions
2524
ResourceType = typeof(OptionsDisplayStrings),
2625
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_CollectionRuleLimitsOptions_ActionCountSlidingWindowDuration))]
2726
[Range(typeof(TimeSpan), CollectionRuleOptionsConstants.ActionCountSlidingWindowDuration_MinValue, CollectionRuleOptionsConstants.ActionCountSlidingWindowDuration_MaxValue)]
28-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Addressed by DynamicDependency on ValidationHelper.TryValidateOptions method")]
2927
public TimeSpan? ActionCountSlidingWindowDuration { get; set; }
3028

3129
[Display(
3230
ResourceType = typeof(OptionsDisplayStrings),
3331
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_CollectionRuleLimitsOptions_RuleDuration))]
3432
[Range(typeof(TimeSpan), CollectionRuleOptionsConstants.RuleDuration_MinValue, CollectionRuleOptionsConstants.RuleDuration_MaxValue)]
35-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Addressed by DynamicDependency on ValidationHelper.TryValidateOptions method")]
3633
public TimeSpan? RuleDuration { get; set; }
3734
}
3835
}

src/Tools/dotnet-monitor/CollectionRules/Options/CollectionRuleTriggerDefaultsOptions.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Triggers;
66
using System;
77
using System.ComponentModel.DataAnnotations;
8-
using System.Diagnostics.CodeAnalysis;
98

109
namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options
1110
{
@@ -27,7 +26,6 @@ internal sealed class CollectionRuleTriggerDefaultsOptions
2726
ResourceType = typeof(OptionsDisplayStrings),
2827
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_CollectionRuleTriggerDefaultsOptions_SlidingWindowDuration))]
2928
[Range(typeof(TimeSpan), TriggerOptionsConstants.SlidingWindowDuration_MinValue, TriggerOptionsConstants.SlidingWindowDuration_MaxValue)]
30-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Addressed by DynamicDependency on ValidationHelper.TryValidateOptions method")]
3129
public TimeSpan? SlidingWindowDuration { get; set; }
3230
}
3331
}

src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/AspNetRequestCountOptions.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
using Microsoft.Extensions.Options;
99
using System;
1010
using System.ComponentModel.DataAnnotations;
11-
using System.Diagnostics.CodeAnalysis;
1211

1312
namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Triggers
1413
{
@@ -34,7 +33,6 @@ internal sealed partial class AspNetRequestCountOptions :
3433
ResourceType = typeof(OptionsDisplayStrings),
3534
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_AspNetRequestCountOptions_SlidingWindowDuration))]
3635
[Range(typeof(TimeSpan), TriggerOptionsConstants.SlidingWindowDuration_MinValue, TriggerOptionsConstants.SlidingWindowDuration_MaxValue)]
37-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Addressed by DynamicDependency on ValidationHelper.TryValidateOptions method")]
3836
public TimeSpan? SlidingWindowDuration { get; set; }
3937

4038
// CONSIDER: Currently described that paths have to exactly match one item in the list.

src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/AspNetRequestDurationOptions.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
using System;
1010
using System.ComponentModel;
1111
using System.ComponentModel.DataAnnotations;
12-
using System.Diagnostics.CodeAnalysis;
1312

1413
namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Triggers
1514
{
@@ -39,14 +38,12 @@ internal sealed partial class AspNetRequestDurationOptions :
3938
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_AspNetRequestDurationOptions_RequestDuration))]
4039
[DefaultValue(AspNetRequestDurationOptionsDefaults.RequestDuration)]
4140
[Range(typeof(TimeSpan), RequestDuration_MinValue, RequestDuration_MaxValue)]
42-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Addressed by DynamicDependency on ValidationHelper.TryValidateOptions method")]
4341
public TimeSpan? RequestDuration { get; set; }
4442

4543
[Display(
4644
ResourceType = typeof(OptionsDisplayStrings),
4745
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_AspNetRequestDurationOptions_SlidingWindowDuration))]
4846
[Range(typeof(TimeSpan), TriggerOptionsConstants.SlidingWindowDuration_MinValue, TriggerOptionsConstants.SlidingWindowDuration_MaxValue)]
49-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Addressed by DynamicDependency on ValidationHelper.TryValidateOptions method")]
5047
public TimeSpan? SlidingWindowDuration { get; set; }
5148

5249
// CONSIDER: Currently described that paths have to exactly match one item in the list.

src/Tools/dotnet-monitor/CollectionRules/Options/Triggers/AspNetResponseStatusOptions.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
using Microsoft.Extensions.Options;
99
using System;
1010
using System.ComponentModel.DataAnnotations;
11-
using System.Diagnostics.CodeAnalysis;
1211

1312
namespace Microsoft.Diagnostics.Tools.Monitor.CollectionRules.Options.Triggers
1413
{
@@ -29,7 +28,6 @@ internal sealed partial class AspNetResponseStatusOptions :
2928
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_AspNetResponseStatusOptions_StatusCodes))]
3029
[Required]
3130
[MinLength(1)]
32-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Count of string property is preserved by DynamicDependency.")]
3331
[RegularExpressions(StatusCodesRegex,
3432
ErrorMessageResourceType = typeof(OptionsDisplayStrings),
3533
ErrorMessageResourceName = nameof(OptionsDisplayStrings.ErrorMessage_StatusCodesRegularExpressionDoesNotMatch))]
@@ -50,7 +48,6 @@ internal sealed partial class AspNetResponseStatusOptions :
5048
ResourceType = typeof(OptionsDisplayStrings),
5149
Description = nameof(OptionsDisplayStrings.DisplayAttributeDescription_AspNetResponseStatusOptions_SlidingWindowDuration))]
5250
[Range(typeof(TimeSpan), TriggerOptionsConstants.SlidingWindowDuration_MinValue, TriggerOptionsConstants.SlidingWindowDuration_MaxValue)]
53-
[UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Addressed by DynamicDependency on ValidationHelper.TryValidateOptions method")]
5451
public TimeSpan? SlidingWindowDuration { get; set; }
5552

5653
// CONSIDER: Currently described that paths have to exactly match one item in the list.

0 commit comments

Comments
 (0)