)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},"change_message_id":"62e7a9d8157c61573738b73c131e8d3725c33730","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"efafaa52_18a5f785","updated":"2022-08-22 09:05:05.000000000","message":"Please note that I didn\u0027t test the Monasca collector but for both Prometheus and Gnocchi this change works as expected.\nPlease confirm two out of three is good enough to merge this change.","commit_id":"c9340b35f67699fcae0fa95f799deb4ebf1f1c99"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"db01e52cc3ed5be53328f165df3b9283b79de695","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"046caf45_a7e1c3a6","in_reply_to":"efafaa52_18a5f785","updated":"2022-08-22 10:15:57.000000000","message":"Thanks Mariusz. No reason why it wouldn\u0027t work with Monasca given the mutator implementation is independent of the collectors.","commit_id":"c9340b35f67699fcae0fa95f799deb4ebf1f1c99"}],"cloudkitty/collector/__init__.py":[{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"88fae69dd989b0206b3d5d96663c06a8407f81b4","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    Required(\u0027mutate\u0027, default\u003d\u0027NONE\u0027):"},{"line_number":96,"context_line":"        In([\u0027NONE\u0027, \u0027NUMBOOL\u0027, \u0027NOTNUMBOOL\u0027, \u0027FLOOR\u0027, \u0027CEIL\u0027, \u0027MAP\u0027]),"},{"line_number":97,"context_line":"    # Map dict used if mutate \u003d\u003d \u0027MAP\u0027"},{"line_number":98,"context_line":"    Optional(\u0027mutate_map\u0027): dict,"},{"line_number":99,"context_line":"    # Collector-specific args. Should be overriden by schema provided for"},{"line_number":100,"context_line":"    # the given collector"},{"line_number":101,"context_line":"    Optional(\u0027extra_args\u0027): dict,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ca5d6351_2423c312","line":98,"updated":"2022-08-08 14:16:26.000000000","message":"The use of this dictionary is only activated if `mutate\u003dMAP`. Therefore, shouldn\u0027t we do some validations in the bootstrap such as to LOG in debug or warning if the mutate is \u003d\u003d MAP, but no MAP is provided. Or, if the map is provided and mutate is not set to the value MAP?","commit_id":"a5d8593d2e4d5054bff761b00513f00b650f31c1"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"104130ff52137dda7d75ca1a6930e342018bb2eb","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    Required(\u0027mutate\u0027, default\u003d\u0027NONE\u0027):"},{"line_number":96,"context_line":"        In([\u0027NONE\u0027, \u0027NUMBOOL\u0027, \u0027NOTNUMBOOL\u0027, \u0027FLOOR\u0027, \u0027CEIL\u0027, \u0027MAP\u0027]),"},{"line_number":97,"context_line":"    # Map dict used if mutate \u003d\u003d \u0027MAP\u0027"},{"line_number":98,"context_line":"    Optional(\u0027mutate_map\u0027): dict,"},{"line_number":99,"context_line":"    # Collector-specific args. Should be overriden by schema provided for"},{"line_number":100,"context_line":"    # the given collector"},{"line_number":101,"context_line":"    Optional(\u0027extra_args\u0027): dict,"}],"source_content_type":"text/x-python","patch_set":5,"id":"832854ab_52b1947f","line":98,"in_reply_to":"ca5d6351_2423c312","updated":"2022-08-12 09:51:15.000000000","message":"I added validation and unit tests for it.","commit_id":"a5d8593d2e4d5054bff761b00513f00b650f31c1"}],"doc/source/admin/configuration/collector.rst":[{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"88fae69dd989b0206b3d5d96663c06a8407f81b4","unresolved":true,"context_lines":[{"line_number":238,"context_line":"       metadata:"},{"line_number":239,"context_line":"         - flavor_id"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"The ``MAP`` mutator is useful when multiple statuses should be billabled. For"},{"line_number":242,"context_line":"example, the following Prometheus metric has a value of 0 when the instance is"},{"line_number":243,"context_line":"in ACTIVE state, but operators may want to rate other non-zero states:"},{"line_number":244,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"70f8642b_eeae2f60","line":241,"updated":"2022-08-08 14:16:26.000000000","message":"I see what you are doing here. I am not against the proposal, but by any chance are you collecting these data and persisting in the backend via Ceilometer Dynamic pollsters? \n\nIf so, this map could be executed in Ceilometer itself. \n\nProbably you did this way, so you have the original value. Is that it?","commit_id":"a5d8593d2e4d5054bff761b00513f00b650f31c1"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"3ac692c179c19d0ca8066798ed720fca5fec147e","unresolved":true,"context_lines":[{"line_number":238,"context_line":"       metadata:"},{"line_number":239,"context_line":"         - flavor_id"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"The ``MAP`` mutator is useful when multiple statuses should be billabled. For"},{"line_number":242,"context_line":"example, the following Prometheus metric has a value of 0 when the instance is"},{"line_number":243,"context_line":"in ACTIVE state, but operators may want to rate other non-zero states:"},{"line_number":244,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"aa707e99_2205bde9","line":241,"in_reply_to":"70f8642b_eeae2f60","updated":"2022-08-08 14:18:44.000000000","message":"As you can see in the documentation blurb below, this is for compatibility with metrics from Prometheus Openstack exporter. No Ceilometer involved.","commit_id":"a5d8593d2e4d5054bff761b00513f00b650f31c1"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"1e8526ff1783ab0137817b3b37410fda5f82b546","unresolved":false,"context_lines":[{"line_number":238,"context_line":"       metadata:"},{"line_number":239,"context_line":"         - flavor_id"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"The ``MAP`` mutator is useful when multiple statuses should be billabled. For"},{"line_number":242,"context_line":"example, the following Prometheus metric has a value of 0 when the instance is"},{"line_number":243,"context_line":"in ACTIVE state, but operators may want to rate other non-zero states:"},{"line_number":244,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"86039092_dda36612","line":241,"in_reply_to":"aa707e99_2205bde9","updated":"2022-08-08 14:21:41.000000000","message":"Ah... Sorry for that. I read Prometheus, and I thought about something else.","commit_id":"a5d8593d2e4d5054bff761b00513f00b650f31c1"}]}
