Skip to content

Commit 550c1c9

Browse files
committed
Merge branch 'bindingDescriptors' into validationWip
2 parents f448701 + 401f162 commit 550c1c9

File tree

2 files changed

+54
-9
lines changed

2 files changed

+54
-9
lines changed

src/Tools/dotnet-monitor/CollectionRules/Triggers/EventCounterTriggerFactory.cs

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,4 +126,49 @@ public bool TryBindOptions(IConfigurationSection settingsSection, out object? se
126126
return true;
127127
}
128128
}
129+
130+
internal sealed class CPUUsageTriggerDescriptor : ICollectionRuleTriggerDescriptor
131+
{
132+
public Type FactoryType => typeof(EventCounterTriggerFactory);
133+
public Type? OptionsType => typeof(CPUUsageOptions);
134+
public string TriggerName => KnownCollectionRuleTriggers.CPUUsage;
135+
136+
public bool TryBindOptions(IConfigurationSection settingsSection, out object? settings)
137+
{
138+
var options = new CPUUsageOptions();
139+
settingsSection.Bind(options);
140+
settings = options;
141+
return true;
142+
}
143+
}
144+
145+
internal sealed class GCHeapSizeTriggerDescriptor : ICollectionRuleTriggerDescriptor
146+
{
147+
public Type FactoryType => typeof(EventCounterTriggerFactory);
148+
public Type? OptionsType => typeof(GCHeapSizeOptions);
149+
public string TriggerName => KnownCollectionRuleTriggers.GCHeapSize;
150+
151+
public bool TryBindOptions(IConfigurationSection settingsSection, out object? settings)
152+
{
153+
var options = new GCHeapSizeOptions();
154+
settingsSection.Bind(options);
155+
settings = options;
156+
return true;
157+
}
158+
}
159+
160+
internal sealed class ThreadpoolQueueLengthTriggerDescriptor : ICollectionRuleTriggerDescriptor
161+
{
162+
public Type FactoryType => typeof(EventCounterTriggerFactory);
163+
public Type? OptionsType => typeof(ThreadpoolQueueLengthOptions);
164+
public string TriggerName => KnownCollectionRuleTriggers.ThreadpoolQueueLength;
165+
166+
public bool TryBindOptions(IConfigurationSection settingsSection, out object? settings)
167+
{
168+
var options = new ThreadpoolQueueLengthOptions();
169+
settingsSection.Bind(options);
170+
settings = options;
171+
return true;
172+
}
173+
}
129174
}

src/Tools/dotnet-monitor/ServiceCollectionExtensions.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -153,15 +153,15 @@ public static IServiceCollection ConfigureCollectionRules(this IServiceCollectio
153153
services.RegisterCollectionRuleAction<SetEnvironmentVariableActionFactory, SetEnvironmentVariableOptions, SetEnvironmentVariableActionDescriptor>();
154154
services.RegisterCollectionRuleAction<GetEnvironmentVariableActionFactory, GetEnvironmentVariableOptions, GetEnvironmentVariableActionDescriptor>();
155155

156-
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.AspNetRequestCountTriggerFactory, AspNetRequestCountOptions, CollectionRules.Triggers.AspNetRequestCountTriggerDescriptor>();
157-
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.AspNetRequestDurationTriggerFactory, AspNetRequestDurationOptions, CollectionRules.Triggers.AspNetRequestDurationTriggerDescriptor>();
158-
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.AspNetResponseStatusTriggerFactory, AspNetResponseStatusOptions, CollectionRules.Triggers.AspNetResponseStatusTriggerDescriptor>();
159-
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.EventCounterTriggerFactory, EventCounterOptions, CollectionRules.Triggers.EventCounterTriggerDescriptor>();
160-
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.EventCounterTriggerFactory, CPUUsageOptions, CollectionRules.Triggers.EventCounterTriggerDescriptor>();
161-
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.EventCounterTriggerFactory, GCHeapSizeOptions, CollectionRules.Triggers.EventCounterTriggerDescriptor>();
162-
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.EventCounterTriggerFactory, ThreadpoolQueueLengthOptions, CollectionRules.Triggers.EventCounterTriggerDescriptor>();
163-
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.StartupTriggerFactory, CollectionRules.Triggers.StartupTriggerDescriptor>();
164-
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.EventMeterTriggerFactory, EventMeterOptions, CollectionRules.Triggers.EventMeterTriggerDescriptor>();
156+
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.AspNetRequestCountTriggerFactory, AspNetRequestCountOptions, AspNetRequestCountTriggerDescriptor>();
157+
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.AspNetRequestDurationTriggerFactory, AspNetRequestDurationOptions, AspNetRequestDurationTriggerDescriptor>();
158+
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.AspNetResponseStatusTriggerFactory, AspNetResponseStatusOptions, AspNetResponseStatusTriggerDescriptor>();
159+
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.EventCounterTriggerFactory, EventCounterOptions, EventCounterTriggerDescriptor>();
160+
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.EventCounterTriggerFactory, CPUUsageOptions, CPUUsageTriggerDescriptor>();
161+
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.EventCounterTriggerFactory, GCHeapSizeOptions, GCHeapSizeTriggerDescriptor>();
162+
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.EventCounterTriggerFactory, ThreadpoolQueueLengthOptions, ThreadpoolQueueLengthTriggerDescriptor>();
163+
services.RegisterCollectionRuleTrigger<StartupTriggerFactory, StartupTriggerDescriptor>();
164+
services.RegisterCollectionRuleTrigger<CollectionRules.Triggers.EventMeterTriggerFactory, EventMeterOptions, EventMeterTriggerDescriptor>();
165165

166166
services.AddSingleton<EventPipeTriggerFactory>();
167167
services.AddSingleton<ITraceEventTriggerFactory<EventCounterTriggerSettings>, Monitoring.EventPipe.Triggers.EventCounter.EventCounterTriggerFactory>();

0 commit comments

Comments
 (0)