Эх сурвалжийг харах

对 guest 性能统计模型进行了轻量级重构

James Iter 8 жил өмнө
parent
commit
32d91a5b72

+ 29 - 29
api/performance.py → api/guest_performance.py

@@ -7,7 +7,7 @@ import json
 import jimit as ji
 import jimit as ji
 
 
 from api.base import Base
 from api.base import Base
-from models import CPUMemory, Traffic, DiskIO, Utils, Rules
+from models import GuestCPUMemory, GuestTraffic, GuestDiskIO, Utils, Rules
 
 
 
 
 __author__ = 'James Iter'
 __author__ = 'James Iter'
@@ -17,36 +17,36 @@ __copyright__ = '(c) 2017 by James Iter.'
 
 
 
 
 blueprint = Blueprint(
 blueprint = Blueprint(
-    'api_performance',
+    'api_guest_performance',
     __name__,
     __name__,
-    url_prefix='/api/performance'
+    url_prefix='/api/guest_performance'
 )
 )
 
 
 blueprints = Blueprint(
 blueprints = Blueprint(
-    'api_performances',
+    'api_guest_performances',
     __name__,
     __name__,
-    url_prefix='/api/performances'
+    url_prefix='/api/guest_performances'
 )
 )
 
 
 
 
-cpu_memory = Base(the_class=CPUMemory, the_blueprint=blueprint, the_blueprints=blueprints)
-traffic = Base(the_class=Traffic, the_blueprint=blueprint, the_blueprints=blueprints)
-disk_io = Base(the_class=DiskIO, the_blueprint=blueprint, the_blueprints=blueprints)
+guest_cpu_memory = Base(the_class=GuestCPUMemory, the_blueprint=blueprint, the_blueprints=blueprints)
+guest_traffic = Base(the_class=GuestTraffic, the_blueprint=blueprint, the_blueprints=blueprints)
+guest_disk_io = Base(the_class=GuestDiskIO, the_blueprint=blueprint, the_blueprints=blueprints)
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_cpu_memory_get_by_filter():
 def r_cpu_memory_get_by_filter():
-    return cpu_memory.get_by_filter()
+    return guest_cpu_memory.get_by_filter()
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_traffic_get_by_filter():
 def r_traffic_get_by_filter():
-    return traffic.get_by_filter()
+    return guest_traffic.get_by_filter()
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_disk_io_get_by_filter():
 def r_disk_io_get_by_filter():
-    return disk_io.get_by_filter()
+    return guest_disk_io.get_by_filter()
 
 
 
 
 def get_performance_data(uuid, uuid_field, the_class=None, granularity='hour'):
 def get_performance_data(uuid, uuid_field, the_class=None, granularity='hour'):
@@ -144,62 +144,62 @@ def get_performance_data(uuid, uuid_field, the_class=None, granularity='hour'):
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_cpu_memory_last_hour(uuid):
 def r_cpu_memory_last_hour(uuid):
-    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=CPUMemory, granularity='hour')
+    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=GuestCPUMemory, granularity='hour')
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_cpu_memory_last_six_hours(uuid):
 def r_cpu_memory_last_six_hours(uuid):
-    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=CPUMemory, granularity='six_hours')
+    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=GuestCPUMemory, granularity='six_hours')
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_cpu_memory_last_day(uuid):
 def r_cpu_memory_last_day(uuid):
-    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=CPUMemory, granularity='day')
+    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=GuestCPUMemory, granularity='day')
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_cpu_memory_last_seven_days(uuid):
 def r_cpu_memory_last_seven_days(uuid):
-    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=CPUMemory, granularity='seven_days')
+    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=GuestCPUMemory, granularity='seven_days')
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_traffic_last_hour(uuid):
 def r_traffic_last_hour(uuid):
-    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=Traffic, granularity='hour')
+    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=GuestTraffic, granularity='hour')
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_traffic_last_six_hours(uuid):
 def r_traffic_last_six_hours(uuid):
-    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=Traffic, granularity='six_hours')
+    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=GuestTraffic, granularity='six_hours')
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_traffic_last_day(uuid):
 def r_traffic_last_day(uuid):
-    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=Traffic, granularity='day')
+    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=GuestTraffic, granularity='day')
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_traffic_last_seven_days(uuid):
 def r_traffic_last_seven_days(uuid):
-    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=Traffic, granularity='seven_days')
+    return get_performance_data(uuid=uuid, uuid_field='guest_uuid', the_class=GuestTraffic, granularity='seven_days')
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_disk_io_last_hour(uuid):
 def r_disk_io_last_hour(uuid):
-    return get_performance_data(uuid=uuid, uuid_field='disk_uuid', the_class=DiskIO, granularity='hour')
+    return get_performance_data(uuid=uuid, uuid_field='disk_uuid', the_class=GuestDiskIO, granularity='hour')
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_disk_io_last_six_hours(uuid):
 def r_disk_io_last_six_hours(uuid):
-    return get_performance_data(uuid=uuid, uuid_field='disk_uuid', the_class=DiskIO, granularity='six_hours')
+    return get_performance_data(uuid=uuid, uuid_field='disk_uuid', the_class=GuestDiskIO, granularity='six_hours')
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_disk_io_last_day(uuid):
 def r_disk_io_last_day(uuid):
-    return get_performance_data(uuid=uuid, uuid_field='disk_uuid', the_class=DiskIO, granularity='day')
+    return get_performance_data(uuid=uuid, uuid_field='disk_uuid', the_class=GuestDiskIO, granularity='day')
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
 def r_disk_io_last_seven_days(uuid):
 def r_disk_io_last_seven_days(uuid):
-    return get_performance_data(uuid=uuid, uuid_field='disk_uuid', the_class=DiskIO, granularity='seven_days')
+    return get_performance_data(uuid=uuid, uuid_field='disk_uuid', the_class=GuestDiskIO, granularity='seven_days')
 
 
 
 
 @Utils.dumps2response
 @Utils.dumps2response
@@ -229,7 +229,7 @@ def r_current_top_10():
     filter_str = ';'.join([':'.join(['timestamp', 'gt', start_ts.__str__()]),
     filter_str = ';'.join([':'.join(['timestamp', 'gt', start_ts.__str__()]),
                            ':'.join(['timestamp', 'lt', end_ts.__str__()])])
                            ':'.join(['timestamp', 'lt', end_ts.__str__()])])
 
 
-    rows, _ = CPUMemory.get_by_filter(limit=limit, filter_str=filter_str)
+    rows, _ = GuestCPUMemory.get_by_filter(limit=limit, filter_str=filter_str)
     rows.sort(key=lambda k: k['cpu_load'], reverse=True)
     rows.sort(key=lambda k: k['cpu_load'], reverse=True)
 
 
     effective_range = length
     effective_range = length
@@ -242,7 +242,7 @@ def r_current_top_10():
 
 
         ret['data']['cpu_load'].append(rows[i])
         ret['data']['cpu_load'].append(rows[i])
 
 
-    rows, _ = DiskIO.get_by_filter(limit=limit, filter_str=filter_str)
+    rows, _ = GuestDiskIO.get_by_filter(limit=limit, filter_str=filter_str)
     for i in range(rows.__len__()):
     for i in range(rows.__len__()):
         rows[i]['rw_bytes'] = rows[i]['rd_bytes'] + rows[i]['wr_bytes']
         rows[i]['rw_bytes'] = rows[i]['rd_bytes'] + rows[i]['wr_bytes']
         rows[i]['rw_req'] = rows[i]['rd_req'] + rows[i]['wr_req']
         rows[i]['rw_req'] = rows[i]['rd_req'] + rows[i]['wr_req']
@@ -267,7 +267,7 @@ def r_current_top_10():
 
 
         ret['data']['rw_req'].append(rows[i])
         ret['data']['rw_req'].append(rows[i])
 
 
-    rows, _ = Traffic.get_by_filter(limit=limit, filter_str=filter_str)
+    rows, _ = GuestTraffic.get_by_filter(limit=limit, filter_str=filter_str)
     for i in range(rows.__len__()):
     for i in range(rows.__len__()):
         rows[i]['rt_bytes'] = rows[i]['rx_bytes'] + rows[i]['tx_bytes']
         rows[i]['rt_bytes'] = rows[i]['rx_bytes'] + rows[i]['tx_bytes']
         rows[i]['rt_packets'] = rows[i]['rx_packets'] + rows[i]['tx_packets']
         rows[i]['rt_packets'] = rows[i]['rx_packets'] + rows[i]['tx_packets']
@@ -323,7 +323,7 @@ def r_last_the_range_minutes_top_10(_range):
 
 
     # cpu 负载
     # cpu 负载
     guests_uuid_mapping = dict()
     guests_uuid_mapping = dict()
-    rows, _ = CPUMemory.get_by_filter(limit=limit, filter_str=filter_str)
+    rows, _ = GuestCPUMemory.get_by_filter(limit=limit, filter_str=filter_str)
     for row in rows:
     for row in rows:
         if row['guest_uuid'] not in guests_uuid_mapping:
         if row['guest_uuid'] not in guests_uuid_mapping:
             guests_uuid_mapping[row['guest_uuid']] = {'cpu_load': 0, 'count': 0}
             guests_uuid_mapping[row['guest_uuid']] = {'cpu_load': 0, 'count': 0}
@@ -350,7 +350,7 @@ def r_last_the_range_minutes_top_10(_range):
 
 
     # 磁盘使用统计
     # 磁盘使用统计
     guests_uuid_mapping.clear()
     guests_uuid_mapping.clear()
-    rows, _ = DiskIO.get_by_filter(limit=limit, filter_str=filter_str)
+    rows, _ = GuestDiskIO.get_by_filter(limit=limit, filter_str=filter_str)
     for row in rows:
     for row in rows:
         if row['disk_uuid'] not in guests_uuid_mapping:
         if row['disk_uuid'] not in guests_uuid_mapping:
             guests_uuid_mapping[row['disk_uuid']] = {'rw_bytes': 0, 'rw_req': 0}
             guests_uuid_mapping[row['disk_uuid']] = {'rw_bytes': 0, 'rw_req': 0}
@@ -379,7 +379,7 @@ def r_last_the_range_minutes_top_10(_range):
 
 
     # 网络流量
     # 网络流量
     guests_uuid_mapping.clear()
     guests_uuid_mapping.clear()
-    rows, _ = Traffic.get_by_filter(limit=limit, filter_str=filter_str)
+    rows, _ = GuestTraffic.get_by_filter(limit=limit, filter_str=filter_str)
     for row in rows:
     for row in rows:
         if row['guest_uuid'] not in guests_uuid_mapping:
         if row['guest_uuid'] not in guests_uuid_mapping:
             guests_uuid_mapping[row['guest_uuid']] = {'rt_bytes': 0, 'rt_packets': 0}
             guests_uuid_mapping[row['guest_uuid']] = {'rt_bytes': 0, 'rt_packets': 0}

+ 41 - 38
api_route_table.py

@@ -12,7 +12,7 @@ from api import operate_rule
 from api import os_template
 from api import os_template
 from api import log
 from api import log
 from api import host
 from api import host
-from api import performance
+from api import guest_performance
 from api import host_performance
 from api import host_performance
 
 
 
 
@@ -111,59 +111,62 @@ add_rule_api(host.blueprints, '/<nodes_id>', api_func='host.r_delete', methods=[
 add_rule_api(host.blueprints, '/<hosts_name>/<random>', api_func='host.r_nonrandom', methods=['PUT'])
 add_rule_api(host.blueprints, '/<hosts_name>/<random>', api_func='host.r_nonrandom', methods=['PUT'])
 
 
 # Guest 性能查询
 # Guest 性能查询
-add_rule_api(performance.blueprint, '/cpu_memory', api_func='performance.r_cpu_memory_get_by_filter', methods=['GET'])
-add_rule_api(performance.blueprint, '/traffic', api_func='performance.r_traffic_get_by_filter', methods=['GET'])
-add_rule_api(performance.blueprint, '/disk_io', api_func='performance.r_disk_io_get_by_filter', methods=['GET'])
-add_rule_api(performance.blueprint, '/cpu_memory/last_hour/<uuid>',
-             api_func='performance.r_cpu_memory_last_hour', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/cpu_memory',
+             api_func='guest_performance.r_cpu_memory_get_by_filter', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/traffic',
+             api_func='guest_performance.r_traffic_get_by_filter', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/disk_io',
+             api_func='guest_performance.r_disk_io_get_by_filter', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/cpu_memory/last_hour/<uuid>',
+             api_func='guest_performance.r_cpu_memory_last_hour', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/cpu_memory/last_six_hours/<uuid>',
-             api_func='performance.r_cpu_memory_last_six_hours', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/cpu_memory/last_six_hours/<uuid>',
+             api_func='guest_performance.r_cpu_memory_last_six_hours', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/cpu_memory/last_day/<uuid>',
-             api_func='performance.r_cpu_memory_last_day', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/cpu_memory/last_day/<uuid>',
+             api_func='guest_performance.r_cpu_memory_last_day', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/cpu_memory/last_seven_days/<uuid>',
-             api_func='performance.r_cpu_memory_last_seven_days', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/cpu_memory/last_seven_days/<uuid>',
+             api_func='guest_performance.r_cpu_memory_last_seven_days', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/traffic/last_hour/<uuid>',
-             api_func='performance.r_traffic_last_hour', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/traffic/last_hour/<uuid>',
+             api_func='guest_performance.r_traffic_last_hour', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/traffic/last_six_hours/<uuid>',
-             api_func='performance.r_traffic_last_six_hours', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/traffic/last_six_hours/<uuid>',
+             api_func='guest_performance.r_traffic_last_six_hours', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/traffic/last_day/<uuid>',
-             api_func='performance.r_traffic_last_day', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/traffic/last_day/<uuid>',
+             api_func='guest_performance.r_traffic_last_day', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/traffic/last_seven_days/<uuid>',
-             api_func='performance.r_traffic_last_seven_days', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/traffic/last_seven_days/<uuid>',
+             api_func='guest_performance.r_traffic_last_seven_days', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/disk_io/last_hour/<uuid>',
-             api_func='performance.r_disk_io_last_hour', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/disk_io/last_hour/<uuid>',
+             api_func='guest_performance.r_disk_io_last_hour', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/disk_io/last_six_hours/<uuid>',
-             api_func='performance.r_disk_io_last_six_hours', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/disk_io/last_six_hours/<uuid>',
+             api_func='guest_performance.r_disk_io_last_six_hours', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/disk_io/last_day/<uuid>',
-             api_func='performance.r_disk_io_last_day', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/disk_io/last_day/<uuid>',
+             api_func='guest_performance.r_disk_io_last_day', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/disk_io/last_seven_days/<uuid>',
-             api_func='performance.r_disk_io_last_seven_days', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/disk_io/last_seven_days/<uuid>',
+             api_func='guest_performance.r_disk_io_last_seven_days', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/_current_top_10',
-             api_func='performance.r_current_top_10', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/_current_top_10',
+             api_func='guest_performance.r_current_top_10', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/_last_10_minutes_top_10',
-             api_func='performance.r_last_10_minutes_top_10', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/_last_10_minutes_top_10',
+             api_func='guest_performance.r_last_10_minutes_top_10', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/_last_hour_top_10',
-             api_func='performance.r_last_hour_top_10', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/_last_hour_top_10',
+             api_func='guest_performance.r_last_hour_top_10', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/_last_six_hours_top_10',
-             api_func='performance.r_last_six_hours_top_10', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/_last_six_hours_top_10',
+             api_func='guest_performance.r_last_six_hours_top_10', methods=['GET'])
 
 
-add_rule_api(performance.blueprint, '/_last_day_top_10',
-             api_func='performance.r_last_day_top_10', methods=['GET'])
+add_rule_api(guest_performance.blueprint, '/_last_day_top_10',
+             api_func='guest_performance.r_last_day_top_10', methods=['GET'])
 
 
 # Host 性能查询
 # Host 性能查询
 add_rule_api(host_performance.blueprint, '/cpu_memory', api_func='host_performance.r_cpu_memory_get_by_filter',
 add_rule_api(host_performance.blueprint, '/cpu_memory', api_func='host_performance.r_cpu_memory_get_by_filter',

+ 2 - 2
main.py

@@ -40,8 +40,8 @@ from api.log import blueprint as log_blueprint
 from api.log import blueprints as log_blueprints
 from api.log import blueprints as log_blueprints
 from api.host import blueprint as host_blueprint
 from api.host import blueprint as host_blueprint
 from api.host import blueprints as host_blueprints
 from api.host import blueprints as host_blueprints
-from api.performance import blueprint as performance_blueprint
-from api.performance import blueprints as performance_blueprints
+from api.guest_performance import blueprint as performance_blueprint
+from api.guest_performance import blueprints as performance_blueprints
 from api.host_performance import blueprint as host_performance_blueprint
 from api.host_performance import blueprint as host_performance_blueprint
 from api.host_performance import blueprints as host_performance_blueprints
 from api.host_performance import blueprints as host_performance_blueprints
 
 

+ 21 - 21
misc/init.sql

@@ -192,7 +192,7 @@ CREATE TABLE IF NOT EXISTS log(
 ALTER TABLE log ADD INDEX (host);
 ALTER TABLE log ADD INDEX (host);
 
 
 
 
-CREATE TABLE IF NOT EXISTS cpu_memory(
+CREATE TABLE IF NOT EXISTS guest_cpu_memory(
     id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
     id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
     guest_uuid CHAR(36) NOT NULL,
     guest_uuid CHAR(36) NOT NULL,
     cpu_load INT UNSIGNED NOT NULL,
     cpu_load INT UNSIGNED NOT NULL,
@@ -203,13 +203,13 @@ CREATE TABLE IF NOT EXISTS cpu_memory(
     ENGINE=Innodb
     ENGINE=Innodb
     DEFAULT CHARSET=utf8;
     DEFAULT CHARSET=utf8;
 
 
-ALTER TABLE cpu_memory ADD INDEX (guest_uuid);
-ALTER TABLE cpu_memory ADD INDEX (cpu_load);
-ALTER TABLE cpu_memory ADD INDEX (timestamp);
-ALTER TABLE cpu_memory ADD INDEX (guest_uuid, timestamp);
+ALTER TABLE guest_cpu_memory ADD INDEX (guest_uuid);
+ALTER TABLE guest_cpu_memory ADD INDEX (cpu_load);
+ALTER TABLE guest_cpu_memory ADD INDEX (timestamp);
+ALTER TABLE guest_cpu_memory ADD INDEX (guest_uuid, timestamp);
 
 
 
 
-CREATE TABLE IF NOT EXISTS traffic(
+CREATE TABLE IF NOT EXISTS guest_traffic(
     id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
     id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
     guest_uuid CHAR(36) NOT NULL,
     guest_uuid CHAR(36) NOT NULL,
     name VARCHAR(36) NOT NULL,
     name VARCHAR(36) NOT NULL,
@@ -226,16 +226,16 @@ CREATE TABLE IF NOT EXISTS traffic(
     ENGINE=Innodb
     ENGINE=Innodb
     DEFAULT CHARSET=utf8;
     DEFAULT CHARSET=utf8;
 
 
-ALTER TABLE traffic ADD INDEX (guest_uuid);
-ALTER TABLE traffic ADD INDEX (rx_bytes);
-ALTER TABLE traffic ADD INDEX (rx_packets);
-ALTER TABLE traffic ADD INDEX (tx_bytes);
-ALTER TABLE traffic ADD INDEX (tx_packets);
-ALTER TABLE traffic ADD INDEX (timestamp);
-ALTER TABLE traffic ADD INDEX (guest_uuid, timestamp);
+ALTER TABLE guest_traffic ADD INDEX (guest_uuid);
+ALTER TABLE guest_traffic ADD INDEX (rx_bytes);
+ALTER TABLE guest_traffic ADD INDEX (rx_packets);
+ALTER TABLE guest_traffic ADD INDEX (tx_bytes);
+ALTER TABLE guest_traffic ADD INDEX (tx_packets);
+ALTER TABLE guest_traffic ADD INDEX (timestamp);
+ALTER TABLE guest_traffic ADD INDEX (guest_uuid, timestamp);
 
 
 
 
-CREATE TABLE IF NOT EXISTS disk_io(
+CREATE TABLE IF NOT EXISTS guest_disk_io(
     id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
     id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
     disk_uuid CHAR(36) NOT NULL,
     disk_uuid CHAR(36) NOT NULL,
     rd_req BIGINT UNSIGNED NOT NULL,
     rd_req BIGINT UNSIGNED NOT NULL,
@@ -247,13 +247,13 @@ CREATE TABLE IF NOT EXISTS disk_io(
     ENGINE=Innodb
     ENGINE=Innodb
     DEFAULT CHARSET=utf8;
     DEFAULT CHARSET=utf8;
 
 
-ALTER TABLE disk_io ADD INDEX (disk_uuid);
-ALTER TABLE disk_io ADD INDEX (rd_req);
-ALTER TABLE disk_io ADD INDEX (rd_bytes);
-ALTER TABLE disk_io ADD INDEX (wr_req);
-ALTER TABLE disk_io ADD INDEX (wr_bytes);
-ALTER TABLE disk_io ADD INDEX (timestamp);
-ALTER TABLE disk_io ADD INDEX (disk_uuid, timestamp);
+ALTER TABLE guest_disk_io ADD INDEX (disk_uuid);
+ALTER TABLE guest_disk_io ADD INDEX (rd_req);
+ALTER TABLE guest_disk_io ADD INDEX (rd_bytes);
+ALTER TABLE guest_disk_io ADD INDEX (wr_req);
+ALTER TABLE guest_disk_io ADD INDEX (wr_bytes);
+ALTER TABLE guest_disk_io ADD INDEX (timestamp);
+ALTER TABLE guest_disk_io ADD INDEX (disk_uuid, timestamp);
 
 
 
 
 CREATE TABLE IF NOT EXISTS host_cpu_memory(
 CREATE TABLE IF NOT EXISTS host_cpu_memory(

+ 6 - 0
misc/v0.1_to_v0.2/update.sql

@@ -73,3 +73,9 @@ ALTER TABLE disk ADD INDEX (node_id);
 -- UPDATE host_cpu_memory SET node_id=new_node_id WHERE node_id=old_node_id;
 -- UPDATE host_cpu_memory SET node_id=new_node_id WHERE node_id=old_node_id;
 -- UPDATE host_traffic SET node_id=new_node_id WHERE node_id=old_node_id;
 -- UPDATE host_traffic SET node_id=new_node_id WHERE node_id=old_node_id;
 -- UPDATE host_disk_usage_io SET node_id=new_node_id WHERE node_id=old_node_id;
 -- UPDATE host_disk_usage_io SET node_id=new_node_id WHERE node_id=old_node_id;
+
+
+-- guest 性能统计表更名
+ALTER TABLE cpu_memory RENAME TO guest_cpu_memory;
+ALTER TABLE traffic RENAME TO guest_traffic;
+ALTER TABLE disk_io RENAME TO guest_disk_io;

+ 5 - 5
models/__init__.py

@@ -64,10 +64,10 @@ from log import (
     Log
     Log
 )
 )
 
 
-from performance import (
-    CPUMemory,
-    Traffic,
-    DiskIO
+from guest_performance import (
+    GuestCPUMemory,
+    GuestTraffic,
+    GuestDiskIO
 )
 )
 
 
 from host import (
 from host import (
@@ -94,7 +94,7 @@ __copyright__ = '(c) 2017 by James Iter.'
 __all__ = [
 __all__ = [
     'Rules', 'Utils', 'Init', 'Database', 'FilterFieldType', 'Filter', 'EmitKind', 'GuestState', 'DiskState', 'OSType',
     'Rules', 'Utils', 'Init', 'Database', 'FilterFieldType', 'Filter', 'EmitKind', 'GuestState', 'DiskState', 'OSType',
     'LogLevel', 'ORM', 'User', 'Config', 'Guest', 'Disk', 'BootJob', 'OperateRule', 'OSTemplate', 'GuestXML', 'Log',
     'LogLevel', 'ORM', 'User', 'Config', 'Guest', 'Disk', 'BootJob', 'OperateRule', 'OSTemplate', 'GuestXML', 'Log',
-    'EventProcessor', 'ResponseState', 'CPUMemory', 'Traffic', 'DiskIO', 'HostCPUMemory', 'HostTraffic',
+    'EventProcessor', 'ResponseState', 'GuestCPUMemory', 'GuestTraffic', 'GuestDiskIO', 'HostCPUMemory', 'HostTraffic',
     'HostDiskUsageIO', 'Host'
     'HostDiskUsageIO', 'Host'
 ]
 ]
 
 

+ 38 - 38
models/event_processor.py

@@ -8,7 +8,7 @@ import time
 from IPy import IP
 from IPy import IP
 import jimit as ji
 import jimit as ji
 
 
-from models import Database as db, Config, CPUMemory, Traffic, DiskIO
+from models import Database as db, Config, GuestCPUMemory, GuestTraffic, GuestDiskIO
 from models import Guest
 from models import Guest
 from models import Disk
 from models import Disk
 from models import Log
 from models import Log
@@ -17,7 +17,7 @@ from models import EmitKind
 from models import ResponseState, GuestState, DiskState
 from models import ResponseState, GuestState, DiskState
 from models.guest import GuestMigrateInfo
 from models.guest import GuestMigrateInfo
 from models.initialize import app, logger
 from models.initialize import app, logger
-from models.status import CollectionPerformanceDataKind, HostCollectionPerformanceDataKind
+from models.status import GuestCollectionPerformanceDataKind, HostCollectionPerformanceDataKind
 from models import HostCPUMemory, HostTraffic, HostDiskUsageIO
 from models import HostCPUMemory, HostTraffic, HostDiskUsageIO
 
 
 
 
@@ -35,9 +35,9 @@ class EventProcessor(object):
     disk = Disk()
     disk = Disk()
     config = Config()
     config = Config()
     config.id = 1
     config.id = 1
-    cpu_memory = CPUMemory()
-    traffic = Traffic()
-    disk_io = DiskIO()
+    guest_cpu_memory = GuestCPUMemory()
+    guest_traffic = GuestTraffic()
+    guest_disk_io = GuestDiskIO()
     host_cpu_memory = HostCPUMemory()
     host_cpu_memory = HostCPUMemory()
     host_traffic = HostTraffic()
     host_traffic = HostTraffic()
     host_disk_usage_io = HostDiskUsageIO()
     host_disk_usage_io = HostDiskUsageIO()
@@ -241,45 +241,45 @@ class EventProcessor(object):
             pass
             pass
 
 
     @classmethod
     @classmethod
-    def collection_performance_processor(cls):
+    def guest_collection_performance_processor(cls):
         data_kind = cls.message['type']
         data_kind = cls.message['type']
         timestamp = ji.Common.ts()
         timestamp = ji.Common.ts()
         timestamp -= (timestamp % 60)
         timestamp -= (timestamp % 60)
         data = cls.message['message']['data']
         data = cls.message['message']['data']
 
 
-        if data_kind == CollectionPerformanceDataKind.cpu_memory.value:
+        if data_kind == GuestCollectionPerformanceDataKind.cpu_memory.value:
             for item in data:
             for item in data:
-                cls.cpu_memory.guest_uuid = item['guest_uuid']
-                cls.cpu_memory.cpu_load = item['cpu_load']
-                cls.cpu_memory.memory_available = item['memory_available']
-                cls.cpu_memory.memory_unused = item['memory_unused']
-                cls.cpu_memory.timestamp = timestamp
-                cls.cpu_memory.create()
-
-        if data_kind == CollectionPerformanceDataKind.traffic.value:
+                cls.guest_cpu_memory.guest_uuid = item['guest_uuid']
+                cls.guest_cpu_memory.cpu_load = item['cpu_load']
+                cls.guest_cpu_memory.memory_available = item['memory_available']
+                cls.guest_cpu_memory.memory_unused = item['memory_unused']
+                cls.guest_cpu_memory.timestamp = timestamp
+                cls.guest_cpu_memory.create()
+
+        if data_kind == GuestCollectionPerformanceDataKind.traffic.value:
             for item in data:
             for item in data:
-                cls.traffic.guest_uuid = item['guest_uuid']
-                cls.traffic.name = item['name']
-                cls.traffic.rx_bytes = item['rx_bytes']
-                cls.traffic.rx_packets = item['rx_packets']
-                cls.traffic.rx_errs = item['rx_errs']
-                cls.traffic.rx_drop = item['rx_drop']
-                cls.traffic.tx_bytes = item['tx_bytes']
-                cls.traffic.tx_packets = item['tx_packets']
-                cls.traffic.tx_errs = item['tx_errs']
-                cls.traffic.tx_drop = item['tx_drop']
-                cls.traffic.timestamp = timestamp
-                cls.traffic.create()
-
-        if data_kind == CollectionPerformanceDataKind.disk_io.value:
+                cls.guest_traffic.guest_uuid = item['guest_uuid']
+                cls.guest_traffic.name = item['name']
+                cls.guest_traffic.rx_bytes = item['rx_bytes']
+                cls.guest_traffic.rx_packets = item['rx_packets']
+                cls.guest_traffic.rx_errs = item['rx_errs']
+                cls.guest_traffic.rx_drop = item['rx_drop']
+                cls.guest_traffic.tx_bytes = item['tx_bytes']
+                cls.guest_traffic.tx_packets = item['tx_packets']
+                cls.guest_traffic.tx_errs = item['tx_errs']
+                cls.guest_traffic.tx_drop = item['tx_drop']
+                cls.guest_traffic.timestamp = timestamp
+                cls.guest_traffic.create()
+
+        if data_kind == GuestCollectionPerformanceDataKind.disk_io.value:
             for item in data:
             for item in data:
-                cls.disk_io.disk_uuid = item['disk_uuid']
-                cls.disk_io.rd_req = item['rd_req']
-                cls.disk_io.rd_bytes = item['rd_bytes']
-                cls.disk_io.wr_req = item['wr_req']
-                cls.disk_io.wr_bytes = item['wr_bytes']
-                cls.disk_io.timestamp = timestamp
-                cls.disk_io.create()
+                cls.guest_disk_io.disk_uuid = item['disk_uuid']
+                cls.guest_disk_io.rd_req = item['rd_req']
+                cls.guest_disk_io.rd_bytes = item['rd_bytes']
+                cls.guest_disk_io.wr_req = item['wr_req']
+                cls.guest_disk_io.wr_bytes = item['wr_bytes']
+                cls.guest_disk_io.timestamp = timestamp
+                cls.guest_disk_io.create()
 
 
         else:
         else:
             pass
             pass
@@ -360,8 +360,8 @@ class EventProcessor(object):
                 elif cls.message['kind'] == EmitKind.response.value:
                 elif cls.message['kind'] == EmitKind.response.value:
                     cls.response_processor()
                     cls.response_processor()
 
 
-                elif cls.message['kind'] == EmitKind.collection_performance.value:
-                    cls.collection_performance_processor()
+                elif cls.message['kind'] == EmitKind.guest_collection_performance.value:
+                    cls.guest_collection_performance_processor()
 
 
                 elif cls.message['kind'] == EmitKind.host_collection_performance.value:
                 elif cls.message['kind'] == EmitKind.host_collection_performance.value:
                     cls.host_collection_performance_processor()
                     cls.host_collection_performance_processor()

+ 9 - 9
models/performance.py → models/guest_performance.py

@@ -11,13 +11,13 @@ __contact__ = 'james.iter.cn@gmail.com'
 __copyright__ = '(c) 2017 by James Iter.'
 __copyright__ = '(c) 2017 by James Iter.'
 
 
 
 
-class CPUMemory(ORM):
+class GuestCPUMemory(ORM):
 
 
-    _table_name = 'cpu_memory'
+    _table_name = 'guest_cpu_memory'
     _primary_key = 'id'
     _primary_key = 'id'
 
 
     def __init__(self):
     def __init__(self):
-        super(CPUMemory, self).__init__()
+        super(GuestCPUMemory, self).__init__()
         self.id = 0
         self.id = 0
         self.guest_uuid = None
         self.guest_uuid = None
         self.cpu_load = None
         self.cpu_load = None
@@ -43,13 +43,13 @@ class CPUMemory(ORM):
         return []
         return []
 
 
 
 
-class Traffic(ORM):
+class GuestTraffic(ORM):
 
 
-    _table_name = 'traffic'
+    _table_name = 'guest_traffic'
     _primary_key = 'id'
     _primary_key = 'id'
 
 
     def __init__(self):
     def __init__(self):
-        super(Traffic, self).__init__()
+        super(GuestTraffic, self).__init__()
         self.id = 0
         self.id = 0
         self.guest_uuid = None
         self.guest_uuid = None
         self.name = None
         self.name = None
@@ -85,13 +85,13 @@ class Traffic(ORM):
         return []
         return []
 
 
 
 
-class DiskIO(ORM):
+class GuestDiskIO(ORM):
 
 
-    _table_name = 'disk_io'
+    _table_name = 'guest_disk_io'
     _primary_key = 'id'
     _primary_key = 'id'
 
 
     def __init__(self):
     def __init__(self):
-        super(DiskIO, self).__init__()
+        super(GuestDiskIO, self).__init__()
         self.id = 0
         self.id = 0
         self.disk_uuid = None
         self.disk_uuid = None
         self.rd_req = None
         self.rd_req = None

+ 4 - 4
models/initialize.py

@@ -153,7 +153,7 @@ class Init(object):
 
 
     @staticmethod
     @staticmethod
     def clear_expire_monitor_log():
     def clear_expire_monitor_log():
-        from models import CPUMemory, Traffic, DiskIO, HostCPUMemory, HostTraffic, HostDiskUsageIO
+        from models import GuestCPUMemory, GuestTraffic, GuestDiskIO, HostCPUMemory, HostTraffic, HostDiskUsageIO
         from models import Utils
         from models import Utils
 
 
         already_clear = False
         already_clear = False
@@ -175,9 +175,9 @@ class Init(object):
                     boundary = ji.Common.ts() - 86400 * 15
                     boundary = ji.Common.ts() - 86400 * 15
                     filter_str = 'timestamp:lt:' + boundary.__str__()
                     filter_str = 'timestamp:lt:' + boundary.__str__()
 
 
-                    CPUMemory.delete_by_filter(filter_str=filter_str)
-                    Traffic.delete_by_filter(filter_str=filter_str)
-                    DiskIO.delete_by_filter(filter_str=filter_str)
+                    GuestCPUMemory.delete_by_filter(filter_str=filter_str)
+                    GuestTraffic.delete_by_filter(filter_str=filter_str)
+                    GuestDiskIO.delete_by_filter(filter_str=filter_str)
 
 
                     HostCPUMemory.delete_by_filter(filter_str=filter_str)
                     HostCPUMemory.delete_by_filter(filter_str=filter_str)
                     HostTraffic.delete_by_filter(filter_str=filter_str)
                     HostTraffic.delete_by_filter(filter_str=filter_str)

+ 2 - 2
models/status.py

@@ -28,7 +28,7 @@ class EmitKind(IntEnum):
     guest_event = 1
     guest_event = 1
     host_event = 2
     host_event = 2
     response = 3
     response = 3
-    collection_performance = 4
+    guest_collection_performance = 4
     host_collection_performance = 5
     host_collection_performance = 5
 
 
 
 
@@ -91,7 +91,7 @@ class OperateRuleKind(IntEnum):
     append_file = 2
     append_file = 2
 
 
 
 
-class CollectionPerformanceDataKind(IntEnum):
+class GuestCollectionPerformanceDataKind(IntEnum):
     cpu_memory = 0
     cpu_memory = 0
     traffic = 1
     traffic = 1
     disk_io = 2
     disk_io = 2

+ 10 - 10
templates/disk_detail.html

@@ -77,15 +77,15 @@
     }
     }
 
 
     function render_disk_throughput_chart(disk_uuid, granularity, dev_id, dev_name) {
     function render_disk_throughput_chart(disk_uuid, granularity, dev_id, dev_name) {
-        var url = '/api/performance/disk_io/last_hour/' + disk_uuid;
+        var url = '/api/guest_performance/disk_io/last_hour/' + disk_uuid;
         if (granularity === 'hour') {
         if (granularity === 'hour') {
-            url = '/api/performance/disk_io/last_hour/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_hour/' + disk_uuid
         } else if (granularity === 'six_hours') {
         } else if (granularity === 'six_hours') {
-            url = '/api/performance/disk_io/last_six_hours/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_six_hours/' + disk_uuid
         } else if (granularity === 'day') {
         } else if (granularity === 'day') {
-            url = '/api/performance/disk_io/last_day/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_day/' + disk_uuid
         } else {
         } else {
-            url = '/api/performance/disk_io/last_seven_days/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_seven_days/' + disk_uuid
         }
         }
 
 
         $.ajax({
         $.ajax({
@@ -238,15 +238,15 @@
     }
     }
 
 
     function render_disk_iops_chart(disk_uuid, granularity, dev_id, dev_name) {
     function render_disk_iops_chart(disk_uuid, granularity, dev_id, dev_name) {
-        var url = '/api/performance/disk_io/last_hour/' + disk_uuid;
+        var url = '/api/guest_performance/disk_io/last_hour/' + disk_uuid;
         if (granularity === 'hour') {
         if (granularity === 'hour') {
-            url = '/api/performance/disk_io/last_hour/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_hour/' + disk_uuid
         } else if (granularity === 'six_hours') {
         } else if (granularity === 'six_hours') {
-            url = '/api/performance/disk_io/last_six_hours/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_six_hours/' + disk_uuid
         } else if (granularity === 'day') {
         } else if (granularity === 'day') {
-            url = '/api/performance/disk_io/last_day/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_day/' + disk_uuid
         } else {
         } else {
-            url = '/api/performance/disk_io/last_seven_days/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_seven_days/' + disk_uuid
         }
         }
 
 
         $.ajax({
         $.ajax({

+ 25 - 25
templates/guest_detail.html

@@ -75,15 +75,15 @@
     }
     }
 
 
     function render_cpu_chart(uuid, granularity) {
     function render_cpu_chart(uuid, granularity) {
-        var url = '/api/performance/cpu_memory/last_hour/' + uuid;
+        var url = '/api/guest_performance/cpu_memory/last_hour/' + uuid;
         if (granularity === 'hour') {
         if (granularity === 'hour') {
-            url = '/api/performance/cpu_memory/last_hour/' + uuid
+            url = '/api/guest_performance/cpu_memory/last_hour/' + uuid
         } else if (granularity === 'six_hours') {
         } else if (granularity === 'six_hours') {
-            url = '/api/performance/cpu_memory/last_six_hours/' + uuid
+            url = '/api/guest_performance/cpu_memory/last_six_hours/' + uuid
         } else if (granularity === 'day') {
         } else if (granularity === 'day') {
-            url = '/api/performance/cpu_memory/last_day/' + uuid
+            url = '/api/guest_performance/cpu_memory/last_day/' + uuid
         } else {
         } else {
-            url = '/api/performance/cpu_memory/last_seven_days/' + uuid
+            url = '/api/guest_performance/cpu_memory/last_seven_days/' + uuid
         }
         }
 
 
         $.ajax({
         $.ajax({
@@ -209,15 +209,15 @@
     }
     }
 
 
     function render_traffic_chart(uuid, granularity) {
     function render_traffic_chart(uuid, granularity) {
-        var url = '/api/performance/traffic/last_hour/' + uuid;
+        var url = '/api/guest_performance/traffic/last_hour/' + uuid;
         if (granularity === 'hour') {
         if (granularity === 'hour') {
-            url = '/api/performance/traffic/last_hour/' + uuid
+            url = '/api/guest_performance/traffic/last_hour/' + uuid
         } else if (granularity === 'six_hours') {
         } else if (granularity === 'six_hours') {
-            url = '/api/performance/traffic/last_six_hours/' + uuid
+            url = '/api/guest_performance/traffic/last_six_hours/' + uuid
         } else if (granularity === 'day') {
         } else if (granularity === 'day') {
-            url = '/api/performance/traffic/last_day/' + uuid
+            url = '/api/guest_performance/traffic/last_day/' + uuid
         } else {
         } else {
-            url = '/api/performance/traffic/last_seven_days/' + uuid
+            url = '/api/guest_performance/traffic/last_seven_days/' + uuid
         }
         }
 
 
         $.ajax({
         $.ajax({
@@ -371,15 +371,15 @@
     }
     }
 
 
     function render_memory_chart(uuid, granularity) {
     function render_memory_chart(uuid, granularity) {
-        var url = '/api/performance/cpu_memory/last_hour/' + uuid;
+        var url = '/api/guest_performance/cpu_memory/last_hour/' + uuid;
         if (granularity === 'hour') {
         if (granularity === 'hour') {
-            url = '/api/performance/cpu_memory/last_hour/' + uuid
+            url = '/api/guest_performance/cpu_memory/last_hour/' + uuid
         } else if (granularity === 'six_hours') {
         } else if (granularity === 'six_hours') {
-            url = '/api/performance/cpu_memory/last_six_hours/' + uuid
+            url = '/api/guest_performance/cpu_memory/last_six_hours/' + uuid
         } else if (granularity === 'day') {
         } else if (granularity === 'day') {
-            url = '/api/performance/cpu_memory/last_day/' + uuid
+            url = '/api/guest_performance/cpu_memory/last_day/' + uuid
         } else {
         } else {
-            url = '/api/performance/cpu_memory/last_seven_days/' + uuid
+            url = '/api/guest_performance/cpu_memory/last_seven_days/' + uuid
         }
         }
 
 
         $.ajax({
         $.ajax({
@@ -506,15 +506,15 @@
     }
     }
 
 
     function render_disk_throughput_chart(disk_uuid, granularity, dev_id, dev_name) {
     function render_disk_throughput_chart(disk_uuid, granularity, dev_id, dev_name) {
-        var url = '/api/performance/disk_io/last_hour/' + disk_uuid;
+        var url = '/api/guest_performance/disk_io/last_hour/' + disk_uuid;
         if (granularity === 'hour') {
         if (granularity === 'hour') {
-            url = '/api/performance/disk_io/last_hour/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_hour/' + disk_uuid
         } else if (granularity === 'six_hours') {
         } else if (granularity === 'six_hours') {
-            url = '/api/performance/disk_io/last_six_hours/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_six_hours/' + disk_uuid
         } else if (granularity === 'day') {
         } else if (granularity === 'day') {
-            url = '/api/performance/disk_io/last_day/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_day/' + disk_uuid
         } else {
         } else {
-            url = '/api/performance/disk_io/last_seven_days/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_seven_days/' + disk_uuid
         }
         }
 
 
         $.ajax({
         $.ajax({
@@ -669,15 +669,15 @@
     }
     }
 
 
     function render_disk_iops_chart(disk_uuid, granularity, dev_id, dev_name) {
     function render_disk_iops_chart(disk_uuid, granularity, dev_id, dev_name) {
-        var url = '/api/performance/disk_io/last_hour/' + disk_uuid;
+        var url = '/api/guest_performance/disk_io/last_hour/' + disk_uuid;
         if (granularity === 'hour') {
         if (granularity === 'hour') {
-            url = '/api/performance/disk_io/last_hour/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_hour/' + disk_uuid
         } else if (granularity === 'six_hours') {
         } else if (granularity === 'six_hours') {
-            url = '/api/performance/disk_io/last_six_hours/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_six_hours/' + disk_uuid
         } else if (granularity === 'day') {
         } else if (granularity === 'day') {
-            url = '/api/performance/disk_io/last_day/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_day/' + disk_uuid
         } else {
         } else {
-            url = '/api/performance/disk_io/last_seven_days/' + disk_uuid
+            url = '/api/guest_performance/disk_io/last_seven_days/' + disk_uuid
         }
         }
 
 
         $.ajax({
         $.ajax({

+ 1 - 1
views/dashboard.py

@@ -30,7 +30,7 @@ def show():
     hosts_url = host_url + url_for('api_hosts.r_get_by_filter', alive=True)
     hosts_url = host_url + url_for('api_hosts.r_get_by_filter', alive=True)
     guests_distribute_count_url = host_url + url_for('api_guests.r_distribute_count')
     guests_distribute_count_url = host_url + url_for('api_guests.r_distribute_count')
     disks_distribute_count_url = host_url + url_for('api_disks.r_distribute_count')
     disks_distribute_count_url = host_url + url_for('api_disks.r_distribute_count')
-    guests_current_top_10_url = host_url + url_for('api_performance.r_current_top_10')
+    guests_current_top_10_url = host_url + url_for('api_guest_performance.r_current_top_10')
     hosts_current_top_10_url = host_url + url_for('api_host_performance.r_current_top_10')
     hosts_current_top_10_url = host_url + url_for('api_host_performance.r_current_top_10')
 
 
     hosts_ret = requests.get(url=hosts_url, cookies=request.cookies)
     hosts_ret = requests.get(url=hosts_url, cookies=request.cookies)