/
nodeinfo.sandesh
50 lines (47 loc) · 1.66 KB
/
nodeinfo.sandesh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
* Copyright (c) 2016 Juniper Networks, Inc. All rights reserved.
*/
include "base/sandesh/cpuinfo.sandesh"
include "base/sandesh/process_info.sandesh"
/**
* This structure used to send NodeStatus data for all node types
*
* Following are sent by each process individually and aggregation
* will happen on UVE queries.
* - process_status carries process's status [functional/non-functional]
* - process_info carries process's state [up/down]
*
* Following are sent by nodemgr on behalf of the node
* - disk partition usage
* - core files
* - system memory/cpu usage
* - system cpu info
*
* Following are sent by nodemgr on behalf of all processes on the node
* - process memory/cpu usage
*/
struct NodeStatus {
1: string name (key="")
2: optional bool deleted
3: optional string status
// Sent by process
4: optional list<process_info.ProcessStatus> process_status (aggtype="union")
// Sent by node manager
5: optional list<process_info.ProcessInfo> process_info (aggtype="union")
// map key is partition name
6: optional map<string,process_info.DiskPartitionUsageStats> disk_usage_info (tags="")
7: optional string description
8: optional list<string> all_core_file_list
9: optional string build_info
// map key is <module_id>:<inst_id>
10: optional map<string,cpuinfo.ProcessCpuInfo> process_mem_cpu_usage (tags=".__key,.cpu_share")
11: optional cpuinfo.SystemMemCpuUsage system_mem_cpu_usage(tags=".cpu_share")
12: optional cpuinfo.SystemCpuInfo system_cpu_info
}
/**
* @description: UVE to send NodeStatus data for all node types
* @object: all-node types
*/
uve sandesh NodeStatusUVE {
1: NodeStatus data
}