)]}'
{
  "commit": "e2cd6d509b17894b95d14523ae3e7c4c7a9a74e3",
  "tree": "2b7ad7cfd0e1f17634e62cea253cc013572fb4ee",
  "parents": [
    "809565b7690ee6d5a504f04c5730d07841a54443"
  ],
  "author": {
    "name": "Yangster-mac",
    "email": "yanglu@google.com",
    "time": "Thu Nov 09 20:38:30 2017 -0800"
  },
  "committer": {
    "name": "Yangster-mac",
    "email": "yanglu@google.com",
    "time": "Mon Nov 20 15:37:24 2017 -0800"
  },
  "message": "1/ Duration anomaly tracker with alarm.\n2/ Init anomaly from config based on the public language.\n3/ Unit tests for anomaly detection in count/gauge producer.\n4/ Revisit the duration tracker logic.\n\nTest: unit test passed.\nChange-Id: I2423c0e0f05b1e37626954de9e749303423963f2\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "45ae56f214dda9c835c512e0b2d36898ef51b139",
      "old_mode": 33188,
      "old_path": "cmds/statsd/Android.mk",
      "new_id": "1b2f9da22ec1651ce84be62216fbd8a00b30a3d0",
      "new_mode": 33188,
      "new_path": "cmds/statsd/Android.mk"
    },
    {
      "type": "modify",
      "old_id": "abd2a35d76dfd78342b09b2848da10e95f329279",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/StatsLogProcessor.cpp",
      "new_id": "fcb5107c31fcbf119217616ede7d4004ccd552ef",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/StatsLogProcessor.cpp"
    },
    {
      "type": "modify",
      "old_id": "2091774b108ee545e94a2216abceb35b50f86dcd",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/StatsLogProcessor.h",
      "new_id": "510dc5145dfe31dd4613141f73df3a74dfeccaff",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/StatsLogProcessor.h"
    },
    {
      "type": "modify",
      "old_id": "31d32b43d1c03d21c38548555800e3dee3e531c1",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/StatsService.cpp",
      "new_id": "1a056df8e367f77fc827f11238ae80ad0b5125ab",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/StatsService.cpp"
    },
    {
      "type": "modify",
      "old_id": "7a464104fb09e3df106cbc76ca66472c02dfffec",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/anomaly/AnomalyMonitor.cpp",
      "new_id": "da52a9d664944a61bb8133c21678a2812f0ddcd5",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/anomaly/AnomalyMonitor.cpp"
    },
    {
      "type": "modify",
      "old_id": "d9207e99dd6f2a56ec5227086b4a141dd82feb89",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/anomaly/AnomalyMonitor.h",
      "new_id": "0bd5055631b60bb36ad4a3fcf228989a9b65af0a",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/anomaly/AnomalyMonitor.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0904a04987e70c9591355fbe5e5047cfd0e04d4d",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/anomaly/AnomalyTracker.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ce6c99518cda90a406461526cf8288e887834be2",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/anomaly/AnomalyTracker.h"
    },
    {
      "type": "delete",
      "old_id": "64921779acdcca8827ddad5570d64ffb729d650c",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/anomaly/DiscreteAnomalyTracker.cpp",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "ed7d5d715a6d4658efbeef73f784067525087a73",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/anomaly/DiscreteAnomalyTracker.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "1a2e9c2a41ed12b61892f15fb6286754dbec8a3c",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/anomaly/indexed_priority_queue.h",
      "new_id": "4982d4b90b7dfd18d751022e160cf4f3c5eb917b",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/anomaly/indexed_priority_queue.h"
    },
    {
      "type": "modify",
      "old_id": "f9da68e8e5c5224047fac1caa4af55aa1ece1696",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/CountMetricProducer.cpp",
      "new_id": "d47bd4fe9e44fefa120e3210da78b2dfd0a06ef8",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/CountMetricProducer.cpp"
    },
    {
      "type": "modify",
      "old_id": "b7e480c4e78d14a1ea447e4e1c5593150342d35d",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/CountMetricProducer.h",
      "new_id": "b3f8ee37379ea135218258c31e9be91261e526bf",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/CountMetricProducer.h"
    },
    {
      "type": "modify",
      "old_id": "eba2e06035e56ed85a17620c71d0bc0be4d4555b",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/DurationMetricProducer.cpp",
      "new_id": "b0a97b143400de77c55c94ead0f683fdf1dd326f",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/DurationMetricProducer.cpp"
    },
    {
      "type": "modify",
      "old_id": "bb5d4d94dea8c291d069ab661414b4a8052b44cb",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/DurationMetricProducer.h",
      "new_id": "4c8dbcb83a6bc57c164fc22e86db8615f5ef0960",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/DurationMetricProducer.h"
    },
    {
      "type": "modify",
      "old_id": "0dccdf493869559c23495f0e79055fe8d443b09f",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/EventMetricProducer.h",
      "new_id": "0c453cdac99bebdb45cb872e1e2a5d6bdef52489",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/EventMetricProducer.h"
    },
    {
      "type": "modify",
      "old_id": "ed18f897943eea9e61fe82e7d6a8f8d23e291c1f",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/GaugeMetricProducer.cpp",
      "new_id": "42ac1a2bbd7b6af37f29fcb0febcbd707000034e",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/GaugeMetricProducer.cpp"
    },
    {
      "type": "modify",
      "old_id": "f9e4deb9f04e9fbb2351e04e4486ec6ae3f74a34",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/GaugeMetricProducer.h",
      "new_id": "930afb21543f190e26c744ea982f50a86c4900d5",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/GaugeMetricProducer.h"
    },
    {
      "type": "modify",
      "old_id": "c7982a837c140304a261338ddb0e0a46729cd079",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/MetricProducer.h",
      "new_id": "0f93744299306c0dea996bf504b3d37379d1f9de",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/MetricProducer.h"
    },
    {
      "type": "modify",
      "old_id": "e8a862fef79b68adef02ebc6d316857922779425",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/MetricsManager.cpp",
      "new_id": "5916b040889ccab1abd920370730c7ccb5da7582",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/MetricsManager.cpp"
    },
    {
      "type": "modify",
      "old_id": "fb167798a44fbd4d91a661ae82e78ea7416c2e91",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/MetricsManager.h",
      "new_id": "59ade7cdf48b26e5a76a2f7628c08b3b9b83b462",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/MetricsManager.h"
    },
    {
      "type": "modify",
      "old_id": "a35070bab54bad4cef6c1df83d72dcfd7154061b",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/ValueMetricProducer.cpp",
      "new_id": "9cbe6f6eac153af6f59e99604926ffa5b8bc4cb8",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/ValueMetricProducer.cpp"
    },
    {
      "type": "modify",
      "old_id": "c6c87f5b15f67695fa9f8be63d5aaf0f3adf5119",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/ValueMetricProducer.h",
      "new_id": "2b0b0ada2a8f9e16eb322a40e6408c556c35f2fc",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/ValueMetricProducer.h"
    },
    {
      "type": "modify",
      "old_id": "18b334988d0dbc70e84a5cdf0cdd7b1a62e62f5f",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/duration_helper/DurationTracker.h",
      "new_id": "c91ea0f845bded0e946dbb7f61c5fb80e059acba",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/duration_helper/DurationTracker.h"
    },
    {
      "type": "modify",
      "old_id": "8c7bfb6e4462d3a2a13980df46b97a326b8bb0d4",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/duration_helper/MaxDurationTracker.cpp",
      "new_id": "06e743daa0909272ff5efae63cda51b1344cff67",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/duration_helper/MaxDurationTracker.cpp"
    },
    {
      "type": "modify",
      "old_id": "167f81e414e12caf11bc741297b00c2fed0a08b0",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/duration_helper/MaxDurationTracker.h",
      "new_id": "ca1021041e34c7920a4b7e265a1847ca94f7d7e7",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/duration_helper/MaxDurationTracker.h"
    },
    {
      "type": "modify",
      "old_id": "faf5ce50b45f598262b41315c0a47c2c52c032e0",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/duration_helper/OringDurationTracker.cpp",
      "new_id": "29b6c8965ee6012834b822f347cf371f4c88c874",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/duration_helper/OringDurationTracker.cpp"
    },
    {
      "type": "modify",
      "old_id": "78760ba1a02405ceb4d79dcc5f094545308d47d0",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/duration_helper/OringDurationTracker.h",
      "new_id": "6f921139b76fae5328a5f8aec3d5f893f26ebecb",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/duration_helper/OringDurationTracker.h"
    },
    {
      "type": "modify",
      "old_id": "d83c144d5d8bcd2130fd672a4ce4b84e72c5fbbb",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/metrics_manager_util.cpp",
      "new_id": "2344cb4170a3e853da6b99d3d56c9c90aa60acba",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/metrics_manager_util.cpp"
    },
    {
      "type": "modify",
      "old_id": "edf3af0aff8e6a974012c5b69cded768afede6c0",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/metrics/metrics_manager_util.h",
      "new_id": "7d7e0c36951f16c36a925e4fc0c7c9e07d7384a3",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/metrics/metrics_manager_util.h"
    },
    {
      "type": "modify",
      "old_id": "e1d0aceb3bd5e69959ceb6c7d296f7ebcb5fb3b9",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/stats_util.h",
      "new_id": "b7d8f97afaae05273789dfb3869a09cca4726c08",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/stats_util.h"
    },
    {
      "type": "modify",
      "old_id": "d3b04ba5e32d46d8ad2c8f072749ff7ea76dd15b",
      "old_mode": 33188,
      "old_path": "cmds/statsd/src/statsd_config.proto",
      "new_id": "e75a37f98966f6935b71213da15aa6bcfc27002f",
      "new_mode": 33188,
      "new_path": "cmds/statsd/src/statsd_config.proto"
    },
    {
      "type": "modify",
      "old_id": "59fa16007eef3db8c11b2d4be1a8790f07445715",
      "old_mode": 33188,
      "old_path": "cmds/statsd/tests/AnomalyMonitor_test.cpp",
      "new_id": "920ca08ef9558bb3c94d9ff96178c9fad5295385",
      "new_mode": 33188,
      "new_path": "cmds/statsd/tests/AnomalyMonitor_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "caa1cf4dba1be599132e74803a40fb723bf1ff03",
      "old_mode": 33188,
      "old_path": "cmds/statsd/tests/MetricsManager_test.cpp",
      "new_id": "3dd4e70ff49c76459fef3a0e05b32c3015f8f2e4",
      "new_mode": 33188,
      "new_path": "cmds/statsd/tests/MetricsManager_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "4c12b0397769ee5da1b91c0efc68eec1fdf942f1",
      "old_mode": 33188,
      "old_path": "cmds/statsd/tests/UidMap_test.cpp",
      "new_id": "0c194683884cc2e1c00e76f6d70e451fe92c824e",
      "new_mode": 33188,
      "new_path": "cmds/statsd/tests/UidMap_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "b8150d04ed0793e72ea4a504f41cf4e341dc4cb9",
      "old_mode": 33188,
      "old_path": "cmds/statsd/tests/anomaly/AnomalyTracker_test.cpp",
      "new_id": "e0200f27316e05a15a544bfc066b885c35f9925a",
      "new_mode": 33188,
      "new_path": "cmds/statsd/tests/anomaly/AnomalyTracker_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "600b95356083f6a1de01211f4bf8cead5a1d396f",
      "old_mode": 33188,
      "old_path": "cmds/statsd/tests/indexed_priority_queue_test.cpp",
      "new_id": "d6cd876e5ad5366e9125bc1badaf3ca85ae02cf5",
      "new_mode": 33188,
      "new_path": "cmds/statsd/tests/indexed_priority_queue_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "b7c9b406e0b9254dd63ebb69b0bab2992226b9b2",
      "old_mode": 33188,
      "old_path": "cmds/statsd/tests/metrics/CountMetricProducer_test.cpp",
      "new_id": "35e08af687396f257c6bb523095d25b699d7613d",
      "new_mode": 33188,
      "new_path": "cmds/statsd/tests/metrics/CountMetricProducer_test.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b9e2b8a7752f85337d3a0a606951987f4f83481b",
      "new_mode": 33188,
      "new_path": "cmds/statsd/tests/metrics/GaugeMetricProducer_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "9cc184a1a435c72e2f4fca660841c2512d13834c",
      "old_mode": 33188,
      "old_path": "cmds/statsd/tests/metrics/MaxDurationTracker_test.cpp",
      "new_id": "9e169bbf10efa8d6091f88a200081ef205e6c0b3",
      "new_mode": 33188,
      "new_path": "cmds/statsd/tests/metrics/MaxDurationTracker_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "f495d6bc24b82099050e32c1987ed005d6f11762",
      "old_mode": 33188,
      "old_path": "cmds/statsd/tests/metrics/OringDurationTracker_test.cpp",
      "new_id": "f4edffd1af1efb4eb2a574829c567942b6a53e54",
      "new_mode": 33188,
      "new_path": "cmds/statsd/tests/metrics/OringDurationTracker_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "cd647cb9c238a3022af2833b80a8a97dd7b10a4c",
      "old_mode": 33188,
      "old_path": "cmds/statsd/tests/metrics/ValueMetricProducer_test.cpp",
      "new_id": "1ed3636f4ec4f1236ce0fa4d49eb4a61d85398a9",
      "new_mode": 33188,
      "new_path": "cmds/statsd/tests/metrics/ValueMetricProducer_test.cpp"
    }
  ]
}
