From de65c503c0e49b5a9092d9ba2f42f32429b9680e Mon Sep 17 00:00:00 2001 From: Hannes Mehnert Date: Mon, 1 Jul 2024 14:44:54 +0200 Subject: [PATCH] Influx/metrics: fix typo (cow_faul[t]s), avoid empty tag name for root domain Also avoid reporting empty measurements --- daemon/albatross_influx.ml | 2 +- daemon/albatrossd_utils.ml | 7 +++++-- src/vmm_resources.ml | 4 +++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/daemon/albatross_influx.ml b/daemon/albatross_influx.ml index 77c33dd4..02975cb8 100644 --- a/daemon/albatross_influx.ml +++ b/daemon/albatross_influx.ml @@ -110,7 +110,7 @@ module P = struct "tsize", i64 mem.tsize ; "dsize", i64 mem.dsize ; "ssize", i64 mem.ssize ; - "cow_fauls", string_of_int mem.cow ; + "cow_faults", string_of_int mem.cow ; "runtime", i64 mem.runtime ; "uptime", Printf.sprintf "%f" uptime ; ] diff --git a/daemon/albatrossd_utils.ml b/daemon/albatrossd_utils.ml index 1ae5e68a..4e061628 100644 --- a/daemon/albatrossd_utils.ml +++ b/daemon/albatrossd_utils.ml @@ -33,8 +33,11 @@ let init_influx name data = | Some socket -> let tag = process name in let datas = Metrics.SM.fold (fun src (tags, data) acc -> - let name = Metrics.Src.name src in - Metrics_influx.encode_line_protocol (tag :: tags) data name :: acc) + match Metrics.Data.fields data with + | [] -> acc + | _ -> + let name = Metrics.Src.name src in + Metrics_influx.encode_line_protocol (tag :: tags) data name :: acc) (get_cache ()) [] in let datas = String.concat "" datas in diff --git a/src/vmm_resources.ml b/src/vmm_resources.ml index de988136..1b732e41 100644 --- a/src/vmm_resources.ml +++ b/src/vmm_resources.ml @@ -79,7 +79,9 @@ let unikernel_metrics = let report_vms t name = let rec doit path = - let str = Name.path_to_string path in + let str = + if Name.is_root_path path then ":" else Name.path_to_string path + in Metrics.add unikernel_metrics (fun x -> x str) (fun d -> d (t, path)); if Name.is_root_path path then () else doit (Name.parent_path path) in