diff --git a/src/analytics/analytics.sandesh b/src/analytics/analytics.sandesh index f9d763c795b..bac54a6aceb 100644 --- a/src/analytics/analytics.sandesh +++ b/src/analytics/analytics.sandesh @@ -47,6 +47,7 @@ uve sandesh ModuleCpuStateTrace { struct AnalyticsCpuState { 1: string name (key="ObjectCollectorInfo") 2: optional bool deleted + /** @display_name:Analytics CPU Information*/ 3: optional list cpu_info (tags=".module_id,.mem_virt,.cpu_share,.mem_res", aggtype="union") } @@ -87,6 +88,7 @@ struct QueryStats { objectlog sandesh QueryPerfInfo { 1: string name (key="ObjectCollectorInfo") 3: string table + /** @display_name:QE Performance*/ 10: QueryStats query_stats (tags="table,name:.qid,.rows,.time") } @@ -111,6 +113,7 @@ struct AnalyticsApiSample { * @object: analytics-node */ objectlog sandesh AnalyticsApiStats { + /** @display_name:Analytics API Statistics*/ 1: AnalyticsApiSample api_stats (tags=".operation_type,.remote_ip,.object_type") } @@ -131,6 +134,7 @@ struct UserDefinedCounter { 1: string name (key="UserDefinedCounterTable") 2: optional bool deleted 3: optional u64 rx_event (hidden="yes") + /** @display_name:User defined counters*/ 4: optional uint64_t_P_ count (stats="rx_event:DSSum:", tags="") } (period="60") diff --git a/src/analytics/collector_uve.sandesh b/src/analytics/collector_uve.sandesh index d97b96e91b0..655b1295c5b 100644 --- a/src/analytics/collector_uve.sandesh +++ b/src/analytics/collector_uve.sandesh @@ -64,8 +64,11 @@ struct GeneratorInfo { */ objectlog sandesh GeneratorDbStats { 1: string name (key="ObjectGeneratorInfo") + /** @display_name:Generator Database Table Statistics*/ 2: optional list table_info (tags=".table_name") + /** @display_name:Generator Database Errors*/ 3: optional gendb.DbErrors errors (tags="") + /** @display_name:Generator Statistics Database Table*/ 4: optional list statistics_table_info (tags=".table_name") } @@ -133,9 +136,13 @@ struct CollectorStats { */ objectlog sandesh CollectorDbStats { 1: string name (key="ObjectCollectorInfo") + /** @display_name:Collector Database Table Statistics*/ 2: optional list table_info (tags=".table_name") + /** @display_name:Collector Database Errors*/ 3: optional gendb.DbErrors errors (tags="") + /** @display_name:Collector Statistics Database Table*/ 4: optional list statistics_table_info (tags=".table_name") + /** @display_name:Collector Database CQL Request Statistics*/ 5: optional cql.DbStats cql_stats (tags="") } @@ -146,11 +153,17 @@ objectlog sandesh CollectorDbStats { */ objectlog sandesh ProtobufCollectorStats { 1: string name (key="ObjectCollectorInfo") + /** @display_name:Analytics Protobuf Collector Receive Socket Statistics*/ 2: optional list rx_socket_stats (tags="") + /** @display_name:Analytics Protobuf Collector Transmit Socket Statistics*/ 3: optional list tx_socket_stats (tags="") + /** @display_name:Analytics Protobuf Collector Receive Message Statistics*/ 4: optional list rx_message_stats (tags=".endpoint_name,.message_name") + /** @display_name:Analytics Protobuf Collector Database Table*/ 5: optional list db_table_info (tags=".table_name") + /** @display_name:Analytics Protobuf Collector Database Errors*/ 6: optional list db_errors (tags="") + /** @display_name:Analytics Protobuf Collector Statistics Database Table*/ 7: optional list db_statistics_table_info (tags=".table_name") 8: optional u64 db_queue_count 9: optional u64 db_enqueues @@ -317,6 +330,7 @@ struct SandeshMessageInfo { */ objectlog sandesh SandeshMessageStat { 1: string name (key="ObjectGeneratorInfo") + /** @display_name:Collector Message Stats*/ 2: optional list msg_info (tags=".type,.level") } diff --git a/src/analytics/contrail-broadview/broadview.sandesh b/src/analytics/contrail-broadview/broadview.sandesh index b9da54ff56b..41a7d142e6f 100644 --- a/src/analytics/contrail-broadview/broadview.sandesh +++ b/src/analytics/contrail-broadview/broadview.sandesh @@ -72,14 +72,24 @@ objectlog sandesh PRouterBroadViewInfo { 1: string name (key="ObjectPRouter") 2: string asic_id 3: Device device + /** @display_name:Broadview ingress-port-priority-group*/ 4: list ingressPortPriorityGroup (tags="name,asic_id,.port,.priorityGroup") + /** @display_name:Broadview ingress-port-service-pool*/ 5: list ingressPortServicePool (tags="name,asic_id,.port,.servicePool") + /** @display_name:Broadview ingress-service-pool*/ 6: list ingressServicePool (tags="name,asic_id,.servicePool") + /** @display_name:Broadview egress-port-service-pool*/ 7: list egressPortServicePool (tags="name,asic_id,.port,.servicePool") + /** @display_name:Broadview egress-service-pool*/ 8: list egressServicePool (tags="name,asic_id,.servicePool") + /** @display_name:Broadview egress-uc-queue*/ 9: list egressUcQueue (tags="name,asic_id,.queue") + /** @display_name:Broadview egress-uc-queue-group*/ 10: list egressUcQueueGroup (tags="name,asic_id,.queueGroup") + /** @display_name:Broadview egress-mc-queue*/ 11: list egressMcQueue (tags="name,asic_id,.queue") + /** @display_name:Broadview egress-cpu-queue*/ 12: list egressCpuQueue (tags="name,asic_id,.queue") + /** @display_name:Broadview egress-rqe-queue*/ 13: list egressRqeQueue (tags="name,asic_id,.queue") } diff --git a/src/analytics/contrail-snmp-collector/prouter.sandesh b/src/analytics/contrail-snmp-collector/prouter.sandesh index 9775564276c..648dce46498 100644 --- a/src/analytics/contrail-snmp-collector/prouter.sandesh +++ b/src/analytics/contrail-snmp-collector/prouter.sandesh @@ -216,6 +216,7 @@ struct PRouterEntry { 4: optional list arpTable 5: optional list ifTable 6: optional list ifXTable + /** @display_name:Physical Router Interface Statistics*/ 7: optional list ifStats (tags="name:.ifIndex,name:.ifName") 8: optional list ipMib 9: optional list fdbPortTable diff --git a/src/analytics/database/database.sandesh b/src/analytics/database/database.sandesh index 799d7491d29..7dbf5ec4f3b 100755 --- a/src/analytics/database/database.sandesh +++ b/src/analytics/database/database.sandesh @@ -26,6 +26,7 @@ struct DatabaseUsageStats { struct DatabaseUsageInfo { 1: string name (key="ObjectDatabaseInfo") 2: optional bool deleted + /** @display_name:Database Usage Statistics*/ 3: optional list database_usage (tags="") } @@ -51,7 +52,9 @@ struct CassandraCompactionTask { struct CassandraStatusData { 1: string name (key="ObjectDatabaseInfo") 2: optional bool deleted + /** @display_name:Cassandra Compaction Info*/ 3: CassandraCompactionTask cassandra_compaction_task (tags="") + /** @display_name:Cassandra Thread Pool Info*/ 4: list thread_pool_stats (tags=".pool_name") } diff --git a/src/analytics/viz.sandesh b/src/analytics/viz.sandesh index fa5ae2feb37..220c87a009a 100644 --- a/src/analytics/viz.sandesh +++ b/src/analytics/viz.sandesh @@ -1208,368 +1208,6 @@ const list _STAT_TEST_TABLES = [ ] const list _STAT_TABLES = [ - { - 'display_name' : 'Analytics CPU Information', - 'stat_type' : 'AnalyticsCpuState', - 'stat_attr' : 'cpu_info', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'cpu_info.mem_virt', 'datatype' : 'int', 'index' : true}, - { 'name' : 'cpu_info.mem_res', 'datatype' : 'int', 'index' : true}, - { 'name' : 'cpu_info.cpu_share', 'datatype' : 'double', 'index' : true}, - { 'name' : 'cpu_info.inst_id', 'datatype' : 'string', 'index' : false}, - { 'name' : 'cpu_info.module_id', 'datatype' : 'string', 'index' : true}, - ] - }, - { - 'display_name' : 'Config CPU Information', - 'stat_type' : 'ConfigCpuState', - 'stat_attr' : 'cpu_info', - 'obj_table' : CONFIG_NODE_TABLE, - 'attributes': [ - { 'name' : 'cpu_info.mem_virt', 'datatype' : 'int', 'index' : true}, - { 'name' : 'cpu_info.mem_res', 'datatype' : 'int', 'index' : true}, - { 'name' : 'cpu_info.cpu_share', 'datatype' : 'double', 'index' : true}, - { 'name' : 'cpu_info.inst_id', 'datatype' : 'string', 'index' : false}, - { 'name' : 'cpu_info.module_id', 'datatype' : 'string', 'index' : true}, - ] - }, - { - 'display_name' : 'Control CPU Information', - 'stat_type' : 'ControlCpuState', - 'stat_attr' : 'cpu_info', - 'obj_table' : BGP_ROUTER_TABLE, - 'attributes': [ - { 'name' : 'cpu_info.mem_virt', 'datatype' : 'int', 'index' : true}, - { 'name' : 'cpu_info.mem_res', 'datatype' : 'int', 'index' : true}, - { 'name' : 'cpu_info.cpu_share', 'datatype' : 'double', 'index' : true}, - { 'name' : 'cpu_info.inst_id', 'datatype' : 'string', 'index' : false}, - { 'name' : 'cpu_info.module_id', 'datatype' : 'string', 'index' : true}, - ] - }, - { - 'display_name' : 'Physical Router Interface Statistics', - 'stat_type' : 'PRouterEntry', - 'stat_attr' : 'ifStats', - 'obj_table' : PROUTER_TABLE, - 'attributes': [ - { 'name': 'name', 'datatype': 'string', 'index': true, - 'suffixes': ['ifStats.ifIndex', 'ifStats.ifName']}, - { 'name': 'ifStats.ifInPkts', 'datatype': 'int', 'index': false}, - { 'name': 'ifStats.ifOutPkts', 'datatype': 'int', 'index': false}, - { 'name': 'ifStats.ifInOctets', 'datatype': 'int', 'index': false}, - { 'name': 'ifStats.ifOutOctets', 'datatype': 'int', 'index': false}, - { 'name': 'ifStats.ifInDiscards', 'datatype': 'int', 'index': false}, - { 'name': 'ifStats.ifInErrors', 'datatype': 'int', 'index': false}, - { 'name': 'ifStats.ifOutDiscards', 'datatype': 'int', 'index': false}, - { 'name': 'ifStats.ifOutErrors', 'datatype': 'int', 'index': false}, - { 'name': 'ifStats.ifIndex', 'datatype': 'int', 'index': false}, - { 'name': 'ifStats.ifName', 'datatype': 'string', 'index': false}, - ] - }, - { - 'display_name' : 'Compute CPU Information', - 'stat_type' : 'ComputeCpuState', - 'stat_attr' : 'cpu_info', - 'obj_table' : VROUTER_TABLE, - 'attributes': [ - { 'name' : 'cpu_info.mem_virt', 'datatype' : 'int', 'index' : true}, - { 'name' : 'cpu_info.mem_res', 'datatype' : 'int', 'index' : true}, - { 'name' : 'cpu_info.cpu_share', 'datatype' : 'double', 'index' : true}, - { 'name' : 'cpu_info.used_sys_mem', 'datatype' : 'int', 'index' : false}, - { 'name' : 'cpu_info.one_min_cpuload', 'datatype' : 'double', 'index' : false}, - ] - }, - { - 'display_name' : 'VM CPU Stats' - 'stat_type' : 'VirtualMachineStats', - 'stat_attr' : 'cpu_stats', - 'obj_table' : VM_TABLE, - 'attributes': [ - { 'name' : 'cpu_stats.cpu_one_min_avg', 'datatype' : 'double', 'index' : false}, - { 'name' : 'cpu_stats.vm_memory_quota', 'datatype' : 'int', 'index' : false}, - { 'name' : 'cpu_stats.rss', 'datatype' : 'int', 'index' : false}, - { 'name' : 'cpu_stats.virt_memory', 'datatype' : 'double', 'index' : false}, - { 'name' : 'cpu_stats.peak_virt_memory', 'datatype' : 'int', 'index' : false}, - { 'name' : 'cpu_stats.disk_allocated_bytes', 'datatype' : 'int', 'index' : false}, - { 'name' : 'cpu_stats.disk_used_bytes', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Storage Cluster Info', - 'stat_type' : 'StorageCluster', - 'stat_attr' : 'info_stats', - 'obj_table' : STORAGE_CLUSTER_TABLE, - 'attributes': [ - { 'name' : 'cluster_id', 'datatype' : 'string', 'index' : true}, - { 'name' : 'info_stats.status', 'datatype' : 'int', 'index' : false}, - { 'name' : 'info_stats.health_detail', 'datatype': 'string', 'index' : false}, - { 'name' : 'info_stats.health_summary', 'datatype': 'string', 'index' : false}, - { 'name' : 'info_stats.monitor_count', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.monitor_active', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.osd_full', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.osd_near_full', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.osds_conf', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.osds_in', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.osds_out', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.osds_up', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.osds_down', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.osd_full_ratio', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.osd_near_full_ratio', 'datatype': 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Storage Pool Info', - 'stat_type' : 'ComputeStoragePool', - 'stat_attr' : 'info_stats', - 'obj_table' : POOL_TABLE, - 'attributes': [ - { 'name' : 'info_stats.reads', 'datatype' : 'int', 'index' : false}, - { 'name' : 'info_stats.writes', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.read_kbytes', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.write_kbytes', 'datatype': 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Storage Device Info', - 'stat_type' : 'ComputeStorageOsd', - 'stat_attr' : 'info_stats', - 'obj_table' : OSD_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string', 'index' : true}, - { 'name' : 'uuid', 'datatype' : 'string', 'index' : true}, - { 'name' : 'info_stats.reads', 'datatype' : 'int', 'index' : false}, - { 'name' : 'info_stats.writes', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.read_kbytes', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.write_kbytes', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.op_r_latency', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.op_w_latency', 'datatype': 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Storage Raw Device Info', - 'stat_type' : 'ComputeStorageDisk', - 'stat_attr' : 'info_stats', - 'obj_table' : DISK_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string', 'index' : true}, - { 'name' : 'uuid', 'datatype' : 'string', 'index' : true}, - { 'name' : 'info_stats.reads', 'datatype' : 'int', 'index' : false}, - { 'name' : 'info_stats.writes', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.read_kbytes', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.write_kbytes', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.iops', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.bw', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.op_r_latency', 'datatype': 'int', 'index' : false}, - { 'name' : 'info_stats.op_w_latency', 'datatype': 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Server Monitoring Sensor Stats Info', - 'stat_type' : 'ServerMonitoringInfo', - 'stat_attr' : 'sensor_stats', - 'obj_table' : SERVER_TABLE, - 'attributes': [ - { 'name' : 'sensor_stats.sensor', 'datatype' : 'string', 'index' : true}, - { 'name' : 'sensor_stats.status', 'datatype': 'string', 'index' : false}, - { 'name' : 'sensor_stats.reading', 'datatype': 'int', 'index' : false}, - { 'name' : 'sensor_stats.unit', 'datatype': 'string', 'index' : false}, - { 'name' : 'sensor_stats.sensor_type', 'datatype': 'string', 'index' : true}, - ] - }, - { - 'display_name' : 'Server Monitoring Disk Stats Info', - 'stat_type' : 'ServerMonitoringInfo', - 'stat_attr' : 'disk_usage_stats', - 'obj_table' : SERVER_TABLE, - 'attributes': [ - { 'name' : 'disk_usage_stats.disk_name', 'datatype': 'string', 'index' : true}, - { 'name' : 'disk_usage_stats.read_bytes', 'datatype': 'int', 'index' : false}, - { 'name' : 'disk_usage_stats.write_bytes', 'datatype': 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Server Monitoring Interface Stats Info', - 'stat_type' : 'ServerMonitoringSummary', - 'stat_attr' : 'network_info_stats', - 'obj_table' : SERVER_TABLE, - 'attributes': [ - { 'name' : 'network_info_stats.interface_name', 'datatype': 'string', 'index' : true}, - { 'name' : 'network_info.tx_bytes', 'datatype': 'int', 'index' : false}, - { 'name' : 'network_info.tx_packets', 'datatype': 'int', 'index' : false}, - { 'name' : 'network_info.rx_bytes', 'datatype': 'int', 'index' : false}, - { 'name' : 'network_info.rx_packets', 'datatype': 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Server Monitoring Resource Stats Info', - 'stat_type' : 'ServerMonitoringSummary', - 'stat_attr' : 'resource_info_stats', - 'obj_table' : SERVER_TABLE, - 'attributes': [ - { 'name' : 'resource_info_stats.cpu_usage_percentage', 'datatype': 'double', 'index' : false}, - { 'name' : 'resource_info_stats.mem_usage_mb', 'datatype': 'double', 'index' : false}, - { 'name' : 'resource_info_stats.mem_usage_percent', 'datatype': 'double', 'index' : false}, - ] - }, - { - 'display_name' : 'Server Monitoring File System Stats Info', - 'stat_type' : 'ServerMonitoringInfo', - 'stat_attr' : 'file_system_view_stats.physical_disks', - 'obj_table' : SERVER_TABLE, - 'attributes': [ - { 'name' : 'file_system_view_stats.fs_name', 'datatype': 'string', 'index' : true}, - { 'name' : 'file_system_view_stats.size_kb', 'datatype': 'int', 'index' : false}, - { 'name' : 'file_system_view_stats.used_kb', 'datatype': 'int', 'index' : false}, - { 'name' : 'file_system_view_stats.available_kb', 'datatype': 'int', 'index' : false}, - { 'name' : 'file_system_view_stats.used_percentage', 'datatype': 'int', 'index' : true}, - { 'name' : 'file_system_view_stats.mountpoint', 'datatype': 'string', 'index' : false}, - { 'name' : 'file_system_view_stats.type', 'datatype': 'string', 'index' : false}, - { 'name' : 'file_system_view_stats.physical_disks.disk_name', 'datatype': 'string', 'index' : true}, - { 'name' : 'file_system_view_stats.physical_disks.disk_size_kb', 'datatype': 'int', 'index' : false}, - { 'name' : 'file_system_view_stats.physical_disks.disk_used_kb', 'datatype': 'int', 'index' : false}, - { 'name' : 'file_system_view_stats.physical_disks.disk_available_kb', 'datatype': 'int', 'index' : false}, - { 'name' : 'file_system_view_stats.physical_disks.disk_used_percentage', 'datatype': 'int', 'index' : true}, - ] - }, - { - 'display_name' : 'Collector Message Stats', - 'stat_type' : 'SandeshMessageStat', - 'stat_attr' : 'msg_info', - 'obj_table' : GENERATOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'msg_info.type', 'datatype' : 'string', 'index' : true}, - { 'name' : 'msg_info.level', 'datatype' : 'string', 'index' : true}, - { 'name' : 'msg_info.messages', 'datatype' : 'int', 'index' : false}, - { 'name' : 'msg_info.bytes', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Sandesh Client Message Stats', - 'stat_type' : 'ModuleClientState', - 'stat_attr' : 'tx_msg_agg_diff.counters', - 'obj_table' : GENERATOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'tx_msg_agg_diff.counters.__key', 'datatype' : 'string', 'index' : true}, - { 'name' : 'tx_msg_agg_diff.counters.__value', 'datatype' : 'string', 'index' : false}, - ] - }, - { - 'display_name' : 'Generator Database Table Statistics', - 'stat_type' : 'GeneratorDbStats', - 'stat_attr' : 'table_info', - 'obj_table' : GENERATOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'table_info.table_name', 'datatype' : 'string', 'index' : true}, - { 'name' : 'table_info.reads', 'datatype' : 'int', 'index' : false}, - { 'name' : 'table_info.read_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'table_info.writes', 'datatype' : 'int', 'index' : false}, - { 'name' : 'table_info.write_fails', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Generator Statistics Database Table', - 'stat_type' : 'GeneratorDbStats', - 'stat_attr' : 'statistics_table_info', - 'obj_table' : GENERATOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'statistics_table_info.table_name', 'datatype' : 'string', 'index' : true}, - { 'name' : 'statistics_table_info.reads', 'datatype' : 'int', 'index' : false}, - { 'name' : 'statistics_table_info.read_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'statistics_table_info.writes', 'datatype' : 'int', 'index' : false}, - { 'name' : 'statistics_table_info.write_fails', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Generator Database Errors', - 'stat_type' : 'GeneratorDbStats', - 'stat_attr' : 'errors', - 'obj_table' : GENERATOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'errors.write_tablespace_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'errors.read_tablespace_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'errors.write_table_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'errors.read_table_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'errors.write_column_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'errors.write_batch_column_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'errors.read_column_fails', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Collector Database Table Statistics', - 'stat_type' : 'CollectorDbStats', - 'stat_attr' : 'table_info', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'table_info.table_name', 'datatype' : 'string', 'index' : true}, - { 'name' : 'table_info.reads', 'datatype' : 'int', 'index' : false}, - { 'name' : 'table_info.read_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'table_info.writes', 'datatype' : 'int', 'index' : false}, - { 'name' : 'table_info.write_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'table_info.write_back_pressure_fails', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Collector Statistics Database Table', - 'stat_type' : 'CollectorDbStats', - 'stat_attr' : 'statistics_table_info', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'statistics_table_info.table_name', 'datatype' : 'string', 'index' : true}, - { 'name' : 'statistics_table_info.reads', 'datatype' : 'int', 'index' : false}, - { 'name' : 'statistics_table_info.read_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'statistics_table_info.writes', 'datatype' : 'int', 'index' : false}, - { 'name' : 'statistics_table_info.write_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'statistics_table_info.write_back_pressure_fails', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Collector Database Errors', - 'stat_type' : 'CollectorDbStats', - 'stat_attr' : 'errors', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'errors.write_tablespace_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'errors.read_tablespace_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'errors.write_table_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'errors.read_table_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'errors.write_column_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'errors.write_batch_column_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'errors.read_column_fails', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Collector Database CQL Request Statistics', - 'stat_type' : 'CollectorDbStats', - 'stat_attr' : 'cql_stats', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'cql_stats.requests_one_minute_rate', 'datatype' : 'double', 'index' : false}, - ] - }, - { - 'display_name' : 'Collector Database CQL Cluster Statistics', - 'stat_type' : 'CollectorDbStats', - 'stat_attr' : 'cql_stats.stats', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'cql_stats.stats.total_connections', 'datatype' : 'int', 'index' : false}, - { 'name' : 'cql_stats.stats.available_connections', 'datatype' : 'int', 'index' : false}, - { 'name' : 'cql_stats.stats.exceeded_pending_requests_water_mark', 'datatype' : 'int', 'index' : false}, - { 'name' : 'cql_stats.stats.exceeded_write_bytes_water_mark', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Collector Database CQL Errors', - 'stat_type' : 'CollectorDbStats', - 'stat_attr' : 'cql_stats.errors', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'cql_stats.errors.connection_timeouts', 'datatype' : 'int', 'index' : false}, - { 'name' : 'cql_stats.errors.pending_request_timeouts', 'datatype' : 'int', 'index' : false}, - { 'name' : 'cql_stats.errors.request_timeouts', 'datatype' : 'int', 'index' : false}, - ] - }, { 'display_name' : 'Values Table - string', 'stat_type' : 'FieldNames' @@ -1588,165 +1226,6 @@ const list _STAT_TABLES = [ { 'name' : 'fieldi.value', 'datatype' : 'int', 'index' : false}, ] }, - { - 'display_name' : 'QE Performance', - 'stat_type' : 'QueryPerfInfo', - 'stat_attr' : 'query_stats', - 'obj_table' : 'NONE', - 'attributes': [ - { 'name' : 'table', 'datatype' : 'string','index' : true}, - { 'name' : 'name', 'datatype' : 'string','index' : true, 'suffixes': ['query_stats.qid']}, - { 'name' : 'query_stats.time', 'datatype' : 'int', 'index' : true}, - { 'name' : 'query_stats.rows', 'datatype' : 'int', 'index' : true}, - { 'name' : 'query_stats.qid', 'datatype' : 'string','index' : false}, - { 'name' : 'query_stats.where' ,'datatype' : 'string','index' : false}, - { 'name' : 'query_stats.select' ,'datatype' : 'string','index' : false}, - { 'name' : 'query_stats.post' ,'datatype' : 'string','index' : false}, - { 'name' : 'query_stats.time_span' ,'datatype' : 'int', 'index' : false}, - { 'name' : 'query_stats.chunks' ,'datatype' : 'int','index' : false}, - { 'name' : 'query_stats.chunk_where_time' ,'datatype' : 'string','index' : false}, - { 'name' : 'query_stats.chunk_select_time' ,'datatype' : 'string','index' : false}, - { 'name' : 'query_stats.chunk_postproc_time','datatype' : 'string','index' : false}, - { 'name' : 'query_stats.chunk_merge_time' ,'datatype' : 'string','index' : false}, - { 'name' : 'query_stats.final_merge_time' ,'datatype' : 'int','index' : false}, - { 'name' : 'query_stats.enq_delay' ,'datatype' : 'int','index' : false}, - { 'name' : 'query_stats.error' ,'datatype' : 'string','index' : false}, - ] - }, - { - 'display_name' : 'VN Agent', - 'stat_type' : 'UveVirtualNetworkAgent', - 'stat_attr' : 'vn_stats', - 'obj_table' : VN_TABLE, - 'attributes': [ - { 'name' : 'vn_stats.other_vn', 'datatype' : 'string', 'index' : true}, - { 'name' : 'vn_stats.vrouter', 'datatype' : 'string', 'index' : true}, - { 'name' : 'vn_stats.in_tpkts', 'datatype' : 'int', 'index' : false}, - { 'name' : 'vn_stats.in_bytes', 'datatype' : 'int', 'index' : false}, - { 'name' : 'vn_stats.out_tpkts', 'datatype' : 'int', 'index' : false}, - { 'name' : 'vn_stats.out_bytes', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'VN ACL Rule Statistics', - 'stat_type' : 'UveVirtualNetworkAgent', - 'stat_attr' : 'policy_rule_stats', - 'obj_table' : VN_TABLE, - 'attributes': [ - { 'name' : 'policy_rule_stats.rule', 'datatype' : 'string', 'index' : true}, - { 'name' : 'policy_rule_stats.count', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Database Purge Statistics', - 'stat_type' : 'DatabasePurgeInfo' - 'stat_attr' : 'stats', - 'obj_table' : DATABASE_INFO_TABLE, - 'attributes': [ - { 'name' : 'stats.purge_id', 'datatype' : 'string', 'index' : true}, - { 'name' : 'stats.request_time', 'datatype' : 'int', 'index' : true}, - { 'name' : 'stats.rows_deleted', 'datatype' : 'int', 'index' : true}, - { 'name' : 'stats.duration', 'datatype' : 'int', 'index' : true}, - { 'name' : 'stats.purge_status', 'datatype' : 'string', 'index' : true}, - { 'name' : 'stats.purge_status_details', 'datatype' : 'string', 'index' : false} - ] - }, - { - 'display_name' : 'Database Usage Statistics', - 'stat_type' : 'DatabaseUsageInfo' - 'stat_attr' : 'database_usage', - 'obj_table' : DATABASE_INFO_TABLE, - 'attributes': [ - { 'name' : 'database_usage.disk_space_used_1k', 'datatype' : 'int', 'index' : false}, - { 'name' : 'database_usage.disk_space_available_1k', 'datatype' : 'int', 'index' : false}, - { 'name' : 'database_usage.analytics_db_size_1k', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Analytics Protobuf Collector Transmit Socket Statistics', - 'stat_type' : 'ProtobufCollectorStats' - 'stat_attr' : 'tx_socket_stats', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'tx_socket_stats.bytes', 'datatype' : 'int', 'index' : false}, - { 'name' : 'tx_socket_stats.calls', 'datatype' : 'int', 'index' : false}, - { 'name' : 'tx_socket_stats.average_bytes', 'datatype' : 'double', 'index' : false}, - { 'name' : 'tx_socket_stats.blocked_duration', 'datatype' : 'string', 'index' : false}, - { 'name' : 'tx_socket_stats.blocked_count', 'datatype' : 'int', 'index' : false}, - { 'name' : 'tx_socket_stats.average_blocked_duration', 'datatype' : 'string', 'index' : false}, - { 'name' : 'tx_socket_stats.errors', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Analytics Protobuf Collector Receive Socket Statistics', - 'stat_type' : 'ProtobufCollectorStats' - 'stat_attr' : 'rx_socket_stats', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'rx_socket_stats.bytes', 'datatype' : 'int', 'index' : false}, - { 'name' : 'rx_socket_stats.calls', 'datatype' : 'int', 'index' : false}, - { 'name' : 'rx_socket_stats.average_bytes', 'datatype' : 'double', 'index' : false}, - { 'name' : 'rx_socket_stats.blocked_duration', 'datatype' : 'string', 'index' : false}, - { 'name' : 'rx_socket_stats.blocked_count', 'datatype' : 'int', 'index' : false}, - { 'name' : 'rx_socket_stats.average_blocked_duration', 'datatype' : 'string', 'index' : false}, - { 'name' : 'rx_socket_stats.errors', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Analytics Protobuf Collector Receive Message Statistics', - 'stat_type' : 'ProtobufCollectorStats' - 'stat_attr' : 'rx_message_stats', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'rx_message_stats.endpoint_name', 'datatype' : 'string', 'index' : true}, - { 'name' : 'rx_message_stats.message_name', 'datatype' : 'string', 'index' : true}, - { 'name' : 'rx_message_stats.messages', 'datatype' : 'int', 'index' : false}, - { 'name' : 'rx_message_stats.bytes', 'datatype' : 'int', 'index' : false}, - { 'name' : 'rx_message_stats.errors', 'datatype' : 'int', 'index' : false}, - { 'name' : 'rx_message_stats.last_timestamp', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Analytics Protobuf Collector Database Table', - 'stat_type' : 'ProtobufCollectorStats', - 'stat_attr' : 'db_table_info', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'db_table_info.table_name', 'datatype' : 'string', 'index' : true}, - { 'name' : 'db_table_info.reads', 'datatype' : 'int', 'index' : false}, - { 'name' : 'db_table_info.read_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'db_table_info.writes', 'datatype' : 'int', 'index' : false}, - { 'name' : 'db_table_info.write_fails', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Analytics Protobuf Collector Statistics Database Table', - 'stat_type' : 'ProtobufCollectorStats', - 'stat_attr' : 'db_statistics_table_info', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'db_statistics_table_info.table_name', 'datatype' : 'string', 'index' : true}, - { 'name' : 'db_statistics_table_info.reads', 'datatype' : 'int', 'index' : false}, - { 'name' : 'db_statistics_table_info.read_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'db_statistics_table_info.writes', 'datatype' : 'int', 'index' : false}, - { 'name' : 'db_statistics_table_info.write_fails', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Analytics Protobuf Collector Database Errors', - 'stat_type' : 'ProtobufCollectorStats', - 'stat_attr' : 'db_errors', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'db_errors.write_tablespace_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'db_errors.read_tablespace_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'db_errors.write_table_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'db_errors.read_table_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'db_errors.write_column_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'db_errors.write_batch_column_fails', 'datatype' : 'int', 'index' : false}, - { 'name' : 'db_errors.read_column_fails', 'datatype' : 'int', 'index' : false}, - ] - }, { 'display_name' : 'Physical Router Fabric Usage', 'stat_type' : 'TelemetryStream' @@ -1797,108 +1276,6 @@ const list _STAT_TABLES = [ { 'name' : UFLOW_OTHERINFO, 'datatype' : 'string', 'index' : false }, ] }, - { - 'display_name' : 'Alarmgen UVE Key Stats', - 'stat_type' : 'AlarmgenUpdate' - 'stat_attr' : 'o', - 'obj_table' : 'NONE', - 'attributes': [ - { 'name' : 'partition', 'datatype' : 'int', 'index' : true }, - { 'name' : 'table', 'datatype' : 'string', 'index' : true }, - { 'name' : 'o.keys', 'datatype' : 'int', 'index' : false }, - { 'name' : 'o.count', 'datatype' : 'int', 'index' : false }, - ] - }, - { - 'display_name' : 'Alarmgen Input Stats', - 'stat_type' : 'AlarmgenUpdate' - 'stat_attr' : 'i', - 'obj_table' : 'NONE', - 'attributes': [ - { 'name' : 'partition', 'datatype' : 'int', 'index' : true }, - { 'name' : 'table', 'datatype' : 'string', 'index' : true }, - { 'name' : 'i.collector', 'datatype' : 'string', 'index' : true }, - { 'name' : 'i.generator', 'datatype' : 'string', 'index' : true }, - { 'name' : 'i.type', 'datatype' : 'string', 'index' : true }, - { 'name' : 'i.count', 'datatype' : 'int', 'index' : false }, - ] - }, - { - 'display_name' : 'Alarmgen Counters', - 'stat_type' : 'AlarmgenStatus' - 'stat_attr' : 'counters', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string', 'index' : true, 'suffixes': ['counters.instance'] }, - { 'name' : 'counters.instance', 'datatype' : 'string', 'index' : false }, - { 'name' : 'counters.partitions','datatype' : 'int', 'index' : false }, - { 'name' : 'counters.keys', 'datatype' : 'int', 'index' : false }, - { 'name' : 'counters.updates', 'datatype' : 'int', 'index' : false }, - ] - }, - { - 'display_name' : 'Loadbalancer Listener Stats', - 'stat_type' : 'LoadbalancerStats' - 'stat_attr' : 'listener', - 'obj_table' : LB_TABLE, - 'attributes': [ - { 'name' : 'listener.obj_name', 'datatype' : 'string', 'index' : true }, - { 'name' : 'listener.__key', 'datatype' : 'string', 'index' : true }, - { 'name' : 'listener.status', 'datatype' : 'string', 'index' : false }, - { 'name' : 'listener.vrouter', 'datatype' : 'string', 'index' : true }, - { 'name' : 'listener.active_connections', 'datatype' : 'int', 'index' : false }, - { 'name' : 'listener.max_connections', 'datatype' : 'int', 'index' : false }, - { 'name' : 'listener.current_sessions', 'datatype' : 'int', 'index' : false }, - { 'name' : 'listener.max_sessions', 'datatype' : 'int', 'index' : false }, - { 'name' : 'listener.total_sessions', 'datatype' : 'int', 'index' : false }, - { 'name' : 'listener.bytes_in', 'datatype' : 'int', 'index' : false }, - { 'name' : 'listener.bytes_out', 'datatype' : 'int', 'index' : false }, - { 'name' : 'listener.connection_errors', 'datatype' : 'int', 'index' : false }, - { 'name' : 'listener.reponse_errors', 'datatype' : 'int', 'index' : false }, - ] - }, - { - 'display_name' : 'Loadbalancer Pool Stats', - 'stat_type' : 'LoadbalancerStats' - 'stat_attr' : 'pool', - 'obj_table' : LB_TABLE, - 'attributes': [ - { 'name' : 'pool.obj_name', 'datatype' : 'string', 'index' : true }, - { 'name' : 'pool.__key', 'datatype' : 'string', 'index' : true }, - { 'name' : 'pool.status', 'datatype' : 'string', 'index' : false }, - { 'name' : 'pool.vrouter', 'datatype' : 'string', 'index' : true }, - { 'name' : 'pool.active_connections', 'datatype' : 'int', 'index' : false }, - { 'name' : 'pool.max_connections', 'datatype' : 'int', 'index' : false }, - { 'name' : 'pool.current_sessions', 'datatype' : 'int', 'index' : false }, - { 'name' : 'pool.max_sessions', 'datatype' : 'int', 'index' : false }, - { 'name' : 'pool.total_sessions', 'datatype' : 'int', 'index' : false }, - { 'name' : 'pool.bytes_in', 'datatype' : 'int', 'index' : false }, - { 'name' : 'pool.bytes_out', 'datatype' : 'int', 'index' : false }, - { 'name' : 'pool.connection_errors', 'datatype' : 'int', 'index' : false }, - { 'name' : 'pool.reponse_errors', 'datatype' : 'int', 'index' : false }, - ] - }, - { - 'display_name' : 'Loadbalancer Member Stats', - 'stat_type' : 'LoadbalancerStats' - 'stat_attr' : 'member', - 'obj_table' : LB_TABLE, - 'attributes': [ - { 'name' : 'member.obj_name', 'datatype' : 'string', 'index' : true }, - { 'name' : 'member.__key', 'datatype' : 'string', 'index' : true }, - { 'name' : 'member.status', 'datatype' : 'string', 'index' : false }, - { 'name' : 'member.vrouter', 'datatype' : 'string', 'index' : true }, - { 'name' : 'member.active_connections', 'datatype' : 'int', 'index' : false }, - { 'name' : 'member.max_connections', 'datatype' : 'int', 'index' : false }, - { 'name' : 'member.current_sessions', 'datatype' : 'int', 'index' : false }, - { 'name' : 'member.max_sessions', 'datatype' : 'int', 'index' : false }, - { 'name' : 'member.total_sessions', 'datatype' : 'int', 'index' : false }, - { 'name' : 'member.bytes_in', 'datatype' : 'int', 'index' : false }, - { 'name' : 'member.bytes_out', 'datatype' : 'int', 'index' : false }, - { 'name' : 'member.connection_errors', 'datatype' : 'int', 'index' : false }, - { 'name' : 'member.reponse_errors', 'datatype' : 'int', 'index' : false }, - ] - }, { 'display_name' : 'Analytics Disk Usage Info', 'stat_type' : 'NodeStatus' @@ -2104,273 +1481,6 @@ const list _STAT_TABLES = [ { 'name' : 'system_mem_cpu_usage.cpu_share', 'datatype' : 'double', 'index' : true}, ] }, - { - 'display_name' : 'Virtual Machine Floating IP Statistics', - 'stat_type' : 'UveVMInterfaceAgent' - 'stat_attr' : 'fip_diff_stats', - 'obj_table' : VMI_TABLE, - 'attributes': [ - { 'name' : 'virtual_network', 'datatype' : 'string', 'index' : true }, - { 'name' : 'fip_diff_stats.ip_address', 'datatype' : 'string', 'index' : true }, - { 'name' : 'fip_diff_stats.in_pkts', 'datatype' : 'int', 'index' : false }, - { 'name' : 'fip_diff_stats.in_bytes', 'datatype' : 'int', 'index' : false }, - { 'name' : 'fip_diff_stats.out_pkts', 'datatype' : 'int', 'index' : false }, - { 'name' : 'fip_diff_stats.out_bytes', 'datatype' : 'int', 'index' : false } - ] - }, - { - 'display_name' : 'VMI ACL Rule Statistics', - 'stat_type' : 'UveVMInterfaceAgent', - 'stat_attr' : 'sg_rule_stats', - 'obj_table' : VMI_TABLE, - 'attributes': [ - { 'name' : 'sg_rule_stats.rule', 'datatype' : 'string', 'index' : true}, - { 'name' : 'sg_rule_stats.count', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'Virtual Machine Interface Statistics', - 'stat_type' : 'UveVMInterfaceAgent' - 'stat_attr' : 'if_stats', - 'obj_table' : VMI_TABLE, - 'attributes': [ - { 'name' : 'vm_name', 'datatype' : 'string', 'index' : true }, - { 'name' : 'vm_uuid', 'datatype' : 'string', 'index' : true }, - { 'name' : 'if_stats.in_pkts', 'datatype' : 'int', 'index' : false }, - { 'name' : 'if_stats.in_bytes', 'datatype' : 'int', 'index' : false }, - { 'name' : 'if_stats.out_pkts', 'datatype' : 'int', 'index' : false }, - { 'name' : 'if_stats.out_bytes', 'datatype' : 'int', 'index' : false }, - ] - }, - { - 'display_name' : 'Vrouter Flow Setup Statistics', - 'stat_type' : 'VrouterStatsAgent' - 'stat_attr' : 'flow_rate', - 'obj_table' : VROUTER_TABLE, - 'attributes': [ - { 'name' : 'flow_rate.added_flows', 'datatype' : 'int', 'index' : false }, - { 'name' : 'flow_rate.max_flow_adds_per_second', 'datatype' : 'int', 'index' : false }, - { 'name' : 'flow_rate.min_flow_adds_per_second', 'datatype' : 'int', 'index' : false }, - { 'name' : 'flow_rate.deleted_flows', 'datatype' : 'int', 'index' : false }, - { 'name' : 'flow_rate.max_flow_deletes_per_second', 'datatype' : 'int', 'index' : false }, - { 'name' : 'flow_rate.min_flow_deletes_per_second', 'datatype' : 'int', 'index' : false }, - { 'name' : 'flow_rate.active_flows', 'datatype' : 'int', 'index' : false } - ] - }, - { - 'display_name' : 'Analytics API Statistics', - 'stat_type' : 'AnalyticsApiStats', - 'stat_attr' : 'api_stats', - 'obj_table' : COLLECTOR_INFO_TABLE, - 'attributes' : [ - { 'name' : 'api_stats.operation_type', 'datatype' : 'string', 'index' : true }, - { 'name' : 'api_stats.remote_ip', 'datatype' : 'string', 'index' : true }, - { 'name' : 'api_stats.object_type', 'datatype' : 'string', 'index' : true }, - { 'name' : 'api_stats.request_url', 'datatype' : 'string', 'index' : false }, - { 'name' : 'api_stats.response_time_in_usec', 'datatype' : 'int', 'index' : false }, - { 'name' : 'api_stats.response_size_objects', 'datatype' : 'int', 'index' : false }, - { 'name' : 'api_stats.response_size_bytes', 'datatype' : 'int', 'index' : false }, - { 'name' : 'api_stats.node', 'datatype' : 'string', 'index' : false }, - { 'name' : 'api_stats.resp_code', 'datatype' : 'string', 'index' : false }, - { 'name' : 'api_stats.useragent', 'datatype' : 'string', 'index' : false }, - ] - }, - { - 'display_name' : 'Api Server Statistics', - 'stat_type' : 'VncApiStatsLog', - 'stat_attr' : 'api_stats', - 'obj_table' : CONFIG_OBJECT_TABLE, - 'attributes' : [ - { 'name' : 'api_stats.operation_type', 'datatype' : 'string', 'index' : true }, - { 'name' : 'api_stats.user', 'datatype' : 'string', 'index' : true }, - { 'name' : 'api_stats.useragent', 'datatype' : 'string', 'index' : true }, - { 'name' : 'api_stats.remote_ip', 'datatype' : 'string', 'index' : true }, - { 'name' : 'api_stats.domain_name', 'datatype' : 'string', 'index' : true, 'suffixes': ['api_stats.project_name'] }, - { 'name' : 'api_stats.project_name', 'datatype' : 'string', 'index' : false }, - { 'name' : 'api_stats.object_type', 'datatype' : 'string', 'index' : true }, - { 'name' : 'api_stats.response_time_in_usec', 'datatype' : 'double', 'index' : true }, - { 'name' : 'api_stats.response_size', 'datatype' : 'int', 'index' : true }, - { 'name' : 'api_stats.resp_code', 'datatype' : 'string', 'index' : true } - ] - }, - { - 'display_name' : 'Vrouter Physical Interface Input bandwidth Statistics', - 'stat_type' : 'VrouterStatsAgent' - 'stat_attr' : 'phy_band_in_bps', - 'obj_table' : VROUTER_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string', 'index' : true, 'suffixes': ['phy_band_in_bps.__key'] }, - { 'name' : 'phy_band_in_bps.__key', 'datatype' : 'string', 'index' : false }, - { 'name' : 'phy_band_in_bps.__value', 'datatype' : 'int', 'index' : false }, - ] - }, - { - 'display_name' : 'Vrouter Physical Interface Output bandwidth Statistics', - 'stat_type' : 'VrouterStatsAgent' - 'stat_attr' : 'phy_band_out_bps', - 'obj_table' : VROUTER_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string', 'index' : true, 'suffixes': ['phy_band_out_bps.__key'] }, - { 'name' : 'phy_band_out_bps.__key', 'datatype' : 'string', 'index' : false }, - { 'name' : 'phy_band_out_bps.__value', 'datatype' : 'int', 'index' : false }, - ] - }, - { - 'display_name' : 'Routing Instance Information', - 'stat_type' : 'RoutingInstanceStatsData', - 'stat_attr' : 'table_stats', - 'obj_table' : ROUTING_INSTANCE_TABLE, - 'attributes': [ - { 'name' : 'table_stats.address_family', 'datatype' : 'string', 'index' : true}, - { 'name' : 'table_stats.prefixes', 'datatype' : 'int', 'index' : false}, - { 'name' : 'table_stats.primary_paths', 'datatype' : 'int', 'index' : false}, - { 'name' : 'table_stats.secondary_paths', 'datatype' : 'int', 'index' : false}, - { 'name' : 'table_stats.infeasible_paths', 'datatype' : 'int', 'index' : false}, - { 'name' : 'table_stats.total_paths', 'datatype' : 'int', 'index' : false}, - ] - }, - { - 'display_name' : 'User defined counters', - 'stat_type' : 'UserDefinedCounter', - 'stat_attr' : 'count', - 'obj_table' : USR_DEF_COUNTER_TABLE, - 'attributes': [ - { 'name' : 'count.previous', 'datatype' : 'int', 'index' : false}, - ] - }, - -#ifdef BROADVIEW_RECEIVER_SUPPORT - { - 'display_name' : 'Broadview ingress-port-priority-group', - 'stat_type' : 'PRouterBroadViewInfo', - 'stat_attr' : 'ingressPortPriorityGroup', - 'obj_table' : PROUTER_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string','index' : true}, - { 'name' : 'asic_id', 'datatype' : 'string','index' : true}, - { 'name' : 'ingressPortPriorityGroup.port', 'datatype' : 'string','index' : true}, - { 'name' : 'ingressPortPriorityGroup.priorityGroup', 'datatype' : 'int','index' : true}, - { 'name' : 'ingressPortPriorityGroup.umShareBufferCount', 'datatype' : 'int','index' : false}, - { 'name' : 'ingressPortPriorityGroup.umHeadroomBufferCount', 'datatype' : 'int','index' : false}, - ] - }, - { - 'display_name' : 'Broadview ingress-port-service-pool', - 'stat_type' : 'PRouterBroadViewInfo', - 'stat_attr' : 'ingressPortServicePool', - 'obj_table' : PROUTER_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string','index' : true}, - { 'name' : 'asic_id', 'datatype' : 'string','index' : true}, - { 'name' : 'ingressPortServicePool.port', 'datatype' : 'string','index' : true}, - { 'name' : 'ingressPortServicePool.servicePool', 'datatype' : 'int','index' : true}, - { 'name' : 'ingressPortServicePool.umShareBufferCount', 'datatype' : 'int','index' : false}, - ] - }, - { - 'display_name' : 'Broadview ingress-service-pool', - 'stat_type' : 'PRouterBroadViewInfo', - 'stat_attr' : 'ingressServicePool', - 'obj_table' : PROUTER_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string','index' : true}, - { 'name' : 'asic_id', 'datatype' : 'string','index' : true}, - { 'name' : 'ingressServicePool.servicePool', 'datatype' : 'int','index' : true}, - { 'name' : 'ingressServicePool.umShareBufferCount', 'datatype' : 'int','index' : false}, - ] - }, - { - 'display_name' : 'Broadview egress-port-service-pool', - 'stat_type' : 'PRouterBroadViewInfo', - 'stat_attr' : 'egressPortServicePool', - 'obj_table' : PROUTER_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string','index' : true}, - { 'name' : 'asic_id', 'datatype' : 'string','index' : true}, - { 'name' : 'egressPortServicePool.port', 'datatype' : 'string','index' : true}, - { 'name' : 'egressPortServicePool.servicePool', 'datatype' : 'int','index' : true}, - { 'name' : 'egressPortServicePool.ucShareBufferCount', 'datatype' : 'int','index' : false}, - { 'name' : 'egressPortServicePool.umShareBufferCount', 'datatype' : 'int','index' : false}, - { 'name' : 'egressPortServicePool.mcShareBufferCount', 'datatype' : 'int','index' : false}, - { 'name' : 'egressPortServicePool.mcShareQueueEntries', 'datatype' : 'int','index' : false}, - ] - }, - { - 'display_name' : 'Broadview egress-service-pool', - 'stat_type' : 'PRouterBroadViewInfo', - 'stat_attr' : 'egressServicePool', - 'obj_table' : PROUTER_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string','index' : true}, - { 'name' : 'asic_id', 'datatype' : 'string','index' : true}, - { 'name' : 'egressServicePool.servicePool', 'datatype' : 'int','index' : true}, - { 'name' : 'egressServicePool.umShareBufferCount', 'datatype' : 'int','index' : false}, - { 'name' : 'egressServicePool.mcShareBufferCount', 'datatype' : 'int','index' : false}, - { 'name' : 'egressServicePool.mcShareQueueEntries', 'datatype' : 'int','index' : false}, - ] - }, - { - 'display_name' : 'Broadview egress-uc-queue', - 'stat_type' : 'PRouterBroadViewInfo', - 'stat_attr' : 'egressUcQueue', - 'obj_table' : PROUTER_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string','index' : true}, - { 'name' : 'asic_id', 'datatype' : 'string','index' : true}, - { 'name' : 'egressUcQueue.queue', 'datatype' : 'int','index' : true}, - { 'name' : 'egressUcQueue.ucBufferCount', 'datatype' : 'int','index' : false}, - ] - }, - { - 'display_name' : 'Broadview egress-uc-queue-group', - 'stat_type' : 'PRouterBroadViewInfo', - 'stat_attr' : 'egressUcQueueGroup', - 'obj_table' : PROUTER_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string','index' : true}, - { 'name' : 'asic_id', 'datatype' : 'string','index' : true}, - { 'name' : 'egressUcQueueGroup.queueGroup', 'datatype' : 'int','index' : true}, - { 'name' : 'egressUcQueueGroup.ucBufferCount', 'datatype' : 'int','index' : false}, - ] - }, - { - 'display_name' : 'Broadview egress-mc-queue', - 'stat_type' : 'PRouterBroadViewInfo', - 'stat_attr' : 'egressMcQueue', - 'obj_table' : PROUTER_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string','index' : true}, - { 'name' : 'asic_id', 'datatype' : 'string','index' : true}, - { 'name' : 'egressMcQueue.queue', 'datatype' : 'int','index' : true}, - { 'name' : 'egressMcQueue.mcBufferCount', 'datatype' : 'int','index' : false}, - { 'name' : 'egressMcQueue.mcQueueEntries', 'datatype' : 'int','index' : false}, - ] - }, - { - 'display_name' : 'Broadview egress-cpu-queue', - 'stat_type' : 'PRouterBroadViewInfo', - 'stat_attr' : 'egressCpuQueue', - 'obj_table' : PROUTER_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string','index' : true}, - { 'name' : 'asic_id', 'datatype' : 'string','index' : true}, - { 'name' : 'egressCpuQueue.queue', 'datatype' : 'int','index' : true}, - { 'name' : 'egressCpuQueue.cpuBufferCount', 'datatype' : 'int','index' : false}, - ] - }, - { - 'display_name' : 'Broadview egress-rqe-queue', - 'stat_type' : 'PRouterBroadViewInfo', - 'stat_attr' : 'egressRqeQueue', - 'obj_table' : PROUTER_TABLE, - 'attributes': [ - { 'name' : 'name', 'datatype' : 'string','index' : true}, - { 'name' : 'asic_id', 'datatype' : 'string','index' : true}, - { 'name' : 'egressRqeQueue.queue', 'datatype' : 'int','index' : true}, - { 'name' : 'egressRqeQueue.rqeBufferCount', 'datatype' : 'int','index' : false}, - ] - }, -#endif //BROADVIEW_RECEIVER_SUPPORT ] const list _TABLES = [ diff --git a/src/bgp/bgp_table.sandesh b/src/bgp/bgp_table.sandesh index bcd337d5742..f4f8afb01b0 100644 --- a/src/bgp/bgp_table.sandesh +++ b/src/bgp/bgp_table.sandesh @@ -7,6 +7,7 @@ include "bgp/table_info.sandesh" struct RoutingInstanceStatsData { 1: string name (key="ObjectRoutingInstance"); 2: optional bool deleted + /** @display_name:Routung Instance Information*/ 3: optional map table_stats (tags=".__key"); } diff --git a/src/config/uve/cfgm_cpuinfo.sandesh b/src/config/uve/cfgm_cpuinfo.sandesh index e6ce4161573..9a62f3b7134 100644 --- a/src/config/uve/cfgm_cpuinfo.sandesh +++ b/src/config/uve/cfgm_cpuinfo.sandesh @@ -34,6 +34,7 @@ uve sandesh ModuleCpuStateTrace { struct ConfigCpuState { 1: string name (key="ObjectConfigNode") 2: optional bool deleted + /** @display_name:Config CPU Information*/ 3: optional list cpu_info (tags=".module_id,.mem_virt,.cpu_share,.mem_res",aggtype="union") } diff --git a/src/config/uve/vnc_api.sandesh b/src/config/uve/vnc_api.sandesh index e2aa4f2564b..7ce8742ca46 100644 --- a/src/config/uve/vnc_api.sandesh +++ b/src/config/uve/vnc_api.sandesh @@ -75,5 +75,6 @@ struct VncApiStats { * @action: No action needed */ objectlog sandesh VncApiStatsLog { +/** @display_name:Api Server Statistics*/ 1: VncApiStats api_stats (tags=".operation_type,.user,.useragent,.remote_ip,.domain_name:.project_name,.object_type,.response_time_in_usec,.response_size,.resp_code") } diff --git a/src/control-node/sandesh/control_node.sandesh b/src/control-node/sandesh/control_node.sandesh index 05660c7ed40..f88b2c73a3b 100644 --- a/src/control-node/sandesh/control_node.sandesh +++ b/src/control-node/sandesh/control_node.sandesh @@ -64,6 +64,7 @@ request sandesh ShutdownControlNodeReq { struct ControlCpuState { 1: string name (key="ObjectBgpRouter") 2: optional bool deleted + /** @display_name:Control CPU Information*/ 3: optional list cpu_info (tags=".module_id,.mem_virt,.cpu_share,.mem_res", aggtype="union") } diff --git a/src/database/cassandra/cql/cql.sandesh b/src/database/cassandra/cql/cql.sandesh index d1be555ad9d..f9303434a42 100644 --- a/src/database/cassandra/cql/cql.sandesh +++ b/src/database/cassandra/cql/cql.sandesh @@ -42,6 +42,8 @@ struct Metrics { struct DbStats { 1: double requests_one_minute_rate; + /** @display_name:Collector Database CQL Cluster Statistics*/ 2: ClusterStats stats (tags=""); + /** @display_name:Collector Database CQL Errors*/ 3: ClusterErrors errors (tags=""); } diff --git a/src/opserver/alarmgen_ctrl.sandesh b/src/opserver/alarmgen_ctrl.sandesh index 3fffc917652..016a71c2539 100644 --- a/src/opserver/alarmgen_ctrl.sandesh +++ b/src/opserver/alarmgen_ctrl.sandesh @@ -175,7 +175,9 @@ objectlog sandesh AlarmgenUpdate { 1: string name (key="ObjectGeneratorInfo") 3: u32 partition 4: string table + /** @display_name:Alarmgen UVE Key Stats */ 5: UVETableCount o (tags="partition,table") + /** @display_name:Alarmgen Input Stats */ 6: list i (tags="partition,table,.collector,.generator,.type") } @@ -191,6 +193,7 @@ struct AlarmgenStats { */ struct AlarmgenStatus { 1: string name (key="ObjectCollectorInfo") + /** @display_name:Alarmgen Counters*/ 2: list counters (tags="name:.instance",aggtype="union") 4: list alarmgens (aggtype="union",ulink="ObjectGeneratorInfo:ModuleClientState") 3: optional bool deleted diff --git a/src/opserver/analytics_database.sandesh b/src/opserver/analytics_database.sandesh index 123a18a7591..1d0ef18e98d 100644 --- a/src/opserver/analytics_database.sandesh +++ b/src/opserver/analytics_database.sandesh @@ -34,5 +34,6 @@ struct DatabasePurgeStats { */ objectlog sandesh DatabasePurgeInfo { 1: string name (key="ObjectDatabaseInfo") + /** @display_name:Database Purge Statistics*/ 2: DatabasePurgeStats stats (tags=".purge_id, .purge_status, .request_time, .rows_deleted, .duration") } diff --git a/src/opserver/opserver.py b/src/opserver/opserver.py index 3fe5c0b1d5f..94450af961a 100644 --- a/src/opserver/opserver.py +++ b/src/opserver/opserver.py @@ -597,8 +597,41 @@ def __init__(self, args_str=' '.join(sys.argv[1:])): columnvalues=_OBJECT_TABLE_COLUMN_VALUES) self._VIRTUAL_TABLES.append(obj) + stat_tables = [] + # read the stat table schemas from vizd first for t in _STAT_TABLES: - stat_id = t.stat_type + "." + t.stat_attr + attributes = [] + for attr in t.attributes: + suffixes = [] + if attr.suffixes: + for suffix in attr.suffixes: + suffixes.append(suffix) + attributes.append({"name":attr.name,"datatype":attr.datatype,"index":attr.index,"suffixes":suffixes}) + new_table = {"stat_type":t.stat_type, + "stat_attr":t.stat_attr, + "display_name":t.display_name, + "obj_table":t.obj_table, + "attributes":attributes} + stat_tables.append(new_table) + + # read all the json files for remaining stat table schema + topdir = '/usr/share/doc/contrail-docs/html/messages/' + extn = '.json' + stat_schema_files = [] + for dirpath, dirnames, files in os.walk(topdir): + for name in files: + if name.lower().endswith(extn): + stat_schema_files.append(os.path.join(dirpath, name)) + for schema_file in stat_schema_files: + with open(schema_file) as data_file: + data = json.load(data_file) + for _, tables in data.iteritems(): + for table in tables: + if table not in stat_tables: + stat_tables.append(table) + + for table in stat_tables: + stat_id = table["stat_type"] + "." + table["stat_attr"] scols = [] keyln = stat_query_column(name=STAT_SOURCE_FIELD, datatype='string', index=True) @@ -621,35 +654,39 @@ def __init__(self, args_str=' '.join(sys.argv[1:])): uln = stat_query_column(name=STAT_UUID_FIELD, datatype='uuid', index=False) scols.append(uln) - cln = stat_query_column(name="COUNT(" + t.stat_attr + ")", + cln = stat_query_column(name="COUNT(" + table["stat_attr"] + ")", datatype='int', index=False) scols.append(cln) isname = False - for aln in t.attributes: - if aln.name==STAT_OBJECTID_FIELD: + for aln in table["attributes"]: + if aln["name"]==STAT_OBJECTID_FIELD: isname = True - scols.append(aln) - if aln.datatype in ['int','double']: - sln = stat_query_column(name= "SUM(" + aln.name + ")", - datatype=aln.datatype, index=False) + if "suffixes" in aln.keys(): + aln_col = stat_query_column(name=aln["name"], datatype=aln["datatype"], index=aln["index"], suffixes=aln["suffixes"]); + else: + aln_col = stat_query_column(name=aln["name"], datatype=aln["datatype"], index=aln["index"]); + scols.append(aln_col) + + if aln["datatype"] in ['int','double']: + sln = stat_query_column(name= "SUM(" + aln["name"] + ")", + datatype=aln["datatype"], index=False) scols.append(sln) - scln = stat_query_column(name= "CLASS(" + aln.name + ")", - datatype=aln.datatype, index=False) + scln = stat_query_column(name= "CLASS(" + aln["name"] + ")", + datatype=aln["datatype"], index=False) scols.append(scln) - sln = stat_query_column(name= "MAX(" + aln.name + ")", - datatype=aln.datatype, index=False) + sln = stat_query_column(name= "MAX(" + aln["name"] + ")", + datatype=aln["datatype"], index=False) scols.append(sln) - scln = stat_query_column(name= "MIN(" + aln.name + ")", - datatype=aln.datatype, index=False) + scln = stat_query_column(name= "MIN(" + aln["name"] + ")", + datatype=aln["datatype"], index=False) scols.append(scln) - scln = stat_query_column(name= "PERCENTILES(" + aln.name + ")", + scln = stat_query_column(name= "PERCENTILES(" + aln["name"] + ")", datatype='percentiles', index=False) scols.append(scln) - scln = stat_query_column(name= "AVG(" + aln.name + ")", + scln = stat_query_column(name= "AVG(" + aln["name"] + ")", datatype='avg', index=False) scols.append(scln) - if not isname: keyln = stat_query_column(name=STAT_OBJECTID_FIELD, datatype='string', index=True) scols.append(keyln) @@ -658,7 +695,7 @@ def __init__(self, args_str=' '.join(sys.argv[1:])): stt = query_table( name = STAT_VT_PREFIX + "." + stat_id, - display_name = t.display_name, + display_name = table["display_name"], schema = sch, columnvalues = [STAT_OBJECTID_FIELD, SOURCE]) self._VIRTUAL_TABLES.append(stt) @@ -2144,7 +2181,9 @@ def generator_info(self, table, column): return self._LEVEL_LIST elif (column == STAT_OBJECTID_FIELD): objtab = None - for t in _STAT_TABLES: + for t in self._VIRTUAL_TABLES: + if t.schema.type == 'STAT': + self._logger.error("found stat table %s" % t) stat_table = STAT_VT_PREFIX + "." + \ t.stat_type + "." + t.stat_attr if (table == stat_table): diff --git a/src/opserver/stats.py b/src/opserver/stats.py old mode 100755 new mode 100644 index 35ec980a877..0678b8b6a6f --- a/src/opserver/stats.py +++ b/src/opserver/stats.py @@ -11,6 +11,7 @@ # import sys +import os import argparse import json import datetime @@ -20,9 +21,6 @@ import sandesh.viz.constants as VizConstants from pysandesh.gen_py.sandesh.ttypes import SandeshType, SandeshLevel -STAT_TABLE_LIST = [xx.stat_type + "." + xx.stat_attr for xx in VizConstants._STAT_TABLES] - - class StatQuerier(object): def __init__(self): @@ -31,7 +29,26 @@ def __init__(self): # Public functions def run(self): - if self.parse_args() != 0: + topdir = '/usr/share/doc/contrail-docs/html/messages/' + extn = '.json' + stat_schema_files = [] + for dirpath, dirnames, files in os.walk(topdir): + for name in files: + if name.lower().endswith(extn): + stat_schema_files.append(os.path.join(dirpath, name)) + stat_tables = [] + for schema_file in stat_schema_files: + with open(schema_file) as data_file: + data = json.load(data_file) + for _, tables in data.iteritems(): + for table in tables: + if table not in stat_tables: + stat_tables.append(table) + stat_table_list = [xx.stat_type + "." + xx.stat_attr for xx in VizConstants._STAT_TABLES] + stat_table_list.extend([xx["stat_type"] + "." + xx["stat_attr"] for xx + in stat_tables]) + + if self.parse_args(stat_table_list) != 0: return if len(self._args.select)==0 and self._args.dtable is None: @@ -57,7 +74,7 @@ def run(self): result = self.query() self.display(result) - def parse_args(self): + def parse_args(self, stat_table_list): """ Eg. python stats.py --analytics-api-ip 127.0.0.1 --analytics-api-port 8181 @@ -90,7 +107,7 @@ def parse_args(self): parser.add_argument( "--last", help="Logs from last time period (format 10m, 1d)") parser.add_argument( - "--table", help="StatTable to query", choices=STAT_TABLE_LIST) + "--table", help="StatTable to query", choices=stat_table_list) parser.add_argument( "--dtable", help="Dynamic StatTable to query") parser.add_argument( diff --git a/src/opserver/test/test_stats.py b/src/opserver/test/test_stats.py index d6915de2bf0..3e0cce3ae23 100755 --- a/src/opserver/test/test_stats.py +++ b/src/opserver/test/test_stats.py @@ -47,11 +47,11 @@ def test_1_analytics_cpu_query(self): test_num = 1 argv = sys.argv - sys.argv = "contrail-stats --table AnalyticsCpuState.cpu_info --select T=60 SUM(cpu_info.cpu_share) --where name=*".split() + sys.argv = "contrail-stats --table NodeStatus.process_mem_cpu_usage --select T=60 SUM(process_mem_cpu_usage.cpu_share) --where name=*".split() self._querier.run() sys.argv = argv - expected_result_str = '{"start_time": "now-10m", "end_time": "now", "select_fields": ["T=60", "SUM(cpu_info.cpu_share)"], "table": "StatTable.AnalyticsCpuState.cpu_info", "where": [[{"suffix": null, "value2": null, "name": "name", "value": "", "op": 7}]]}' + expected_result_str = '{"start_time": "now-10m", "end_time": "now", "select_fields": ["T=60", "SUM(process_mem_cpu_usage.cpu_share)"], "table": "StatTable.NodeStatus.process_mem_cpu_usage", "where": [[{"suffix": null, "value2": null, "name": "name", "value": "", "op": 7}]]}' expected_result_dict = json.loads(expected_result_str) for key in expected_result_dict: self.assertTrue(key in query_dict) diff --git a/src/server-manager/monitoring/ipmi/SConscript b/src/server-manager/monitoring/ipmi/SConscript index 2045fbedf28..d83d4dd4900 100644 --- a/src/server-manager/monitoring/ipmi/SConscript +++ b/src/server-manager/monitoring/ipmi/SConscript @@ -17,9 +17,15 @@ sources += env.SandeshGenPy( 'monitoring.sandesh', 'contrail_sm_monitoring/', False) +MonitoringDocFiles = [] +MonitoringDocFiles += env.SandeshGenDoc('monitoring.sandesh') + cd_cmd = 'cd ' + Dir('.').path + ' && ' if 'install_contrail_sm_monitoring' in BUILD_TARGETS: install_cmd = env.Command(None, sources, cd_cmd + 'python setup.py install %s' % env['PYTHON_INSTALL_OPT']) env.Alias('install_contrail_sm_monitoring', install_cmd) + env.Alias('install', env.Install( + env['INSTALL_MESSAGE_DOC'] + '/contrail-sm-monitoring/', + MonitoringDocFiles)) diff --git a/src/server-manager/monitoring/ipmi/monitoring.sandesh b/src/server-manager/monitoring/ipmi/monitoring.sandesh index 577762d9714..af16d585463 100644 --- a/src/server-manager/monitoring/ipmi/monitoring.sandesh +++ b/src/server-manager/monitoring/ipmi/monitoring.sandesh @@ -70,17 +70,21 @@ struct file_system_view { 5: optional u32 used_percentage 6: optional string mountpoint 7: optional string type + /** @display_name:Server Monitoring File System Stats Info*/ 8: optional list physical_disks (tags=".disk_name,.disk_used_percentage") } struct ServerMonitoringInfo { 1: string name (key="ObjectServerTable") 2: optional bool deleted + /** @display_name:Server Monitoring Sensor Stats Info*/ 3: optional list sensor_stats (tags=".sensor,.sensor_type") 4: optional IpmiChassis_status_info chassis_state + /** @display_name:Server Monitoring Disk Stats Info*/ 5: optional list disk_usage_stats (tags=".disk_name") 6: optional list disk_usage_totals 7: optional list network_info_totals + /** @display_name:Server Monitoring File System View Stats Info*/ 8: optional list file_system_view_stats (tags="name:.fs_name,.used_percentage") } @@ -91,7 +95,9 @@ uve sandesh ServerMonitoringInfoUve { struct ServerMonitoringSummary { 1: string name (key="ObjectServerTable") 2: optional bool deleted + /** @display_name:Server Monitoring Resource Stats Info*/ 3: optional resource_info resource_info_stats (tags="") + /** @display_name:Server Monitoring Interface Stats Info*/ 4: optional list network_info_stats (tags=".interface_name") } diff --git a/src/storage/stats-daemon/SConscript b/src/storage/stats-daemon/SConscript index 20bcaec276f..1dfdc4cd923 100644 --- a/src/storage/stats-daemon/SConscript +++ b/src/storage/stats-daemon/SConscript @@ -17,6 +17,8 @@ sources += env.SandeshGenPy( 'storage.sandesh', 'stats_daemon/sandesh/', False) +StorageDocFiles = [] +StorageDocFiles += env.SandeshGenDoc('storage.sandesh') test_sources = sources packages = [ @@ -63,6 +65,9 @@ if 'install_stats_daemon' in BUILD_TARGETS: env.Command(None, sources, cd_cmd + 'python setup.py install %s' % env['PYTHON_INSTALL_OPT'])) + env.Alias('install', env.Install( + env['INSTALL_MESSAGE_DOC'] + '/contrail-storage/', + StorageDocFiles)) env.Alias('install_stats_daemon', env.Install(env['INSTALL_CONF'], 'stats-daemon.conf')) # Local Variables: diff --git a/src/storage/stats-daemon/storage.sandesh b/src/storage/stats-daemon/storage.sandesh index fe98b7a0fb6..dc5ed844dc5 100644 --- a/src/storage/stats-daemon/storage.sandesh +++ b/src/storage/stats-daemon/storage.sandesh @@ -12,6 +12,7 @@ struct PoolStats { struct ComputeStoragePool { 1: string name (key="ObjectPoolTable") 2: optional bool deleted + /** @display_name:Storage Pool Info*/ 3: optional list info_stats (tags="") } @@ -40,6 +41,7 @@ struct ComputeStorageOsd { 1: string name (key="ObjectOsdTable") 2: optional bool deleted 3: string uuid; + /** @display_name:Storage Device Info*/ 4: optional list info_stats (tags="uuid") 5: optional ComputeStorageOsdState info_state } @@ -63,6 +65,7 @@ struct ComputeStorageDisk { 1: string name (key="ObjectDiskTable") 2: optional bool deleted 3: string uuid; + /** @display_name:Storage Raw Device Info*/ 4: optional list info_stats (tags="uuid") 5: optional string is_osd_disk; 6: optional u64 current_disk_usage; @@ -94,6 +97,7 @@ struct StorageCluster { 1: string name (key="ObjectStorageClusterTable") 2: optional bool deleted 3: string cluster_id; + /** @display_name:Storage Cluster Info*/ 4: optional list info_stats (tags="") } diff --git a/src/vnsw/agent/uve/interface.sandesh b/src/vnsw/agent/uve/interface.sandesh index 11e8fd2837a..2eaf33a7747 100644 --- a/src/vnsw/agent/uve/interface.sandesh +++ b/src/vnsw/agent/uve/interface.sandesh @@ -74,7 +74,9 @@ struct UveVMInterfaceAgent { 15: optional list floating_ips; /* List of Floating Ips along with total stats */ 16: optional list fip_agg_stats; + /** @display_name:Virtual Machine Floating IP Statistics*/ 17: optional list fip_diff_stats (tags=".virtual_network,.ip_address") + /** @display_name:Virtual Machine Interface Statistics*/ 18: optional VmInterfaceStats if_stats (tags="vm_name,vm_uuid") 19: string vm_uuid; 20: optional u64 in_bw_usage; @@ -82,6 +84,7 @@ struct UveVMInterfaceAgent { 22: optional bool ip4_active; 23: optional bool is_health_check_active; 24: optional list health_check_instance_list; + /** @display_name:VMI ACL Rule Statistics*/ 25: optional list sg_rule_stats (tags=".rule"); } diff --git a/src/vnsw/agent/uve/loadbalancer.sandesh b/src/vnsw/agent/uve/loadbalancer.sandesh index 8f45705b292..9308f2911db 100644 --- a/src/vnsw/agent/uve/loadbalancer.sandesh +++ b/src/vnsw/agent/uve/loadbalancer.sandesh @@ -37,8 +37,11 @@ struct LoadbalancerStats { struct UveLoadbalancerStats { 10: string name (key="ObjectLBTable") 11: optional bool deleted + /** @display_name:Loadbalancer Listener Stats */ 12: optional map listener (tags=".__key,.obj_name,.vrouter",aggtype="union"); + /** @display_name:Loadbalancer Pool Stats */ 13: optional map pool (tags=".__key,.obj_name,.vrouter",aggtype="union"); + /** @display_name:Loadbalancer Member Stats */ 14: optional map member (tags=".__key,.obj_name,.vrouter",aggtype="union"); } diff --git a/src/vnsw/agent/uve/virtual_machine.sandesh b/src/vnsw/agent/uve/virtual_machine.sandesh index f7f246d5180..a501db5f107 100644 --- a/src/vnsw/agent/uve/virtual_machine.sandesh +++ b/src/vnsw/agent/uve/virtual_machine.sandesh @@ -54,6 +54,7 @@ uve sandesh UveVirtualMachineAgentTrace { struct VirtualMachineStats { 1: string name (key="ObjectVMTable") 2: optional bool deleted + /** @display_name:VM CPU Stats*/ 5: optional list cpu_stats (tags="") } diff --git a/src/vnsw/agent/uve/virtual_network.sandesh b/src/vnsw/agent/uve/virtual_network.sandesh index aebdb6c7cc1..6aa2be80b1d 100644 --- a/src/vnsw/agent/uve/virtual_network.sandesh +++ b/src/vnsw/agent/uve/virtual_network.sandesh @@ -146,9 +146,11 @@ struct UveVirtualNetworkAgent { 20: optional u64 in_bandwidth_usage (aggtype="sum") 21: optional u64 out_bandwidth_usage (aggtype="sum") 22: optional list vrf_stats_list (aggtype="append") + /** @display_name:VN Agent*/ 23: optional list vn_stats (tags=".other_vn,.vrouter") 24: optional u32 ingress_flow_count (aggtype="sum") 25: optional u32 egress_flow_count (aggtype="sum") + /** @display_name:VN ACL Rule Statistics*/ 26: optional list policy_rule_stats (tags=".rule",aggtype="union") } diff --git a/src/vnsw/agent/uve/vrouter.sandesh b/src/vnsw/agent/uve/vrouter.sandesh index 5098b128d32..00f2aa5056b 100644 --- a/src/vnsw/agent/uve/vrouter.sandesh +++ b/src/vnsw/agent/uve/vrouter.sandesh @@ -232,8 +232,11 @@ struct VrouterStatsAgent { // Agent stats 41: optional list tcp_dport_bitmap; 43: optional double total_in_bandwidth_utilization; 44: optional double total_out_bandwidth_utilization; + /** @display_name:Vrouter Flow Setup Statistics*/ 45: optional VrouterFlowRate flow_rate (tags="") + /** @display_name:Vrouter Physical Interface Input bandwidth Statistics*/ 50: optional map phy_band_in_bps (tags="name:.__key") + /** @display_name:Vrouter Physical Interface Output bandwidth Statistics*/ 51: optional map phy_band_out_bps (tags="name:.__key") 52: optional map in_bps_ewm (mstats="phy_band_in_bps:DSEWM:0.2") 53: optional map out_bps_ewm (mstats="phy_band_out_bps:DSEWM:0.2") @@ -265,6 +268,7 @@ struct VrouterCpuInfo { struct ComputeCpuState { 1: string name (key="ObjectVRouter") 2: optional bool deleted + /** @display_name:Compute CPU Information*/ 3: optional list cpu_info (tags=".mem_virt,.cpu_share,.mem_res", aggtype="union") }