Skip to content

Commit df92923

Browse files
committed
Map metrics options
1 parent affc098 commit df92923

File tree

1 file changed

+68
-1
lines changed

1 file changed

+68
-1
lines changed

src/Tools/dotnet-monitor/CommonOptionsMapper.cs

Lines changed: 68 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ private void MapRootOptions(RootOptions obj, string prefix, string separator, ID
111111
// CorsConfigurationOptions
112112
MapDiagnosticPortOptions(obj.DiagnosticPort, FormattableString.Invariant($"{prefix}{nameof(obj.DiagnosticPort)}"), separator, map);
113113
MapEgressOptions(obj.Egress, FormattableString.Invariant($"{prefix}{nameof(obj.Egress)}"), separator, map);
114-
// MetricsOptions
114+
MapMetricsOptions(obj.Metrics, FormattableString.Invariant($"{prefix}{nameof(obj.Metrics)}"), separator, map);
115115
MapStorageOptions(obj.Storage, FormattableString.Invariant($"{prefix}{nameof(obj.Storage)}"), separator, map);
116116
// ProcessFilterOptions
117117
MapCollectionRuleDefaultsOptions(obj.CollectionRuleDefaults, FormattableString.Invariant($"{prefix}{nameof(obj.CollectionRuleDefaults)}"), separator, map);
@@ -983,6 +983,73 @@ private static void MapFileSystemEgressProviderOptions(FileSystemEgressProviderO
983983
}
984984
}
985985

986+
private static void MapMetricsOptions(MetricsOptions? obj, string valueName, string separator, IDictionary<string, string> map)
987+
{
988+
if (null != obj)
989+
{
990+
string prefix = FormattableString.Invariant($"{valueName}{separator}");
991+
MapBool(obj.Enabled, FormattableString.Invariant($"{prefix}{nameof(obj.Enabled)}"), map);
992+
MapString(obj.Endpoints, FormattableString.Invariant($"{prefix}{nameof(obj.Endpoints)}"), map);
993+
MapInt(obj.MetricCount, FormattableString.Invariant($"{prefix}{nameof(obj.MetricCount)}"), map);
994+
MapBool(obj.IncludeDefaultProviders, FormattableString.Invariant($"{prefix}{nameof(obj.IncludeDefaultProviders)}"), map);
995+
MapList_MetricProvider(obj.Providers, FormattableString.Invariant($"{prefix}{nameof(obj.Providers)}"), separator, map);
996+
MapList_MeterConfiguration(obj.Meters, FormattableString.Invariant($"{prefix}{nameof(obj.Meters)}"), separator, map);
997+
}
998+
}
999+
1000+
private static void MapList_MetricProvider(List<MetricProvider>? obj, string valueName, string separator, IDictionary<string, string> map)
1001+
{
1002+
if (null != obj)
1003+
{
1004+
string prefix = FormattableString.Invariant($"{valueName}{separator}");
1005+
for (int index = 0; index < obj.Count; index++)
1006+
{
1007+
MetricProvider value = obj[index];
1008+
MapMetricProvider(value, FormattableString.Invariant($"{prefix}{index}"), separator, map);
1009+
}
1010+
}
1011+
}
1012+
1013+
private static void MapMetricProvider(MetricProvider obj, string valueName, string separator, IDictionary<string, string> map)
1014+
{
1015+
string prefix = FormattableString.Invariant($"{valueName}{separator}");
1016+
MapString(obj.ProviderName, FormattableString.Invariant($"{prefix}{nameof(obj.ProviderName)}"), map);
1017+
MapList_String(obj.CounterNames, FormattableString.Invariant($"{prefix}{nameof(obj.CounterNames)}"), separator, map);
1018+
}
1019+
1020+
private static void MapList_String(List<string>? obj, string valueName, string separator, IDictionary<string, string> map)
1021+
{
1022+
if (null != obj)
1023+
{
1024+
string prefix = FormattableString.Invariant($"{valueName}{separator}");
1025+
for (int index = 0; index < obj.Count; index++)
1026+
{
1027+
string value = obj[index];
1028+
MapString(value, FormattableString.Invariant($"{prefix}{index}"), map);
1029+
}
1030+
}
1031+
}
1032+
1033+
private static void MapList_MeterConfiguration(List<MeterConfiguration>? obj, string valueName, string separator, IDictionary<string, string> map)
1034+
{
1035+
if (null != obj)
1036+
{
1037+
string prefix = FormattableString.Invariant($"{valueName}{separator}");
1038+
for (int index = 0; index < obj.Count; index++)
1039+
{
1040+
MeterConfiguration value = obj[index];
1041+
MapMeterConfiguration(value, FormattableString.Invariant($"{prefix}{index}"), separator, map);
1042+
}
1043+
}
1044+
}
1045+
1046+
private static void MapMeterConfiguration(MeterConfiguration obj, string valueName, string separator, IDictionary<string, string> map)
1047+
{
1048+
string prefix = FormattableString.Invariant($"{valueName}{separator}");
1049+
MapString(obj.MeterName, FormattableString.Invariant($"{prefix}{nameof(obj.MeterName)}"), map);
1050+
MapList_String(obj.InstrumentNames, FormattableString.Invariant($"{prefix}{nameof(obj.InstrumentNames)}"), separator, map);
1051+
}
1052+
9861053
private static void MapStorageOptions(StorageOptions? obj, string valueName, string separator, IDictionary<string, string> map)
9871054
{
9881055
if (null != obj)

0 commit comments

Comments
 (0)