)]}'
{"rally/plugins/openstack/scenarios/ceilometer/stats.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"2812bcb217f35274d1543e69207a3efac1c863c6","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        Create a samples to meter, fetch its statistics with group by"},{"line_number":73,"context_line":"        resource id and check results."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        :param meter: specifies meter_name"},{"line_number":76,"context_line":"        :param samples: scpecifies samples"},{"line_number":77,"context_line":"        :param aggregates: array of aggregates"},{"line_number":78,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_bde491df","line":75,"updated":"2015-06-25 15:10:58.000000000","message":"typo - meter_name. Also need to document what its raise","commit_id":"cbf930eaec8713a012ece094c08e9958387c96b5"}],"rally/plugins/openstack/scenarios/ceilometer/utils.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"2812bcb217f35274d1543e69207a3efac1c863c6","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        samples \u003d []"},{"line_number":87,"context_line":"        for i in moves.xrange(count):"},{"line_number":88,"context_line":"            new_sample \u003d copy.deepcopy(sample)"},{"line_number":89,"context_line":"            if interval:"},{"line_number":90,"context_line":"                date_timestamp \u003d timeutils.parse_strtime("},{"line_number":91,"context_line":"                    new_sample[\"timestamp\"], ISO8601_TIME_FORMAT)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_6e272dca","line":88,"updated":"2015-06-25 15:10:58.000000000","message":"Could we create a sample with a client? https://github.com/openstack/python-ceilometerclient/blob/master/ceilometerclient/v2/samples.py#L51","commit_id":"cbf930eaec8713a012ece094c08e9958387c96b5"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"2812bcb217f35274d1543e69207a3efac1c863c6","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        :param user_id: specifies user id"},{"line_number":107,"context_line":"        :param samples: specifies samples"},{"line_number":108,"context_line":"        :param meter_name: specifies meter name"},{"line_number":109,"context_line":"        :return: array of samples used to create samples"},{"line_number":110,"context_line":"        \"\"\""},{"line_number":111,"context_line":"        samples_to_create \u003d []"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_88238904","line":109,"updated":"2015-06-25 15:10:58.000000000","message":"its a list in terms of python","commit_id":"cbf930eaec8713a012ece094c08e9958387c96b5"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"2812bcb217f35274d1543e69207a3efac1c863c6","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    def _group_stats_by_resource_id(self, stats):"},{"line_number":131,"context_line":"        \"\"\"Group statistics by resource id."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        :param stats: array of statistics"},{"line_number":134,"context_line":"        :return: array of grouped statistics by id"},{"line_number":135,"context_line":"        \"\"\""},{"line_number":136,"context_line":"        grouped_stats \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_488ca1d6","line":133,"updated":"2015-06-25 15:10:58.000000000","message":"list","commit_id":"cbf930eaec8713a012ece094c08e9958387c96b5"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"2812bcb217f35274d1543e69207a3efac1c863c6","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        \"\"\"Group statistics by resource id."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        :param stats: array of statistics"},{"line_number":134,"context_line":"        :return: array of grouped statistics by id"},{"line_number":135,"context_line":"        \"\"\""},{"line_number":136,"context_line":"        grouped_stats \u003d {}"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_888629b7","line":134,"updated":"2015-06-25 15:10:58.000000000","message":"list","commit_id":"cbf930eaec8713a012ece094c08e9958387c96b5"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"2812bcb217f35274d1543e69207a3efac1c863c6","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        :return: True if statistics are correct and False if not"},{"line_number":151,"context_line":"        \"\"\""},{"line_number":152,"context_line":"        aggregates_values \u003d {}"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        for sample in samples:"},{"line_number":155,"context_line":"            aggregates_values.setdefault(sample[\"resource_id\"], {})"},{"line_number":156,"context_line":"            resource_aggregation \u003d aggregates_values[sample[\"resource_id\"]]"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_4ebd89af","line":153,"updated":"2015-06-25 15:10:58.000000000","message":"Why not to make all set_defaults out of cycle?","commit_id":"cbf930eaec8713a012ece094c08e9958387c96b5"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"2812bcb217f35274d1543e69207a3efac1c863c6","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        for sample in samples:"},{"line_number":155,"context_line":"            aggregates_values.setdefault(sample[\"resource_id\"], {})"},{"line_number":156,"context_line":"            resource_aggregation \u003d aggregates_values[sample[\"resource_id\"]]"},{"line_number":157,"context_line":"            for aggregate in STANDARD_AGGREGATES:"},{"line_number":158,"context_line":"                if aggregate \u003d\u003d \"count\":"},{"line_number":159,"context_line":"                    resource_aggregation.setdefault(\"count\", 0)"},{"line_number":160,"context_line":"                    resource_aggregation[\"count\"] +\u003d sample[\"count\"]"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_ae6bf5b7","line":157,"updated":"2015-06-25 15:10:58.000000000","message":"Looks like we don\u0027t need here for. We could make it even without ifs because STANDARD_AGGREGATES is a const","commit_id":"cbf930eaec8713a012ece094c08e9958387c96b5"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"2812bcb217f35274d1543e69207a3efac1c863c6","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                        sample[\"counter_volume\"])"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        for resource in six.itervalues(aggregates_values):"},{"line_number":179,"context_line":"            resource[\"avg\"] \u003d float(resource[\"sum\"]) / float(resource[\"count\"])"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        for resource, stat in six.iteritems(grouped_stats):"},{"line_number":182,"context_line":"            for aggregate in aggregates:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_4e5b4922","line":179,"updated":"2015-06-25 15:10:58.000000000","message":"You don\u0027t need to convert resource[\"count\"] to float","commit_id":"cbf930eaec8713a012ece094c08e9958387c96b5"}]}
