Esempio n. 1
0
    def get(self):
        result = dict(num_networks=len(self.metrics_service.token_networks), )

        result.update({
            network.address: token_network_to_dict(network)
            for network in self.metrics_service.token_networks.values()
        })
        return {'result': result}, 200
Esempio n. 2
0
 def get(self):
     overall_metrics = metrics_to_dict(self.metrics_service.state)
     networks = [
         token_network_to_dict(network,
                               self.presence_service.nodes_presence_status)
         for network in self.metrics_service.token_networks.values()
     ]
     return {'overall_metrics': overall_metrics, 'networks': networks}, 200
Esempio n. 3
0
def write_topology_task(pathfinding_service: MetricsService):
    while True:
        result = dict(num_networks=len(pathfinding_service.token_networks), )

        result.update({
            network.address: token_network_to_dict(network)
            for network in pathfinding_service.token_networks.values()
        })

        # write to a temp file, then rename to have a consistent file all the time
        # rename is atomic
        with open(TEMP_FILE, 'w') as f:
            json.dump(result, f)

        os.rename(TEMP_FILE, OUTPUT_FILE)
        log.info(f'Wrote network infos to {OUTPUT_FILE}')

        gevent.sleep(OUTPUT_PERIOD)
Esempio n. 4
0
 def get(self):
     result = [
         token_network_to_dict(network)
         for network in self.metrics_service.token_networks.values()
     ]
     return {'result': result}, 200