)]}'
{"ceilometer/api/controllers/v2.py":[{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"91de201bd5f34611531e5b49ff69f9933ce06970","unresolved":false,"context_lines":[{"line_number":990,"context_line":"    first_sample_timestamp \u003d datetime.datetime"},{"line_number":991,"context_line":"    \"UTC date\u0026time of the the first sample for any meter\""},{"line_number":992,"context_line":""},{"line_number":993,"context_line":"    last_sample_timestamp \u003d datetime.datetime"},{"line_number":994,"context_line":"    \"UTC date\u0026time of the the last sample for any meter\""},{"line_number":995,"context_line":""},{"line_number":996,"context_line":"    metadata \u003d {wtypes.text: wtypes.text}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAT3%2F%2F9kk%3D","line":993,"updated":"2013-12-26 08:31:05.000000000","message":"This patch changes parameter name in return value.\nIf user\u0027s program is using this API, user must fixes user\u0027s program by this patch.\n\nI feel parameter name should not be changed.\nYou might want to changes to \"timestamp\" from \"last_sample_timestamp\" or adds \"timestamp\" as deprecated parameter.","commit_id":"8d1c6db5ca4fd8da479293b407fa03d3ca4933d7"},{"author":{"_account_id":7203,"name":"yuuichi fujioka","email":"fujioka.yuuichi@gmail.com","username":"FujiokaYuuichi"},"change_message_id":"b6243f75e1e9a927077793f4cad28d0c71919de0","unresolved":false,"context_lines":[{"line_number":1006,"context_line":"    \"The source where the resource come from\""},{"line_number":1007,"context_line":""},{"line_number":1008,"context_line":"    def __init__(self, metadata\u003d{}, **kwds):"},{"line_number":1009,"context_line":"        metadata \u003d _flatten_metadata(metadata)"},{"line_number":1010,"context_line":"        super(Resource, self).__init__(metadata\u003dmetadata, **kwds)"},{"line_number":1011,"context_line":""},{"line_number":1012,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAT3%2F%2F9Jw%3D","line":1009,"updated":"2013-12-26 11:08:09.000000000","message":"kwds never contains \u0027timestamp\u0027.\nAt this rate, timestamp wouldn\u0027t be specified value.\nYou might want to set last_sample_timestamp to timestamp.\ne.g.\n def __init__(....):\n   ....\n   if \u0027last_sample_timestamp\u0027 in kwds:\n     kwds[\u0027timestamp\u0027] \u003d kwds[\u0027last_sample_timestamp\u0027]\n   ....","commit_id":"05b9dd2d606cd1d2e2d6f7bbf1e389ae62646fb1"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"1531823d3126466e790ab7cacbeffccd520a1e29","unresolved":false,"context_lines":[{"line_number":1004,"context_line":""},{"line_number":1005,"context_line":"    def __init__(self, metadata\u003d{}, **kwds):"},{"line_number":1006,"context_line":"        if \u0027last_sample_timestamp\u0027 in kwds:"},{"line_number":1007,"context_line":"            kwds[\u0027timestamp\u0027] \u003d kwds[\u0027last_sample_timestamp\u0027]"},{"line_number":1008,"context_line":"        metadata \u003d _flatten_metadata(metadata)"},{"line_number":1009,"context_line":"        super(Resource, self).__init__(metadata\u003dmetadata, **kwds)"},{"line_number":1010,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAT3%2F%2F2SU%3D","line":1007,"updated":"2013-12-30 08:29:16.000000000","message":"Do we need the timestamp here? In my opinion not, like you removed it from above. Here it is a duplication of the last_sample_timestamp and the storage model also does not contain timestamp for Resource: https://github.com/openstack/ceilometer/blob/master/ceilometer/storage/models.py#L136\nSo there is still inconsistency between the API and the storage level.","commit_id":"f803a098b3fea900f9fdc2c6e8bd6b8303d2b11a"},{"author":{"_account_id":9645,"name":"lizheming","email":"lizheming.li@huawei.com","username":"lizheming"},"change_message_id":"ee67f4b5b2e24e75202af1642642aaf93b1a37d9","unresolved":false,"context_lines":[{"line_number":1004,"context_line":""},{"line_number":1005,"context_line":"    def __init__(self, metadata\u003d{}, **kwds):"},{"line_number":1006,"context_line":"        if \u0027last_sample_timestamp\u0027 in kwds:"},{"line_number":1007,"context_line":"            kwds[\u0027timestamp\u0027] \u003d kwds[\u0027last_sample_timestamp\u0027]"},{"line_number":1008,"context_line":"        metadata \u003d _flatten_metadata(metadata)"},{"line_number":1009,"context_line":"        super(Resource, self).__init__(metadata\u003dmetadata, **kwds)"},{"line_number":1010,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAT3%2F%2Fwr8%3D","line":1007,"in_reply_to":"AAAAT3%2F%2F2SU%3D","updated":"2014-01-03 02:22:39.000000000","message":"because of timestamp was used in grizzly, if someone use this  api, they will modify their interface, and modify timestamp to  last_sample_timestamp. this is so troublesome. so we provide the old interface field and user don\u0027t need to modify their application.","commit_id":"f803a098b3fea900f9fdc2c6e8bd6b8303d2b11a"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"1cb9d4a37f3e8e4fb080718db560219641781f93","unresolved":false,"context_lines":[{"line_number":1004,"context_line":""},{"line_number":1005,"context_line":"    def __init__(self, metadata\u003d{}, **kwds):"},{"line_number":1006,"context_line":"        if \u0027last_sample_timestamp\u0027 in kwds:"},{"line_number":1007,"context_line":"            kwds[\u0027timestamp\u0027] \u003d kwds[\u0027last_sample_timestamp\u0027]"},{"line_number":1008,"context_line":"        metadata \u003d _flatten_metadata(metadata)"},{"line_number":1009,"context_line":"        super(Resource, self).__init__(metadata\u003dmetadata, **kwds)"},{"line_number":1010,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAT3%2F%2Fr%2Bc%3D","line":1007,"in_reply_to":"AAAAT3%2F%2Fwr8%3D","updated":"2014-01-03 13:50:22.000000000","message":"Ok, that sounds reasonable, but in this case, if I know right, you have to keep the wsme type declaration for also the old timestamp.","commit_id":"f803a098b3fea900f9fdc2c6e8bd6b8303d2b11a"},{"author":{"_account_id":9562,"name":"Ildiko Vancsa","email":"ildiko.vancsa@gmail.com","username":"ildikov"},"change_message_id":"1531823d3126466e790ab7cacbeffccd520a1e29","unresolved":false,"context_lines":[{"line_number":1015,"context_line":"                   user_id\u003d\u0027efd87807-12d2-4b38-9c70-5f5c2ac427ff\u0027,"},{"line_number":1016,"context_line":"                   first_sample_timestamp\u003ddatetime.datetime.utcnow(),"},{"line_number":1017,"context_line":"                   last_sample_timestamp\u003ddatetime.datetime.utcnow(),"},{"line_number":1018,"context_line":"                   timestamp\u003ddatetime.datetime.utcnow(),"},{"line_number":1019,"context_line":"                   source\u003d\"openstack\","},{"line_number":1020,"context_line":"                   metadata\u003d{\u0027name1\u0027: \u0027value1\u0027,"},{"line_number":1021,"context_line":"                             \u0027name2\u0027: \u0027value2\u0027},"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAT3%2F%2F2SM%3D","line":1018,"updated":"2013-12-30 08:29:16.000000000","message":"Same comment as above.","commit_id":"f803a098b3fea900f9fdc2c6e8bd6b8303d2b11a"}]}
