)]}'
{"docs/monasca-api-spec.md":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"08d766a58210c7cdfcb267855b94a62db7b7b81e","unresolved":false,"context_lines":[{"line_number":881,"context_line":"* dimensions ({string(255): string(255)}, optional) - A dictionary consisting of (key, value) pairs used to uniquely identify a metric."},{"line_number":882,"context_line":"* timestamp (string, required) - The timestamp in milliseconds from the Epoch."},{"line_number":883,"context_line":"* value (float, required) - Value of the metric. Values with base-10 exponents greater than 126 or less than -130 are truncated."},{"line_number":884,"context_line":"* value_meta ({string(255): string}, optional) - A dictionary consisting of (key, value) pairs used to add information about the value. Value_meta key value combinations must be 2048 characters or less including \u0027{\"\":\"\"}\u0027 7 characters total from every json string."},{"line_number":885,"context_line":""},{"line_number":886,"context_line":"The name and dimensions are used to uniquely identify a metric."},{"line_number":887,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":10,"id":"ba0121b8_ccc01653","line":884,"range":{"start_line":884,"start_character":2,"end_line":884,"end_character":12},"updated":"2016-03-31 15:40:54.000000000","message":"I think we need to document that the total length of the dictionary is limited to 2048. This is the only way that I could come up to describe this.\n\n{string(255): string}(2048)\n\nProbably should add some verbage related to the fact that the json string itself is limited to 2048, including brackets, ...","commit_id":"e3a82a2bcd8e5bb170f129515f80c358a04bc684"}],"monasca_api/tests/test_validation.py":[{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"8b1ba141cbe9256c410d97c93346d5f3d50caf7e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015,2016 Hewlett Packard Enterprise Development Company, L.P."},{"line_number":2,"context_line":"# Copyright 2015 Cray Inc. All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba0121b8_fe67aeb4","line":1,"range":{"start_line":1,"start_character":30,"end_line":1,"end_character":37},"updated":"2016-03-30 19:04:52.000000000","message":"wrong copyright","commit_id":"89bcebc65d51d2e7944bbe341161287cd4a9eb5e"}],"monasca_api/v2/common/validation.py":[{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"7bd424bc89b9018a597319a68acd32c4f3f373fe","unresolved":false,"context_lines":[{"line_number":85,"context_line":"def validate_value_meta_value(value, key):"},{"line_number":86,"context_line":"    assert isinstance(key, (str, unicode)), \"ValueMeta value must be a string\""},{"line_number":87,"context_line":"    # exclude \u0027{\"\":\"\"}\u0027 7 characters total from every json string"},{"line_number":88,"context_line":"    assert len(key) + len(value) \u003c\u003d 2048 - 7, \"valueMeta key value combinations must be 2048 characters or less\""},{"line_number":89,"context_line":"    assert len(value) \u003e\u003d 1, \"ValueMeta value cannot be empty\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_7e50a9d4","line":88,"range":{"start_line":88,"start_character":43,"end_line":88,"end_character":44},"updated":"2016-03-17 21:49:39.000000000","message":"This assumes there is only one key,value pair in the value meta.","commit_id":"9e5089905e4bf45a0d62b2ec9cae880559184f1e"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"bad7185f3b3212d32a1d2af181bc537390df3bd2","unresolved":false,"context_lines":[{"line_number":85,"context_line":"def validate_value_meta_value(value, key):"},{"line_number":86,"context_line":"    assert isinstance(key, (str, unicode)), \"ValueMeta value must be a string\""},{"line_number":87,"context_line":"    # exclude \u0027{\"\":\"\"}\u0027 7 characters total from every json string"},{"line_number":88,"context_line":"    assert len(key) + len(value) \u003c\u003d 2048 - 7, \"valueMeta key value combinations must be 2048 characters or less\""},{"line_number":89,"context_line":"    assert len(value) \u003e\u003d 1, \"ValueMeta value cannot be empty\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_1ea9a590","line":88,"range":{"start_line":88,"start_character":43,"end_line":88,"end_character":44},"in_reply_to":"1af94dfe_7e50a9d4","updated":"2016-03-17 21:52:40.000000000","message":"Good catch!! Thanks!","commit_id":"9e5089905e4bf45a0d62b2ec9cae880559184f1e"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"8b1ba141cbe9256c410d97c93346d5f3d50caf7e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2015,2016 Hewlett Packard Enterprise Development Company LP"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba0121b8_bef896c4","line":1,"range":{"start_line":1,"start_character":21,"end_line":1,"end_character":25},"updated":"2016-03-30 19:04:52.000000000","message":"wrong copyright","commit_id":"89bcebc65d51d2e7944bbe341161287cd4a9eb5e"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"c1ad26f3e4bc45bb17b62e8a4001be3d7fe4a722","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2015,2016 Hewlett Packard Enterprise Development Company LP"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba0121b8_bed096f7","line":1,"range":{"start_line":1,"start_character":21,"end_line":1,"end_character":25},"in_reply_to":"ba0121b8_bef896c4","updated":"2016-03-30 19:10:51.000000000","message":"this is right my bad","commit_id":"89bcebc65d51d2e7944bbe341161287cd4a9eb5e"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"08d766a58210c7cdfcb267855b94a62db7b7b81e","unresolved":false,"context_lines":[{"line_number":80,"context_line":"def validate_value_meta(value_meta):"},{"line_number":81,"context_line":"    value_meta_string \u003d json.dumps(value_meta)"},{"line_number":82,"context_line":"    # entries"},{"line_number":83,"context_line":"    assert len(value_meta) \u003c\u003d 16, \"ValueMeta entries must be 16 or less\""},{"line_number":84,"context_line":"    # total length"},{"line_number":85,"context_line":"    assert len(value_meta_string) \u003c\u003d 2048, \"ValueMeta name value combinations must be 2048 characters or less\""},{"line_number":86,"context_line":"    for name in value_meta:"}],"source_content_type":"text/x-python","patch_set":10,"id":"ba0121b8_0c0fae88","line":83,"range":{"start_line":83,"start_character":30,"end_line":83,"end_character":32},"updated":"2016-03-31 15:40:54.000000000","message":"I think it would be preferable to have some variables declared at the top of the file or use the one\u0027s that you declared in contants.\n\nMAX_ELEMENTS_VALUE_META \u003d 16, or whatever names we used in the Java code, except the one that we discussed that was not named clearly.","commit_id":"e3a82a2bcd8e5bb170f129515f80c358a04bc684"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"5da0b002dcf5be06cd6b7800c6f5df512c46134a","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                                                   sort_by_values[1]))"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"def validate_value_meta(value_meta):"},{"line_number":87,"context_line":"    value_meta_string \u003d json.dumps(value_meta)"},{"line_number":88,"context_line":"    # entries"},{"line_number":89,"context_line":"    assert len(value_meta) \u003c\u003d VALUE_META_MAX_NUMBER, \"ValueMeta entries must be {} or less\".format("},{"line_number":90,"context_line":"        VALUE_META_MAX_NUMBER)"},{"line_number":91,"context_line":"    # total length"},{"line_number":92,"context_line":"    assert len(value_meta_string) \u003c\u003d VALUE_META_MAX_LENGTH, \\"},{"line_number":93,"context_line":"        \"ValueMeta name value combinations must be {} characters or less\".format("},{"line_number":94,"context_line":"        VALUE_META_MAX_LENGTH)"},{"line_number":95,"context_line":"    for name in value_meta:"},{"line_number":96,"context_line":"        # name"},{"line_number":97,"context_line":"        assert isinstance(name, (str, unicode)), \"ValueMeta name must be a string\""},{"line_number":98,"context_line":"        assert len(name) \u003c\u003d VALUE_META_NAME_MAX_LENGTH, \"ValueMeta name must be {} characters or less\".format("},{"line_number":99,"context_line":"            VALUE_META_NAME_MAX_LENGTH)"},{"line_number":100,"context_line":"        assert len(name) \u003e\u003d 1, \"ValueMeta name cannot be empty\""},{"line_number":101,"context_line":"        # value"},{"line_number":102,"context_line":"        assert isinstance(value_meta[name], (str, unicode)), \"ValueMeta value must be a string\""},{"line_number":103,"context_line":"        assert len(value_meta[name]) \u003e\u003d 1, \"ValueMeta value cannot be empty\""}],"source_content_type":"text/x-python","patch_set":12,"id":"ba0121b8_dd7a62bc","line":103,"range":{"start_line":86,"start_character":23,"end_line":103,"end_character":76},"updated":"2016-04-01 05:28:26.000000000","message":"Why not simply use:\n \"ValueMeta entries must be %s or less\" % VALUE_META_MAX_NUMBER\n\nAlso as far as I remember breaking the line should be done by wrapping\nline in () parentheses. That is I guess specified in PEP somewhere.","commit_id":"02bf7a9858b88bcf1e0c8a7bccec6628f2d658f1"}],"monasca_api/v2/reference/metrics.py":[{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"d7e7351b1c8b28f58da6e2776ed43d3f48ca07ee","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if \"value_meta\" in metric:"},{"line_number":95,"context_line":"            try:"},{"line_number":96,"context_line":"                value_meta_json \u003d json.dumps(metric[\u0027value_meta\u0027])"},{"line_number":97,"context_line":"                validation.validate_value_meta_total_length(value_meta_json)"},{"line_number":98,"context_line":"                validation.validate_value_meta_entries(metric[\u0027value_meta\u0027])"},{"line_number":99,"context_line":"                for value_meta_name in metric[\u0027value_meta\u0027]:"},{"line_number":100,"context_line":"                    validation.validate_value_meta_name(value_meta_name)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa0719c6_427d6a6d","line":97,"range":{"start_line":97,"start_character":0,"end_line":97,"end_character":76},"updated":"2016-03-22 01:36:07.000000000","message":"I\u0027m not sure these need to be separate functions.  The metric_name, and dimension validation functions are used in multiple places while these don\u0027t appear to be.","commit_id":"626e4babfa12c310d272a8457001a553e3d97cb9"},{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"6c9741c62c478d5c6d8352679c261858da07b2c3","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if \"value_meta\" in metric:"},{"line_number":95,"context_line":"            try:"},{"line_number":96,"context_line":"                value_meta_json \u003d json.dumps(metric[\u0027value_meta\u0027])"},{"line_number":97,"context_line":"                validation.validate_value_meta_total_length(value_meta_json)"},{"line_number":98,"context_line":"                validation.validate_value_meta_entries(metric[\u0027value_meta\u0027])"},{"line_number":99,"context_line":"                for value_meta_name in metric[\u0027value_meta\u0027]:"},{"line_number":100,"context_line":"                    validation.validate_value_meta_name(value_meta_name)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa0719c6_be10c5a9","line":97,"range":{"start_line":97,"start_character":0,"end_line":97,"end_character":76},"in_reply_to":"fa0719c6_427d6a6d","updated":"2016-03-22 15:14:14.000000000","message":"Yes this is the only place to use these validation functions for now. Thank you Joe.","commit_id":"626e4babfa12c310d272a8457001a553e3d97cb9"},{"author":{"_account_id":14273,"name":"Joe Keen","email":"joe.keen@hpe.com","username":"jkeen"},"change_message_id":"d7e7351b1c8b28f58da6e2776ed43d3f48ca07ee","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                    validation.validate_value_meta_value("},{"line_number":102,"context_line":"                        metric[\u0027value_meta\u0027][value_meta_name])"},{"line_number":103,"context_line":"            except Exception as ex:"},{"line_number":104,"context_line":"                LOG.debug(ex)"},{"line_number":105,"context_line":"                raise HTTPUnprocessableEntityError(\u0027Unprocessable Entity\u0027, ex.message)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def _send_metrics(self, metrics):"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa0719c6_823b02d1","line":104,"range":{"start_line":104,"start_character":20,"end_line":104,"end_character":25},"updated":"2016-03-22 01:36:07.000000000","message":"If we have issues parsing value_meta we should do a log.error or log.exception here.","commit_id":"626e4babfa12c310d272a8457001a553e3d97cb9"},{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"8b1ba141cbe9256c410d97c93346d5f3d50caf7e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 Hewlett-Packard"},{"line_number":2,"context_line":"# (C) Copyright 2016 Hewlett Packard Enterprise Development Company LP"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba0121b8_be1ff606","line":1,"range":{"start_line":1,"start_character":17,"end_line":1,"end_character":24},"updated":"2016-03-30 19:04:52.000000000","message":"i think you can take this away and add it to the other copyright","commit_id":"89bcebc65d51d2e7944bbe341161287cd4a9eb5e"}],"monasca_tempest_tests/tests/api/test_metrics.py":[{"author":{"_account_id":15027,"name":"Michael Hoppal","email":"michael.jam.hoppal@hpe.com","username":"michael-hoppal"},"change_message_id":"8b1ba141cbe9256c410d97c93346d5f3d50caf7e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2015-2016 Hewlett Packard Enterprise Development Company LP"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba0121b8_7ee0befa","line":1,"range":{"start_line":1,"start_character":26,"end_line":1,"end_character":33},"updated":"2016-03-30 19:04:52.000000000","message":"copyright","commit_id":"89bcebc65d51d2e7944bbe341161287cd4a9eb5e"}]}
