in mozetl/graphics/graphics_telemetry_dashboard.py [0:0]
def coalesce_to_n_items(agg, max_items):
obj = []
for superkey, breakdown in agg:
if len(breakdown) <= max_items:
obj += [(superkey, breakdown)]
continue
items = sorted(breakdown.items(), key=lambda obj: obj[1], reverse=True)
new_breakdown = {k: v for k, v in items[0:max_items]}
total = 0
for k, v in items[max_items:]:
total += v
if total:
new_breakdown["Other"] = new_breakdown.get("Other", 0) + total
obj += [(superkey, new_breakdown)]
return obj