def METHOD_NAME(self):
    options = self.metrics_options.get("programs", {})
    sources = options.get("sources")
    names = options.get("names")
    if not sources or not names:
        return
    self.all_source_names.update(sources)
    g = Gauge('zentral_inventory_programs_bucket',  'Zentral inventory programs',
              ['name', 'version', 'source_name', 'source_id', 'le'],
              registry=self.registry)
    for r in program_count(sources, names):
        labels = {k: r[k] or "" for k in ('name', 'version', 'source_name', 'source_id')}
        for le in ("1", "7", "14", "30", "45", "90", "+Inf"):
            g.labels(le=le, **labels).set(r[le])