)]}'
{"monasca_persister/conf/prometheus.py":[{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2016-2017 Hewlett Packard Enterprise Development LP"},{"line_number":2,"context_line":"# Copyright 2017 FUJITSU LIMITED"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_d2690526","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":67},"updated":"2018-10-01 11:17:56.000000000","message":"Why HPE header?","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2016-2017 Hewlett Packard Enterprise Development LP"},{"line_number":2,"context_line":"# Copyright 2017 FUJITSU LIMITED"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":5,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_f2668155","line":2,"range":{"start_line":2,"start_character":12,"end_line":2,"end_character":16},"updated":"2018-10-01 11:17:56.000000000","message":"2018","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":27,"context_line":"               default\u003d2000),"},{"line_number":28,"context_line":"    cfg.StrOpt(\u0027multiproc_dir\u0027,"},{"line_number":29,"context_line":"               help\u003d\u0027Prometheus multiproc_dir\u0027,"},{"line_number":30,"context_line":"               default\u003d\u0027/var/prometheus_multiproc_dir\u0027),"},{"line_number":31,"context_line":"]"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def register_opts(conf):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_e591dd9b","line":30,"range":{"start_line":30,"start_character":24,"end_line":30,"end_character":53},"updated":"2018-10-01 11:17:56.000000000","message":"Is this fine for different services to have same folder or does they need different folders (in such case folder name should contain persister)?","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"}],"monasca_persister/persister.py":[{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                target\u003dstart_process, args\u003d(repository, conf)))"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"def prepare_prometheus(port, multiproc_dir):"},{"line_number":112,"context_line":"    LOG.info(\u0027Init Prometheus\u0027)"},{"line_number":113,"context_line":"    # Set environment variable \"prometheus_multiproc_dir\""},{"line_number":114,"context_line":"    if multiproc_dir:"},{"line_number":115,"context_line":"        LOG.info(\u0027Set prometheus_multiproc_dir for: %s\u0027, multiproc_dir)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_12553d52","line":112,"range":{"start_line":112,"start_character":14,"end_line":112,"end_character":29},"updated":"2018-10-01 11:17:56.000000000","message":"Mention that it\u0027s Prometheus endpoint, not Prometheus itself.","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    LOG.info(\u0027Init Prometheus\u0027)"},{"line_number":113,"context_line":"    # Set environment variable \"prometheus_multiproc_dir\""},{"line_number":114,"context_line":"    if multiproc_dir:"},{"line_number":115,"context_line":"        LOG.info(\u0027Set prometheus_multiproc_dir for: %s\u0027, multiproc_dir)"},{"line_number":116,"context_line":"        os.environ[\u0027prometheus_multiproc_dir\u0027] \u003d multiproc_dir"},{"line_number":117,"context_line":"    else:"},{"line_number":118,"context_line":"        LOG.exception("}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_92ddcddf","line":115,"range":{"start_line":115,"start_character":47,"end_line":115,"end_character":50},"updated":"2018-10-01 11:17:56.000000000","message":"to","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    # Set environment variable \"prometheus_multiproc_dir\""},{"line_number":114,"context_line":"    if multiproc_dir:"},{"line_number":115,"context_line":"        LOG.info(\u0027Set prometheus_multiproc_dir for: %s\u0027, multiproc_dir)"},{"line_number":116,"context_line":"        os.environ[\u0027prometheus_multiproc_dir\u0027] \u003d multiproc_dir"},{"line_number":117,"context_line":"    else:"},{"line_number":118,"context_line":"        LOG.exception("},{"line_number":119,"context_line":"            \u0027prometheus_multiproc_dir environment variable must be \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_d25ca54d","line":116,"range":{"start_line":116,"start_character":8,"end_line":116,"end_character":46},"updated":"2018-10-01 11:17:56.000000000","message":"What if this env variable already exists and e.g was set by other component on same machine to different value?","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        os.environ[\u0027prometheus_multiproc_dir\u0027] \u003d multiproc_dir"},{"line_number":117,"context_line":"    else:"},{"line_number":118,"context_line":"        LOG.exception("},{"line_number":119,"context_line":"            \u0027prometheus_multiproc_dir environment variable must be \u0027"},{"line_number":120,"context_line":"            \u0027set to a directory that the prometheus client library \u0027"},{"line_number":121,"context_line":"            \u0027can use for metrics\u0027)"},{"line_number":122,"context_line":"    # Create registry for prometheus client multiprocess"},{"line_number":123,"context_line":"    registry \u003d CollectorRegistry()"},{"line_number":124,"context_line":"    multiprocess.MultiProcessCollector(registry)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_d2002538","line":121,"range":{"start_line":119,"start_character":12,"end_line":121,"end_character":33},"updated":"2018-10-01 11:17:56.000000000","message":"This exception message is suggesting that there is something wrong with prometheus_multiproc_dir environment variable but you just check if `multiproc_dir` is set.","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"}],"monasca_persister/repositories/abstract_repository.py":[{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 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\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."},{"line_number":5,"context_line":"# You may obtain a copy of the License at"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_92006d05","line":2,"updated":"2018-10-01 11:17:56.000000000","message":"Add Fujitsu to license header.","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"}],"monasca_persister/repositories/influxdb/abstract_repository.py":[{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2016-2017 Hewlett Packard Enterprise Development LP"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."},{"line_number":5,"context_line":"# You may obtain a copy of the License at"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_f207611c","line":2,"updated":"2018-10-01 11:17:56.000000000","message":"Add Fujitsu to license header.","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            self.conf.influxdb.user,"},{"line_number":37,"context_line":"            self.conf.influxdb.password,"},{"line_number":38,"context_line":"            self.conf.influxdb.database_name)"},{"line_number":39,"context_line":"        self.registry \u003d CollectorRegistry()"},{"line_number":40,"context_line":"        multiprocess.MultiProcessCollector(self.registry)"},{"line_number":41,"context_line":"        self.influxdb_write_time_per_message \u003d Gauge("},{"line_number":42,"context_line":"            \u0027influxdb_write_latency_per_message\u0027,"},{"line_number":43,"context_line":"            \u0027seconds per message for influxdb to write\u0027, [\u0027topic\u0027],"},{"line_number":44,"context_line":"            multiprocess_mode\u003d\u0027all\u0027)"},{"line_number":45,"context_line":"        self._start_time \u003d 0"},{"line_number":46,"context_line":"        self._end_time \u003d 0"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def write_batch(self, data_points, kafka_topic):"},{"line_number":49,"context_line":"        self._start_time \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_855ca91a","line":46,"range":{"start_line":39,"start_character":0,"end_line":46,"end_character":26},"updated":"2018-10-01 11:17:56.000000000","message":"Add comment that this is for Prom.","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"}],"monasca_persister/repositories/persister.py":[{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2016 Hewlett Packard Enterprise Development Company LP"},{"line_number":2,"context_line":"# (C) Copyright 2017 SUSE LLC"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":5,"context_line":"# you may not use this file except in compliance with the License."},{"line_number":6,"context_line":"# You may obtain a copy of the License at"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_3212b962","line":3,"updated":"2018-10-01 11:17:56.000000000","message":"Add Fujitsu to license header.","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from monasca_common.kafka import consumer"},{"line_number":20,"context_line":"from oslo_log import log"},{"line_number":21,"context_line":"from prometheus_client import multiprocess"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from prometheus_client import CollectorRegistry"},{"line_number":24,"context_line":"from prometheus_client import Counter"},{"line_number":25,"context_line":"from prometheus_client import Gauge"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_120d3d3f","line":22,"updated":"2018-10-01 11:17:56.000000000","message":"Why separate line?","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            commit_timeout\u003dkafka_conf.max_wait_time_seconds)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        self.repository \u003d repository()"},{"line_number":51,"context_line":"        self._start_time \u003d time.time()"},{"line_number":52,"context_line":"        self._end_time \u003d 0"},{"line_number":53,"context_line":"        self.registry \u003d CollectorRegistry()"},{"line_number":54,"context_line":"        multiprocess.MultiProcessCollector(self.registry)"},{"line_number":55,"context_line":"        self.message_counter \u003d Counter(\u0027monasca_persister_message_count_total\u0027,"},{"line_number":56,"context_line":"                                       \u0027total count of messages\u0027, [\u0027version\u0027])"},{"line_number":57,"context_line":"        self.message_counter.labels(version\u003d\u0027v1.0\u0027)"},{"line_number":58,"context_line":"        self.message_counter_per_topic \u003d Counter("},{"line_number":59,"context_line":"            \u0027monasca_persister_message_count_per_topic\u0027,"},{"line_number":60,"context_line":"            \u0027total number of messages processed from one topic\u0027, [\u0027topic\u0027])"},{"line_number":61,"context_line":"        self.message_process_rate_gauge \u003d Gauge("},{"line_number":62,"context_line":"            \u0027monasca_persister_messages_processed_per_sec\u0027,"},{"line_number":63,"context_line":"            \u0027messages processed per second from one topic\u0027, [\u0027topic\u0027],"},{"line_number":64,"context_line":"            multiprocess_mode\u003d\u0027all\u0027)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    def _flush(self):"},{"line_number":67,"context_line":"        if not self._data_points:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_c56621ef","line":64,"range":{"start_line":51,"start_character":0,"end_line":64,"end_character":36},"updated":"2018-10-01 11:17:56.000000000","message":"Add comment that this is for Prom.","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            LOG.info(\"Processed {} messages from topic \u0027{}\u0027\".format("},{"line_number":74,"context_line":"                len(self._data_points), self._kafka_topic))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"            self.message_counter.labels(version\u003d\u0027v1.0\u0027).inc("},{"line_number":77,"context_line":"                amount\u003dlen(self._data_points))"},{"line_number":78,"context_line":"            self.message_counter_per_topic.labels(topic\u003dself._kafka_topic).inc("},{"line_number":79,"context_line":"                amount\u003dlen(self._data_points))"},{"line_number":80,"context_line":"            self.message_process_rate_gauge.labels("},{"line_number":81,"context_line":"                topic\u003dself._kafka_topic).set("},{"line_number":82,"context_line":"                len(self._data_points) / (self._end_time - self._start_time))"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"            self._start_time \u003d self._end_time"},{"line_number":85,"context_line":"            self._data_points \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_255595f9","line":82,"range":{"start_line":76,"start_character":0,"end_line":82,"end_character":77},"updated":"2018-10-01 11:17:56.000000000","message":"Add comment that this metrics are for Prom.","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"}],"monasca_persister/tests/test_persister_main.py":[{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"3210eaebc55db01a3436b89565d9bf5a09ffc25a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":2,"context_line":"# you may not use this file except in compliance with the License."},{"line_number":3,"context_line":"# You may obtain a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_c53dc1bc","line":1,"updated":"2018-10-01 11:17:56.000000000","message":"Add Fujitsu to license header.","commit_id":"74130f1ad9d0330d75a143a4ccb6111b9ce8be51"}]}
