summaryrefslogtreecommitdiff
path: root/src/fieldstat.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fieldstat.c')
-rw-r--r--src/fieldstat.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/fieldstat.c b/src/fieldstat.c
index 12ab2ed..5555d45 100644
--- a/src/fieldstat.c
+++ b/src/fieldstat.c
@@ -1029,6 +1029,46 @@ long long fieldstat_hist_value_at_percentile(const struct fieldstat *instance, i
return metric_histogram_value_at_percentile(metric, cell_id, percentile);
}
+long long fieldstat_hist_value_max(const struct fieldstat *instance, int cube_id, int metric_id, int cell_id)
+{
+ const struct metric *metric = fieldstat_find_metric(instance, cube_id, metric_id);
+ if (metric == NULL || metric_get_type(metric) != METRIC_TYPE_HISTOGRAM) {
+ return -1;
+ }
+
+ return metric_histogram_value_max(metric, cell_id);
+}
+
+long long fieldstat_hist_value_min(const struct fieldstat *instance, int cube_id, int metric_id, int cell_id)
+{
+ const struct metric *metric = fieldstat_find_metric(instance, cube_id, metric_id);
+ if (metric == NULL || metric_get_type(metric) != METRIC_TYPE_HISTOGRAM) {
+ return -1;
+ }
+
+ return metric_histogram_value_min(metric, cell_id);
+}
+
+double fieldstat_hist_value_mean(const struct fieldstat *instance, int cube_id, int metric_id, int cell_id)
+{
+ const struct metric *metric = fieldstat_find_metric(instance, cube_id, metric_id);
+ if (metric == NULL || metric_get_type(metric) != METRIC_TYPE_HISTOGRAM) {
+ return -1;
+ }
+
+ return metric_histogram_value_mean(metric, cell_id);
+}
+
+double fieldstat_hist_value_stddev(const struct fieldstat *instance, int cube_id, int metric_id, int cell_id)
+{
+ const struct metric *metric = fieldstat_find_metric(instance, cube_id, metric_id);
+ if (metric == NULL || metric_get_type(metric) != METRIC_TYPE_HISTOGRAM) {
+ return -1;
+ }
+
+ return metric_histogram_value_stddev(metric, cell_id);
+}
+
long long fieldstat_hist_value_total_count(const struct fieldstat *instance, int cube_id, int metric_id, int cell_id)
{
const struct metric *metric = fieldstat_find_metric(instance, cube_id, metric_id);