Skip to content

Commit

Permalink
Merge "Add node_type field and key to NodeStatus.system_mem/cpu_usage…
Browse files Browse the repository at this point in the history
…" into R3.1
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Jan 18, 2017
2 parents 13c2495 + b3e00b3 commit 4993f00
Show file tree
Hide file tree
Showing 11 changed files with 39 additions and 11 deletions.
10 changes: 10 additions & 0 deletions src/analytics/viz.sandesh
Expand Up @@ -2094,6 +2094,7 @@ const list<stat_table> _STAT_TABLES = [
{ 'name' : 'system_mem_usage.free', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.buffers', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.cached', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.node_type', 'datatype' : 'string', 'index' : true},
]
},
{
Expand All @@ -2107,6 +2108,7 @@ const list<stat_table> _STAT_TABLES = [
{ 'name' : 'system_mem_usage.free', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.buffers', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.cached', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.node_type', 'datatype' : 'string', 'index' : true},
]
},
{
Expand All @@ -2120,6 +2122,7 @@ const list<stat_table> _STAT_TABLES = [
{ 'name' : 'system_mem_usage.free', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.buffers', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.cached', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.node_type', 'datatype' : 'string', 'index' : true},
]
},
{
Expand All @@ -2133,6 +2136,7 @@ const list<stat_table> _STAT_TABLES = [
{ 'name' : 'system_mem_usage.free', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.buffers', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.cached', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.node_type', 'datatype' : 'string', 'index' : true},
]
},
{
Expand All @@ -2146,6 +2150,7 @@ const list<stat_table> _STAT_TABLES = [
{ 'name' : 'system_mem_usage.free', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.buffers', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.cached', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_mem_usage.node_type', 'datatype' : 'string', 'index' : true},
]
},
{
Expand All @@ -2158,6 +2163,7 @@ const list<stat_table> _STAT_TABLES = [
{ 'name' : 'system_cpu_usage.five_min_avg', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_cpu_usage.fifteen_min_avg', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_cpu_usage.cpu_share', 'datatype' : 'double', 'index' : true},
{ 'name' : 'system_cpu_usage.node_type', 'datatype' : 'string', 'index' : true},
]
},
{
Expand All @@ -2170,6 +2176,7 @@ const list<stat_table> _STAT_TABLES = [
{ 'name' : 'system_cpu_usage.five_min_avg', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_cpu_usage.fifteen_min_avg', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_cpu_usage.cpu_share', 'datatype' : 'double', 'index' : true},
{ 'name' : 'system_cpu_usage.node_type', 'datatype' : 'string', 'index' : true},
]
},
{
Expand All @@ -2182,6 +2189,7 @@ const list<stat_table> _STAT_TABLES = [
{ 'name' : 'system_cpu_usage.five_min_avg', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_cpu_usage.fifteen_min_avg', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_cpu_usage.cpu_share', 'datatype' : 'double', 'index' : true},
{ 'name' : 'system_cpu_usage.node_type', 'datatype' : 'string', 'index' : true},
]
},
{
Expand All @@ -2194,6 +2202,7 @@ const list<stat_table> _STAT_TABLES = [
{ 'name' : 'system_cpu_usage.five_min_avg', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_cpu_usage.fifteen_min_avg', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_cpu_usage.cpu_share', 'datatype' : 'double', 'index' : true},
{ 'name' : 'system_cpu_usage.node_type', 'datatype' : 'string', 'index' : true},
]
},
{
Expand All @@ -2206,6 +2215,7 @@ const list<stat_table> _STAT_TABLES = [
{ 'name' : 'system_cpu_usage.five_min_avg', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_cpu_usage.fifteen_min_avg', 'datatype' : 'int', 'index' : false},
{ 'name' : 'system_cpu_usage.cpu_share', 'datatype' : 'double', 'index' : true},
{ 'name' : 'system_cpu_usage.node_type', 'datatype' : 'string', 'index' : true},
]
},
{
Expand Down
2 changes: 2 additions & 0 deletions src/base/sandesh/cpuinfo.sandesh
Expand Up @@ -28,6 +28,7 @@ struct SysMemInfo {
3: u32 free;
4: u32 buffers;
5: u32 cached;
6: string node_type;
}

/**
Expand Down Expand Up @@ -74,4 +75,5 @@ struct SysCpuInfo {
2: double five_min_avg;
3: double fifteen_min_avg;
4: double cpu_share;
5: string node_type;
}
4 changes: 2 additions & 2 deletions src/base/sandesh/nodeinfo.sandesh
Expand Up @@ -38,8 +38,8 @@ struct NodeStatus {
// map key is <module_id>:<inst_id>
10: optional map<string,cpuinfo.ProcessCpuInfo> process_mem_cpu_usage (tags=".__key,.cpu_share")
12: optional cpuinfo.SystemCpuInfo system_cpu_info
13: optional cpuinfo.SysMemInfo system_mem_usage(tags="")
14: optional cpuinfo.SysCpuInfo system_cpu_usage(tags=".cpu_share")
13: optional cpuinfo.SysMemInfo system_mem_usage(tags=".node_type")
14: optional cpuinfo.SysCpuInfo system_cpu_usage(tags=".node_type,.cpu_share")
}

/**
Expand Down
3 changes: 2 additions & 1 deletion src/nodemgr/analytics_nodemgr/analytics_event_manager.py
Expand Up @@ -20,7 +20,7 @@
from pysandesh.sandesh_base import *
from sandesh_common.vns.ttypes import Module, NodeType
from sandesh_common.vns.constants import ModuleNames, NodeTypeNames,\
Module2NodeType
Module2NodeType, UVENodeTypeNames
from subprocess import Popen, PIPE

from nodemgr.common.sandesh.nodeinfo.ttypes import *
Expand All @@ -37,6 +37,7 @@ def __init__(self, rule_file, discovery_server,
self, rule_file, discovery_server,
discovery_port, collector_addr, sandesh_global)
self.node_type = 'contrail-analytics'
self.uve_node_type = UVENodeTypeNames[NodeType.ANALYTICS]
self.table = "ObjectCollectorInfo"
self.module = Module.ANALYTICS_NODE_MGR
self.module_id = ModuleNames[self.module]
Expand Down
6 changes: 4 additions & 2 deletions src/nodemgr/common/cpuinfo.py
Expand Up @@ -48,24 +48,26 @@ def get_num_thread_per_core (self):
return int(proc.communicate()[0])
#end get_num_thread_per_core

def get_sys_mem_info(self):
def get_sys_mem_info(self, node_type):
virtmem_info = psutil.virtual_memory()
sys_mem_info = SysMemInfo()
sys_mem_info.total = virtmem_info.total/1024
sys_mem_info.used = virtmem_info.used/1024
sys_mem_info.free = virtmem_info.free/1024
sys_mem_info.buffers = virtmem_info.buffers/1024
sys_mem_info.cached = virtmem_info.cached/1024
sys_mem_info.node_type = node_type
return sys_mem_info
#end get_sys_mem_info

def get_sys_cpu_info(self):
def get_sys_cpu_info(self, node_type):
cpu_load_avg = self._get_cpu_load_avg()
sys_cpu_info = SysCpuInfo()
sys_cpu_info.one_min_avg = cpu_load_avg.one_min_avg
sys_cpu_info.five_min_avg = cpu_load_avg.five_min_avg
sys_cpu_info.fifteen_min_avg = cpu_load_avg.fifteen_min_avg
sys_cpu_info.cpu_share = self._get_sys_cpu_share()
sys_cpu_info.node_type = node_type
return sys_cpu_info
#end get_sys_cpu_info

Expand Down
4 changes: 2 additions & 2 deletions src/nodemgr/common/event_manager.py
Expand Up @@ -557,8 +557,8 @@ def event_tick_60(self):

# get system mem/cpu usage
system_mem_cpu_usage_data = MemCpuUsageData(os.getpid(), self.last_cpu, self.last_time)
system_mem_usage = system_mem_cpu_usage_data.get_sys_mem_info()
system_cpu_usage = system_mem_cpu_usage_data.get_sys_cpu_info()
system_mem_usage = system_mem_cpu_usage_data.get_sys_mem_info(self.uve_node_type)
system_cpu_usage = system_mem_cpu_usage_data.get_sys_cpu_info(self.uve_node_type)

# update last_cpu/time after all processing is complete
self.last_cpu = system_mem_cpu_usage_data.last_cpu
Expand Down
3 changes: 2 additions & 1 deletion src/nodemgr/config_nodemgr/config_event_manager.py
Expand Up @@ -28,7 +28,7 @@
from pysandesh.gen_py.sandesh_trace.ttypes import SandeshTraceRequest
from sandesh_common.vns.ttypes import Module, NodeType
from sandesh_common.vns.constants import ModuleNames, NodeTypeNames,\
Module2NodeType, INSTANCE_ID_DEFAULT
Module2NodeType, INSTANCE_ID_DEFAULT, UVENodeTypeNames
from subprocess import Popen, PIPE
from StringIO import StringIO

Expand All @@ -44,6 +44,7 @@ def __init__(self, rule_file, discovery_server,
cassandra_repair_interval,
cassandra_repair_logdir):
self.node_type = "contrail-config"
self.uve_node_type = UVENodeTypeNames[NodeType.CONFIG]
self.table = "ObjectConfigNode"
self.module = Module.CONFIG_NODE_MGR
self.module_id = ModuleNames[self.module]
Expand Down
3 changes: 2 additions & 1 deletion src/nodemgr/control_nodemgr/control_event_manager.py
Expand Up @@ -27,7 +27,7 @@
from pysandesh.gen_py.sandesh_trace.ttypes import SandeshTraceRequest
from sandesh_common.vns.ttypes import Module, NodeType
from sandesh_common.vns.constants import ModuleNames, NodeTypeNames,\
Module2NodeType, INSTANCE_ID_DEFAULT
Module2NodeType, INSTANCE_ID_DEFAULT, UVENodeTypeNames
from subprocess import Popen, PIPE
from StringIO import StringIO

Expand All @@ -41,6 +41,7 @@ class ControlEventManager(EventManager):
def __init__(self, rule_file, discovery_server,
discovery_port, collector_addr):
self.node_type = "contrail-control"
self.uve_node_type = UVENodeTypeNames[NodeType.CONTROL]
self.table = "ObjectBgpRouter"
self.module = Module.CONTROL_NODE_MGR
self.module_id = ModuleNames[self.module]
Expand Down
3 changes: 2 additions & 1 deletion src/nodemgr/database_nodemgr/database_event_manager.py
Expand Up @@ -32,7 +32,7 @@
from sandesh_common.vns.ttypes import Module, NodeType
from sandesh_common.vns.constants import ModuleNames, NodeTypeNames,\
Module2NodeType, INSTANCE_ID_DEFAULT, SERVICE_CONTRAIL_DATABASE, \
RepairNeededKeyspaces, ThreadPoolNames
RepairNeededKeyspaces, ThreadPoolNames, UVENodeTypeNames
from subprocess import Popen, PIPE
from StringIO import StringIO

Expand All @@ -52,6 +52,7 @@ def __init__(self, rule_file, discovery_server,
cassandra_repair_interval,
cassandra_repair_logdir):
self.node_type = "contrail-database"
self.uve_node_type = UVENodeTypeNames[NodeType.DATABASE]
self.table = "ObjectDatabaseInfo"
self.module = Module.DATABASE_NODE_MGR
self.module_id = ModuleNames[self.module]
Expand Down
3 changes: 2 additions & 1 deletion src/nodemgr/vrouter_nodemgr/vrouter_event_manager.py
Expand Up @@ -30,7 +30,7 @@
from pysandesh.gen_py.sandesh_trace.ttypes import SandeshTraceRequest
from sandesh_common.vns.ttypes import Module, NodeType
from sandesh_common.vns.constants import ModuleNames, NodeTypeNames,\
Module2NodeType, INSTANCE_ID_DEFAULT
Module2NodeType, INSTANCE_ID_DEFAULT, UVENodeTypeNames
from subprocess import Popen, PIPE
from StringIO import StringIO

Expand All @@ -55,6 +55,7 @@ def __init__(self, rule_file, discovery_server,
EventManager.__init__(self, rule_file, discovery_server,
discovery_port, collector_addr, sandesh_global)
self.node_type = "contrail-vrouter"
self.uve_node_type = UVENodeTypeNames[NodeType.COMPUTE]
self.table = "ObjectVRouter"
_disc = self.get_discovery_client()
sandesh_global.init_generator(
Expand Down
9 changes: 9 additions & 0 deletions src/sandesh/common/vns.sandesh
Expand Up @@ -333,6 +333,15 @@ enum NodeType {
SERVERMGR,
}

const map<NodeType, string> UVENodeTypeNames = {
NodeType.INVALID : "Invalid",
NodeType.CONFIG : "config-node",
NodeType.CONTROL : "control-node",
NodeType.ANALYTICS : "analytics-node",
NodeType.COMPUTE : "vrouter",
NodeType.DATABASE : "database-node",
}

const map<NodeType, string> NodeTypeNames = {
NodeType.INVALID : "Invalid",
NodeType.CONFIG : "Config",
Expand Down

0 comments on commit 4993f00

Please sign in to comment.