4n4nd / prometheus-api-client-python

A python wrapper for the prometheus http api
MIT License
234 stars 77 forks source link

Handling of NaN values in metric aggregations #264

Open GPalaciosFdez opened 1 year ago

GPalaciosFdez commented 1 year ago

Describe the bug Not really sure if a bug or a design decision but I could not find this case covered in the tests.

When using numpy to calculate the different operations in get_metric_aggregation the functions chosen will return NaN if there is a value in the metric that is NaN.

For example for:

To Reproduce Steps to reproduce the behavior:

  1. Pass a metric with a NaN value and several numerical values to get_metric_aggregation
  2. Check the result and you should see that it is NaN

Expected behavior Handle NaN values to return a statistically meaningful number

Additional context I could submit a PR if you think this is something that can be changed. It could even be possible to pass a boolean flag handle_nans as an argument to get_metric_aggregation to choose the behavior.

GPalaciosFdez commented 1 year ago

Hi :)

Any comments about this issue?