The TryGetDataSeries method in Metric class has a validation of dimension name achieving via a util class. The call to this method is quite expensive due to string allocation/conversions in Invariant() method - Invariant($"{nameof(dimensionValues)}[{d}]")
https://github.com/Microsoft/ApplicationInsights-dotnet/blob/develop/src/Microsoft.ApplicationInsights/Metric.cs#L450
Proposal is to modify code to avoid this computation unless necessary. (neccessary = dimension is invalid, which is not the common case)
The
TryGetDataSeriesmethod in Metric class has a validation of dimension name achieving via a util class. The call to this method is quite expensive due to string allocation/conversions in Invariant() method - Invariant($"{nameof(dimensionValues)}[{d}]")https://github.com/Microsoft/ApplicationInsights-dotnet/blob/develop/src/Microsoft.ApplicationInsights/Metric.cs#L450
Proposal is to modify code to avoid this computation unless necessary. (neccessary = dimension is invalid, which is not the common case)