)]}'
{"gnocchi/rest/__init__.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"52bf38010338f1b072f757553c55ae8a606f3f3b","unresolved":false,"context_lines":[{"line_number":425,"context_line":""},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"def get_timestamps_and_values(measures):"},{"line_number":428,"context_line":"    times \u003d pd.to_datetime([i[\u0027timestamp\u0027] for i in measures]).astype(np.int64)"},{"line_number":429,"context_line":"    return (storage.Measure(t, v) for t, v in itertools.izip("},{"line_number":430,"context_line":"        times, (float(i[\u0027value\u0027]) for i in measures)))"},{"line_number":431,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_e7e02599","line":428,"range":{"start_line":428,"start_character":73,"end_line":428,"end_character":78},"updated":"2016-09-20 14:38:22.000000000","message":"uint64?","commit_id":"5724e8322d165d15e878fb7c4c876232a506a9a8"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9cac6e257e740689d6d6cc692ce7a4ee61b79190","unresolved":false,"context_lines":[{"line_number":425,"context_line":""},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"def get_timestamps_and_values(measures):"},{"line_number":428,"context_line":"    times \u003d pd.to_datetime([i[\u0027timestamp\u0027] for i in measures]).astype(np.int64)"},{"line_number":429,"context_line":"    return (storage.Measure(t, v) for t, v in itertools.izip("},{"line_number":430,"context_line":"        times, (float(i[\u0027value\u0027]) for i in measures)))"},{"line_number":431,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_3a4a15c6","line":428,"range":{"start_line":428,"start_character":73,"end_line":428,"end_character":78},"in_reply_to":"7a8ec9b2_e7e02599","updated":"2016-09-20 20:38:38.000000000","message":"doesn\u0027t work. raises\n\n  ValueError: Cannot cast DatetimeIndex to dtype uint64\n\ni changed it to just return numpy array rather than using astype","commit_id":"5724e8322d165d15e878fb7c4c876232a506a9a8"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"52bf38010338f1b072f757553c55ae8a606f3f3b","unresolved":false,"context_lines":[{"line_number":1335,"context_line":"    # Because while json allow duplicate keys in dict payload"},{"line_number":1336,"context_line":"    # only the last key will be retain by json python module to"},{"line_number":1337,"context_line":"    # build the python dict."},{"line_number":1338,"context_line":"    MeasuresBatchSchema \u003d voluptuous.Schema({utils.UUID: list})"},{"line_number":1339,"context_line":""},{"line_number":1340,"context_line":"    @pecan.expose()"},{"line_number":1341,"context_line":"    def post(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_e72ae58f","line":1338,"range":{"start_line":1338,"start_character":57,"end_line":1338,"end_character":61},"updated":"2016-09-20 14:38:22.000000000","message":"You can use get_timestamps_and_values directly actually (maybe rename it)","commit_id":"5724e8322d165d15e878fb7c4c876232a506a9a8"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"9cac6e257e740689d6d6cc692ce7a4ee61b79190","unresolved":false,"context_lines":[{"line_number":1335,"context_line":"    # Because while json allow duplicate keys in dict payload"},{"line_number":1336,"context_line":"    # only the last key will be retain by json python module to"},{"line_number":1337,"context_line":"    # build the python dict."},{"line_number":1338,"context_line":"    MeasuresBatchSchema \u003d voluptuous.Schema({utils.UUID: list})"},{"line_number":1339,"context_line":""},{"line_number":1340,"context_line":"    @pecan.expose()"},{"line_number":1341,"context_line":"    def post(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_5a4521b1","line":1338,"range":{"start_line":1338,"start_character":57,"end_line":1338,"end_character":61},"in_reply_to":"7a8ec9b2_e72ae58f","updated":"2016-09-20 20:38:38.000000000","message":"Done","commit_id":"5724e8322d165d15e878fb7c4c876232a506a9a8"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"7ac03ad3b41f5d0c1050777c4c63b856d8d1d7b0","unresolved":false,"context_lines":[{"line_number":472,"context_line":""},{"line_number":473,"context_line":"        if start is not None:"},{"line_number":474,"context_line":"            try:"},{"line_number":475,"context_line":"                start \u003d Timestamp(start)"},{"line_number":476,"context_line":"            except Exception:"},{"line_number":477,"context_line":"                abort(400, \"Invalid value for start\")"},{"line_number":478,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7a8ec9b2_495ff2e4","line":475,"updated":"2016-09-21 12:47:16.000000000","message":"can\u0027t remove utils.to_timestamp since it\u0027s use by Timestamp","commit_id":"91e121dd7608f7faae7234ad9bbfb4cc6769c862"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"47fc8295f3110e3b149bae10fbde879fa2c631b7","unresolved":false,"context_lines":[{"line_number":472,"context_line":""},{"line_number":473,"context_line":"        if start is not None:"},{"line_number":474,"context_line":"            try:"},{"line_number":475,"context_line":"                start \u003d Timestamp(start)"},{"line_number":476,"context_line":"            except Exception:"},{"line_number":477,"context_line":"                abort(400, \"Invalid value for start\")"},{"line_number":478,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7a8ec9b2_da1e620b","line":475,"in_reply_to":"7a8ec9b2_495ff2e4","updated":"2016-09-21 13:28:39.000000000","message":"Ok. What I\u0027m worried about is that we now have 2 different ways of validating timestamps, and I\u0027m not sure we have a negative test case for MeasuresListSchema.","commit_id":"91e121dd7608f7faae7234ad9bbfb4cc6769c862"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"7ea5ace9be65764622fc7743ed1b2f1a1137fb97","unresolved":false,"context_lines":[{"line_number":472,"context_line":""},{"line_number":473,"context_line":"        if start is not None:"},{"line_number":474,"context_line":"            try:"},{"line_number":475,"context_line":"                start \u003d Timestamp(start)"},{"line_number":476,"context_line":"            except Exception:"},{"line_number":477,"context_line":"                abort(400, \"Invalid value for start\")"},{"line_number":478,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7a8ec9b2_9f0f6938","line":475,"in_reply_to":"7a8ec9b2_da1e620b","updated":"2016-09-21 14:01:53.000000000","message":"we have two[1][2] but let me add one more.\n\n[1] https://github.com/openstack/gnocchi/blob/master/gnocchi/tests/gabbi/gabbits/metric.yaml#L138-L147\n[2] https://github.com/openstack/gnocchi/blob/master/gnocchi/tests/gabbi/gabbits/metric.yaml#L174-L183","commit_id":"91e121dd7608f7faae7234ad9bbfb4cc6769c862"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"e387d4d3f9c769d1b8dd169c4f6d43c27d5ca17f","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import jsonpatch"},{"line_number":21,"context_line":"import numpy as np"},{"line_number":22,"context_line":"from oslo_utils import strutils"},{"line_number":23,"context_line":"import pandas as pd"},{"line_number":24,"context_line":"import pecan"},{"line_number":25,"context_line":"from pecan import rest"},{"line_number":26,"context_line":"import six"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a95cdbc_94125661","line":23,"updated":"2016-10-05 09:09:42.000000000","message":"I don\u0027t like to see panda/numpy in rest side, but the gain is so huge","commit_id":"83f02996556af62d085ecf5bfe240440914fee8f"}],"gnocchi/statsd.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"8fcdfa685920be49cd7ed3d4ed6efea1517314df","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                    \"Invalid sampling for ms: `%d`, should be none\""},{"line_number":66,"context_line":"                    % sampling)"},{"line_number":67,"context_line":"            self.times[metric_name] \u003d storage.Measure("},{"line_number":68,"context_line":"                int(utils.datetime_to_unix(utils.utcnow()) * int(10e8)), value)"},{"line_number":69,"context_line":"        elif metric_type \u003d\u003d \"g\":"},{"line_number":70,"context_line":"            if sampling is not None:"},{"line_number":71,"context_line":"                raise ValueError("}],"source_content_type":"text/x-python","patch_set":8,"id":"1a95cdbc_c837e2e1","line":68,"updated":"2016-10-05 09:11:36.000000000","message":"We can have a helper for this too.","commit_id":"83f02996556af62d085ecf5bfe240440914fee8f"}]}
