@@ -152,15 +152,15 @@ public static IServiceCollection ConfigureCollectionRules(this IServiceCollectio
152
152
services . RegisterCollectionRuleAction < SetEnvironmentVariableActionFactory , SetEnvironmentVariableOptions , SetEnvironmentVariableActionDescriptor > ( ) ;
153
153
services . RegisterCollectionRuleAction < GetEnvironmentVariableActionFactory , GetEnvironmentVariableOptions , GetEnvironmentVariableActionDescriptor > ( ) ;
154
154
155
- services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . AspNetRequestCountTriggerFactory , AspNetRequestCountOptions > ( KnownCollectionRuleTriggers . AspNetRequestCount ) ;
156
- services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . AspNetRequestDurationTriggerFactory , AspNetRequestDurationOptions > ( KnownCollectionRuleTriggers . AspNetRequestDuration ) ;
157
- services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . AspNetResponseStatusTriggerFactory , AspNetResponseStatusOptions > ( KnownCollectionRuleTriggers . AspNetResponseStatus ) ;
158
- services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . EventCounterTriggerFactory , EventCounterOptions > ( KnownCollectionRuleTriggers . EventCounter ) ;
159
- services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . EventCounterTriggerFactory , CPUUsageOptions > ( KnownCollectionRuleTriggers . CPUUsage ) ;
160
- services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . EventCounterTriggerFactory , GCHeapSizeOptions > ( KnownCollectionRuleTriggers . GCHeapSize ) ;
161
- services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . EventCounterTriggerFactory , ThreadpoolQueueLengthOptions > ( KnownCollectionRuleTriggers . ThreadpoolQueueLength ) ;
162
- services . RegisterCollectionRuleTrigger < StartupTriggerFactory > ( KnownCollectionRuleTriggers . Startup ) ;
163
- services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . EventMeterTriggerFactory , EventMeterOptions > ( KnownCollectionRuleTriggers . EventMeter ) ;
155
+ services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . AspNetRequestCountTriggerFactory , AspNetRequestCountOptions , CollectionRules . Triggers . AspNetRequestCountTriggerDescriptor > ( ) ;
156
+ services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . AspNetRequestDurationTriggerFactory , AspNetRequestDurationOptions , CollectionRules . Triggers . AspNetRequestDurationTriggerDescriptor > ( ) ;
157
+ services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . AspNetResponseStatusTriggerFactory , AspNetResponseStatusOptions , CollectionRules . Triggers . AspNetResponseStatusTriggerDescriptor > ( ) ;
158
+ services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . EventCounterTriggerFactory , EventCounterOptions , CollectionRules . Triggers . EventCounterTriggerDescriptor > ( ) ;
159
+ services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . EventCounterTriggerFactory , CPUUsageOptions , CollectionRules . Triggers . EventCounterTriggerDescriptor > ( ) ;
160
+ services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . EventCounterTriggerFactory , GCHeapSizeOptions , CollectionRules . Triggers . EventCounterTriggerDescriptor > ( ) ;
161
+ services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . EventCounterTriggerFactory , ThreadpoolQueueLengthOptions , CollectionRules . Triggers . EventCounterTriggerDescriptor > ( ) ;
162
+ services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . StartupTriggerFactory , CollectionRules . Triggers . StartupTriggerDescriptor > ( ) ;
163
+ services . RegisterCollectionRuleTrigger < CollectionRules . Triggers . EventMeterTriggerFactory , EventMeterOptions , CollectionRules . Triggers . EventMeterTriggerDescriptor > ( ) ;
164
164
165
165
services . AddSingleton < EventPipeTriggerFactory > ( ) ;
166
166
services . AddSingleton < ITraceEventTriggerFactory < EventCounterTriggerSettings > , Monitoring . EventPipe . Triggers . EventCounter . EventCounterTriggerFactory > ( ) ;
@@ -210,24 +210,24 @@ public static IServiceCollection RegisterCollectionRuleAction<TFactory, TOptions
210
210
return services ;
211
211
}
212
212
213
- public static IServiceCollection RegisterCollectionRuleTrigger < TFactory > ( this IServiceCollection services , string triggerName )
213
+ public static IServiceCollection RegisterCollectionRuleTrigger < TFactory , TDescriptor > ( this IServiceCollection services )
214
214
where TFactory : class , ICollectionRuleTriggerFactory
215
+ where TDescriptor : class , ICollectionRuleTriggerDescriptor , new ( )
215
216
{
216
217
services . AddSingleton < TFactory > ( ) ;
217
218
services . AddSingleton < CollectionRuleTriggerFactoryProxy < TFactory > > ( ) ;
218
- services . AddSingleton < ICollectionRuleTriggerDescriptor , CollectionRuleTriggerDescriptor < TFactory > > (
219
- sp => new CollectionRuleTriggerDescriptor < TFactory > ( triggerName ) ) ;
219
+ services . AddSingleton < ICollectionRuleTriggerDescriptor , TDescriptor > ( sp => new TDescriptor ( ) ) ;
220
220
return services ;
221
221
}
222
222
223
- public static IServiceCollection RegisterCollectionRuleTrigger < TFactory , TOptions > ( this IServiceCollection services , string triggerName )
223
+ public static IServiceCollection RegisterCollectionRuleTrigger < TFactory , TOptions , TDescriptor > ( this IServiceCollection services )
224
224
where TFactory : class , ICollectionRuleTriggerFactory < TOptions >
225
225
where TOptions : class , new ( )
226
+ where TDescriptor : class , ICollectionRuleTriggerDescriptor , new ( )
226
227
{
227
228
services . AddSingleton < TFactory > ( ) ;
228
229
services . AddSingleton < CollectionRuleTriggerFactoryProxy < TFactory , TOptions > > ( ) ;
229
- services . AddSingleton < ICollectionRuleTriggerDescriptor , CollectionRuleTriggerProvider < TFactory , TOptions > > (
230
- sp => new CollectionRuleTriggerProvider < TFactory , TOptions > ( triggerName ) ) ;
230
+ services . AddSingleton < ICollectionRuleTriggerDescriptor , TDescriptor > ( sp => new TDescriptor ( ) ) ;
231
231
// NOTE: When opening collection rule triggers for extensibility, this should not be added for all registered triggers.
232
232
// Each trigger should register its own IValidateOptions<> implementation (if it needs one).
233
233
services . AddSingleton < IValidateOptions < TOptions > , DataAnnotationValidateOptions < TOptions > > ( ) ;
0 commit comments