in BASE/src/Microsoft.ApplicationInsights/Metrics/Implementation/AutocollectedMetricsExtraction/CommonHelper.cs [12:138]
public static void TrackValueHelper(Metric metricToTrack, double metricValue, string[] dimValues)
{
int numberOfDimensions = dimValues.Length;
switch (numberOfDimensions)
{
case 1:
{
metricToTrack.TrackValue(metricValue, dimValues[0]);
break;
}
case 2:
{
metricToTrack.TrackValue(metricValue,
dimValues[0],
dimValues[1]);
break;
}
case 3:
{
metricToTrack.TrackValue(metricValue,
dimValues[0],
dimValues[1],
dimValues[2]);
break;
}
case 4:
{
metricToTrack.TrackValue(metricValue,
dimValues[0],
dimValues[1],
dimValues[2],
dimValues[3]);
break;
}
case 5:
{
metricToTrack.TrackValue(metricValue,
dimValues[0],
dimValues[1],
dimValues[2],
dimValues[3],
dimValues[4]);
break;
}
case 6:
{
metricToTrack.TrackValue(metricValue,
dimValues[0],
dimValues[1],
dimValues[2],
dimValues[3],
dimValues[4],
dimValues[5]);
break;
}
case 7:
{
metricToTrack.TrackValue(metricValue,
dimValues[0],
dimValues[1],
dimValues[2],
dimValues[3],
dimValues[4],
dimValues[5],
dimValues[6]);
break;
}
case 8:
{
metricToTrack.TrackValue(metricValue,
dimValues[0],
dimValues[1],
dimValues[2],
dimValues[3],
dimValues[4],
dimValues[5],
dimValues[6],
dimValues[7]);
break;
}
case 9:
{
metricToTrack.TrackValue(metricValue,
dimValues[0],
dimValues[1],
dimValues[2],
dimValues[3],
dimValues[4],
dimValues[5],
dimValues[6],
dimValues[7],
dimValues[8]);
break;
}
case 10:
{
metricToTrack.TrackValue(metricValue,
dimValues[0],
dimValues[1],
dimValues[2],
dimValues[3],
dimValues[4],
dimValues[5],
dimValues[6],
dimValues[7],
dimValues[8],
dimValues[9]);
break;
}
default:
{
//// This should be caught and properly logged by the base class:
throw new InvalidOperationException(Invariant($"Cannot track metric value.")
+ Invariant($" There number of dimensions {numberOfDimensions} is more than the supported limit of 10."));
}
}
}