Example #1
0
 def MergeLikeValuesFromSamePage(cls, values):
     assert len(values) > 0
     v0 = values[0]
     return HistogramValue(v0.page,
                           v0.name,
                           v0.units,
                           raw_value_json=histogram_util.AddHistograms(
                               [v.ToJSONString() for v in values]),
                           important=v0.important)
Example #2
0
 def MergeLikeValuesFromSamePage(cls, values):
   assert len(values) > 0
   v0 = values[0]
   return HistogramValue(
       v0.page, v0.name, v0.units,
       raw_value_json=histogram_util.AddHistograms(
           [v.ToJSONString() for v in values]),
       description=v0.description,
       important=v0.important, tir_label=value_module.MergedTirLabel(values),
       improvement_direction=v0.improvement_direction,
       grouping_keys=v0.grouping_keys)
    def testAddHistograms(self):
        histograms = []
        histograms.append("""{"count": 3, "buckets": [
        {"low": 1, "high": 2, "count": 1},
        {"low": 2, "high": 3, "count": 2}]}""")

        histograms.append("""{"count": 20, "buckets": [
        {"low": 2, "high": 3, "count": 10},
        {"low": 3, "high": 4, "count": 10}]}""")

        histograms.append("""{"count": 15, "buckets": [
        {"low": 1, "high": 2, "count": 4},
        {"low": 3, "high": 4, "count": 11}]}""")

        new_histogram = json.loads(histogram_util.AddHistograms(histograms))
        new_buckets = dict()
        for b in new_histogram['buckets']:
            new_buckets[b['low']] = b['count']
        self.assertEquals(5, new_buckets[1])
        self.assertEquals(12, new_buckets[2])
        self.assertEquals(21, new_buckets[3])