Exemple #1
0
 def _get_metric_infos(self, service_metrics, check_command):
     metric_infos = {}
     for nr, perfvar in enumerate(service_metrics):
         translated = perfvar_translation(perfvar, check_command)
         name = translated["name"]
         mi = metric_info.get(name, {})
         metric_infos[perfvar] = {
             "index": nr,
             "name": name,
             "title": mi.get("title", name.title()),
         }
     return metric_infos
Exemple #2
0
    def resolve_units(request):
        # This relies on python3.8 dictionaries being always ordered
        # Otherwise it is not possible to mach the unit name to value
        # CascadingDropdowns enumerate the options instead of using keys
        known_units = list(unit_info.keys())
        required_unit = metric_info.get(request["metric"], {}).get("unit", "")

        try:
            index = known_units.index(required_unit)
        except ValueError:
            index = known_units.index("")

        return {"unit": required_unit, "option_place": index}
 def _metric_title_from_id(metric_or_graph_id: MetricName) -> str:
     metric_id = metric_or_graph_id.replace("METRIC_", "")
     return str(metric_info.get(metric_id, {}).get("title", metric_id))