-
Notifications
You must be signed in to change notification settings - Fork 48
New metrics API proposal #18
Comments
Questions from @vitalyf007: In your mind, why do you see a difference between regular counter (with increment/decrement interface) and “meter (with Mark() interface). Overall it feels like a port of Metrics.Net to a degree (if we want to do the same, why port it, may be just use it)? And do I understand it correctly that all context properties become metric dimensions? |
Difference between As I mentioned I changed a I didn't intend to port Metrics.NET. Just used a similar semantic of metric type names. I believe we will recommend to use Metrics.NET to our customers. It is a good idea to implement a metric reporting module for it. The main reason to have our own metrics aggregation logic is to implement standard types aggregations like calculating average response time metric on the agent across all telemetry, not just sampled examples on server side. In proposed API when you create a metric (like a |
@SergeyKanzhelev can you clarify on "which of those properties will become dimensions is a backend job". With server side aggregation it makes sense. There are predefined dimensions and customer can pick and pay for additional dimensions that will be used for aggregation. How does client aggregation work here? |
SDK do not aggregate by dimensions in proposed API. For instance, you have a meter called So this API doesn't aggregate by dimensions - aggregation by dimensions happens on backend. |
BTW, Metrics.NET provide a mechanism to have multiple dimensions for the metrics. See this for instance. I think similar concept should be used for request telemetry aggregations. But I'm not sure - need to try it out first |
Here is a new metrics API proposal: https://github.com/Microsoft/ApplicationInsights-SDK-Labs/blob/master/AggregateMetrics/README.md#usage---second-api
Histograms and timers metric types are not yet implemented. Also there is some differences in how meters metric type works that potentially need some adjustments.
Problems that this API solves:
MetricTelemetry
custom properties and ability to set context propertiesWhat this API doesn't solve:
MetricTelemetry
and it doesn't solve the problem of limiting number of dimensions you can have for a single metricWhat is missing:
RerquestTelemetry
object. Like aMeter
of failed requests or timer of average page execution time.The text was updated successfully, but these errors were encountered: