def dashlet_title( settings: Mapping[str, Any], metric: Tuple[str, Mapping[str, Any], Mapping[str, Any]], ) -> str: if not settings.get("show_title", True): return "" default_title = SingleMetricDashlet.default_display_title() _unused, metric_specs, metric_context = metric metric_name = metric_specs.get("title") return render_title_with_macros_string( { context_key: metric_context[metrics_key] for metrics_key, context_key in ( ("host_name", "host"), ("service_description", "service"), ("site", "site"), ) if metrics_key in metric_context }, settings["single_infos"], settings.get("title", default_title), default_title, **({ "$METRIC_NAME$": metric_name } if metric_name else {}), )
def generate_response_data(cls, properties, context, settings): site_id = context.get("site", {}).get("site") time_range, range_title = Timerange().compute_range( properties["time_range"]) default_title = _("Top alerters - %s") % range_title elements = cls._collect_data( only_sites=[SiteId(site_id)] if site_id else None, since=time_range[0], limit=properties.get("limit_objects"), ) return { "render_mode": "alert_statistics", # TODO: This should all be done inside the dashlet class once it is instantiated by the # ajax call "title": render_title_with_macros_string( context, settings["single_infos"], settings.get("title", default_title), default_title, ), "title_url": settings.get("title_url"), "plot_definitions": [], "data": [e.serialize() for e in elements], "upper_bound": max([100] + [e.num_problems + 1 for e in elements]), }
def generate_response_data(cls, properties, context, settings): if config.is_single_local_site(): site_id: Optional[SiteId] = config.omd_site() else: site_filter = context.get("site", {}).get("site") site_id = SiteId(site_filter) if site_filter else None render_mode = "hosts" if site_id else "sites" if render_mode == "hosts": assert site_id is not None elements = cls._collect_hosts_data(site_id) default_title = _("Host overview") elif render_mode == "sites": elements = cls._collect_sites_data() default_title = _("Site overview") else: raise NotImplementedError() return { # TODO: This should all be done inside the dashlet class once it is instantiated by the # ajax call "title": render_title_with_macros_string( context, settings["single_infos"], settings.get("title", default_title), default_title, ), "render_mode": render_mode, "plot_definitions": [], "data": [e.serialize() for e in elements], }
def figure_title(cls, properties, context, settings) -> str: if not settings.get("show_title", False): return "" title = settings.get("title", "") return render_title_with_macros_string( title, macro_mapping_from_context(context, settings["single_infos"], title), )
def figure_title(cls, properties, context, settings, metric_name: str) -> str: if not settings.get("show_title", False): return "" default_title = AverageScatterplotDashlet.default_display_title() return render_title_with_macros_string( context, settings["single_infos"], settings.get("title", default_title), default_title, **{"$METRIC_NAME$": metric_name}, )
def bar_chart_title(properties, context, settings) -> str: if not settings.get("show_title", True): return "" chart_name = settings['type'].split("_")[0] deflt_title = default_bar_chart_title(properties['log_target'], chart_name) return render_title_with_macros_string( context, settings["single_infos"], settings.get("title", deflt_title), deflt_title, )
def bar_chart_title(properties, context, settings) -> str: if not settings.get("show_title", True): return "" chart_name = settings['type'].split("_")[0] deflt_title = default_bar_chart_title(properties['log_target'], chart_name) title = settings.get("title", deflt_title) macro_mapping = macro_mapping_from_context(context, settings["single_infos"], title) macro_mapping["$GRAPH_TITLE$"] = deflt_title return render_title_with_macros_string( title, macro_mapping, )
def dashlet_title( settings: Mapping[str, Any], metric_specs: Mapping[str, Any], ) -> str: if not settings.get("show_title", True): return "" title = settings.get("title", "") return render_title_with_macros_string( title, macro_mapping_from_context( { context_key: metric_specs[metrics_key] for metrics_key, context_key in ( ("host_name", "host"), ("service_description", "service"), ("site", "site"), ) if metrics_key in metric_specs }, settings["single_infos"], title, ), )