)]}'
{
  "commit": "d80ae6b4c061eec0f690d19f6208e89b26e571ee",
  "tree": "adbc0853c10916c190c0deec029f0802a9f11e9e",
  "parents": [
    "c12c47fe1c9f38a7e10167277be2466858571326"
  ],
  "author": {
    "name": "tsaichristine",
    "email": "tsaichristine@google.com",
    "time": "Mon Dec 09 15:19:41 2019 -0800"
  },
  "committer": {
    "name": "tsaichristine",
    "email": "tsaichristine@google.com",
    "time": "Thu Dec 19 09:34:27 2019 -0800"
  },
  "message": "Log bucket drop reasons for ValueMetric and GaugeMetric\n\n- For all cases where ValueMetric and GaugeMetric drop buckets, we will\nlog the reason for the drop and the timestamp of the drop event. All the\ncases where ValueMetric drops buckets is documented in\ngo/valuemetric-bucketdropping. GaugeMetric only drops buckets when the\nsize of the bucket is less than the specified minimum bucket size.\n- Dropped/skipped bucket data structures have been moved to\nMetricProducer so all metrics can potentially log bucket drop cases.\n- Added unit tests for ValueMetricProducer and GaugeMetricProducer to\ncheck that all bucket drop cases can be logged and the number of drop\nevents is capped at 10 for one skipped bucket.\n- ***Could not test drops due to a pull delay because pull delays are\nmeasured by real elapsed time in #accumulateEvents.\n\nTest: bit statsd_test:*\nBug: 145836670\nBug: 140421050\nBug: 146082150\nBug: 146082276\nChange-Id: I0197660bf89837162330aeaafb5397c7328e3993\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "23d2aceb4fc33e965e87a037acd227a186154342",
      "old_mode": 33188,
      "old_path": "bin/src/guardrail/StatsdStats.h",
      "new_id": "2ce4b2506c2185a433d0e661ccf48c820cb55876",
      "new_mode": 33188,
      "new_path": "bin/src/guardrail/StatsdStats.h"
    },
    {
      "type": "modify",
      "old_id": "64344e837a51ae028751cc60f341c391889ee709",
      "old_mode": 33188,
      "old_path": "bin/src/metrics/GaugeMetricProducer.cpp",
      "new_id": "4ab6ec376190db963bc44610ae99db1e2bcb4c96",
      "new_mode": 33188,
      "new_path": "bin/src/metrics/GaugeMetricProducer.cpp"
    },
    {
      "type": "modify",
      "old_id": "640a02a9a8ab889ded3af75d9c3f2b34a1c8a5e3",
      "old_mode": 33188,
      "old_path": "bin/src/metrics/GaugeMetricProducer.h",
      "new_id": "12dcaa4539e9bd841f26ee996e5f49ae33ade169",
      "new_mode": 33188,
      "new_path": "bin/src/metrics/GaugeMetricProducer.h"
    },
    {
      "type": "modify",
      "old_id": "2c8f0e3d545f4f6519af326c5b5cef248095e85e",
      "old_mode": 33188,
      "old_path": "bin/src/metrics/MetricProducer.cpp",
      "new_id": "cf1d2f32694897778e01c9521dfc749b17d894fb",
      "new_mode": 33188,
      "new_path": "bin/src/metrics/MetricProducer.cpp"
    },
    {
      "type": "modify",
      "old_id": "3512f180e9defa909b8d6b6eab19908a26812466",
      "old_mode": 33188,
      "old_path": "bin/src/metrics/MetricProducer.h",
      "new_id": "30675fcf8fbc44cb667fc4e6fa887e523bcfb63b",
      "new_mode": 33188,
      "new_path": "bin/src/metrics/MetricProducer.h"
    },
    {
      "type": "modify",
      "old_id": "2c9991125d89ca41018b9539ed0ed054c6416fa6",
      "old_mode": 33188,
      "old_path": "bin/src/metrics/ValueMetricProducer.cpp",
      "new_id": "d8f399f75487211ca2b95302e4bbb533a1f06ed8",
      "new_mode": 33188,
      "new_path": "bin/src/metrics/ValueMetricProducer.cpp"
    },
    {
      "type": "modify",
      "old_id": "2033a2a0cd02010814f49a778a938506c48cce56",
      "old_mode": 33188,
      "old_path": "bin/src/metrics/ValueMetricProducer.h",
      "new_id": "4eae99bfcba4097c546d6d743e8def7e9b23ef5f",
      "new_mode": 33188,
      "new_path": "bin/src/metrics/ValueMetricProducer.h"
    },
    {
      "type": "modify",
      "old_id": "e45e24fe49d492e2e2b5491d93f44d2759972545",
      "old_mode": 33188,
      "old_path": "bin/src/stats_log.proto",
      "new_id": "8b4d78143b61acd9e3ba954547ae4564bfbf6bf7",
      "new_mode": 33188,
      "new_path": "bin/src/stats_log.proto"
    },
    {
      "type": "modify",
      "old_id": "b027e8e687dbf7752efb6d3381579f4846ce9687",
      "old_mode": 33188,
      "old_path": "bin/tests/metrics/GaugeMetricProducer_test.cpp",
      "new_id": "308c43da426b4687d87c75c60e2944b3b202b9b4",
      "new_mode": 33188,
      "new_path": "bin/tests/metrics/GaugeMetricProducer_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "4b9d0c0ca718ee2e3340caad55e89603733a934f",
      "old_mode": 33188,
      "old_path": "bin/tests/metrics/ValueMetricProducer_test.cpp",
      "new_id": "da0a672a016261a0643fc5d2950dd517b2d4e8b7",
      "new_mode": 33188,
      "new_path": "bin/tests/metrics/ValueMetricProducer_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "d154b1b9cad9233efc24a756ff27a90589e7b2da",
      "old_mode": 33188,
      "old_path": "bin/tests/statsd_test_util.cpp",
      "new_id": "7b651dfed7fc72a2f24d69f287639c704fcad5a3",
      "new_mode": 33188,
      "new_path": "bin/tests/statsd_test_util.cpp"
    },
    {
      "type": "modify",
      "old_id": "e1e134be6b819778c0e9eaae30085470bee3b7ba",
      "old_mode": 33188,
      "old_path": "bin/tests/statsd_test_util.h",
      "new_id": "010c194aa915a4a4806e8c0333ca2aba3b066a67",
      "new_mode": 33188,
      "new_path": "bin/tests/statsd_test_util.h"
    }
  ]
}
