diff --git a/tests/fixtures/centos-7.7/mpstat-A-2-5.json b/tests/fixtures/centos-7.7/mpstat-A-2-5.json new file mode 100644 index 00000000..4fb6a882 --- /dev/null +++ b/tests/fixtures/centos-7.7/mpstat-A-2-5.json @@ -0,0 +1 @@ +[{"cpu":"all","percent_usr":0.0,"percent_nice":0.0,"percent_sys":0.5,"percent_iowait":0.0,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":99.5,"type":"cpu","time":"03:16:17 PM"},{"cpu":"0","percent_usr":0.0,"percent_nice":0.0,"percent_sys":0.5,"percent_iowait":0.0,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":99.5,"type":"cpu","time":"03:16:17 PM"},{"cpu":"all","intr_s":55.5,"type":"interrupts","time":"03:16:17 PM"},{"cpu":"0","intr_s":54.0,"type":"interrupts","time":"03:16:17 PM"},{"cpu":"0","0_s":0.0,"1_s":0.0,"4_s":0.0,"8_s":0.0,"9_s":0.0,"12_s":0.0,"14_s":0.0,"15_s":1.0,"16_s":4.5,"17_s":0.0,"18_s":0.0,"19_s":1.5,"24_s":0.0,"25_s":0.0,"26_s":0.0,"27_s":0.0,"28_s":0.0,"29_s":0.0,"30_s":0.0,"31_s":0.0,"32_s":0.0,"33_s":0.0,"34_s":0.0,"35_s":0.0,"36_s":0.0,"37_s":0.0,"38_s":0.0,"39_s":0.0,"40_s":0.0,"41_s":0.0,"42_s":0.0,"43_s":0.0,"44_s":0.0,"45_s":0.0,"46_s":0.0,"47_s":0.0,"48_s":0.0,"49_s":0.0,"50_s":0.0,"51_s":0.0,"52_s":0.0,"53_s":0.0,"54_s":0.0,"55_s":0.0,"56_s":0.0,"57_s":0.0,"nmi_s":0.0,"loc_s":44.0,"spu_s":0.0,"pmi_s":0.0,"iwi_s":4.5,"rtr_s":0.0,"res_s":0.0,"cal_s":0.0,"tlb_s":0.0,"trm_s":0.0,"thr_s":0.0,"dfr_s":0.0,"mce_s":0.0,"mcp_s":0.0,"err_s":0.0,"mis_s":0.0,"pin_s":0.0,"npi_s":0.0,"piw_s":0.0,"type":"interrupts","time":"03:16:17 PM"},{"cpu":"0","hi_s":0.0,"timer_s":35.0,"net_tx_s":0.5,"net_rx_s":1.5,"block_s":0.5,"block_iopoll_s":0.0,"tasklet_s":0.0,"sched_s":0.0,"hrtimer_s":0.0,"rcu_s":16.5,"type":"interrupts","time":"03:16:17 PM"},{"cpu":"all","percent_usr":0.5,"percent_nice":0.0,"percent_sys":0.0,"percent_iowait":0.0,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":99.5,"type":"cpu","time":"03:16:19 PM"},{"cpu":"0","percent_usr":0.5,"percent_nice":0.0,"percent_sys":0.0,"percent_iowait":0.0,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":99.5,"type":"cpu","time":"03:16:19 PM"},{"cpu":"all","intr_s":56.5,"type":"interrupts","time":"03:16:19 PM"},{"cpu":"0","intr_s":51.5,"type":"interrupts","time":"03:16:19 PM"},{"cpu":"0","0_s":0.0,"1_s":0.0,"4_s":0.0,"8_s":0.0,"9_s":0.0,"12_s":0.0,"14_s":0.0,"15_s":1.0,"16_s":5.0,"17_s":0.0,"18_s":0.0,"19_s":1.5,"24_s":0.0,"25_s":0.0,"26_s":0.0,"27_s":0.0,"28_s":0.0,"29_s":0.0,"30_s":0.0,"31_s":0.0,"32_s":0.0,"33_s":0.0,"34_s":0.0,"35_s":0.0,"36_s":0.0,"37_s":0.0,"38_s":0.0,"39_s":0.0,"40_s":0.0,"41_s":0.0,"42_s":0.0,"43_s":0.0,"44_s":0.0,"45_s":0.0,"46_s":0.0,"47_s":0.0,"48_s":0.0,"49_s":0.0,"50_s":0.0,"51_s":0.0,"52_s":0.0,"53_s":0.0,"54_s":0.0,"55_s":0.0,"56_s":0.0,"57_s":0.0,"nmi_s":0.0,"loc_s":43.5,"spu_s":0.0,"pmi_s":0.0,"iwi_s":5.5,"rtr_s":0.0,"res_s":0.0,"cal_s":0.0,"tlb_s":0.0,"trm_s":0.0,"thr_s":0.0,"dfr_s":0.0,"mce_s":0.0,"mcp_s":0.0,"err_s":0.0,"mis_s":0.0,"pin_s":0.0,"npi_s":0.0,"piw_s":0.0,"type":"interrupts","time":"03:16:19 PM"},{"cpu":"0","hi_s":0.0,"timer_s":33.5,"net_tx_s":0.0,"net_rx_s":1.5,"block_s":0.5,"block_iopoll_s":0.0,"tasklet_s":0.0,"sched_s":0.0,"hrtimer_s":0.0,"rcu_s":16.0,"type":"interrupts","time":"03:16:19 PM"},{"cpu":"all","percent_usr":0.0,"percent_nice":0.0,"percent_sys":0.5,"percent_iowait":0.0,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":99.5,"type":"cpu","time":"03:16:21 PM"},{"cpu":"0","percent_usr":0.0,"percent_nice":0.0,"percent_sys":0.5,"percent_iowait":0.0,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":99.5,"type":"cpu","time":"03:16:21 PM"},{"cpu":"all","intr_s":59.0,"type":"interrupts","time":"03:16:21 PM"},{"cpu":"0","intr_s":55.0,"type":"interrupts","time":"03:16:21 PM"},{"cpu":"0","0_s":0.0,"1_s":0.0,"4_s":0.0,"8_s":0.0,"9_s":0.0,"12_s":0.0,"14_s":0.0,"15_s":0.0,"16_s":5.0,"17_s":0.0,"18_s":0.0,"19_s":1.5,"24_s":0.0,"25_s":0.0,"26_s":0.0,"27_s":0.0,"28_s":0.0,"29_s":0.0,"30_s":0.0,"31_s":0.0,"32_s":0.0,"33_s":0.0,"34_s":0.0,"35_s":0.0,"36_s":0.0,"37_s":0.0,"38_s":0.0,"39_s":0.0,"40_s":0.0,"41_s":0.0,"42_s":0.0,"43_s":0.0,"44_s":0.0,"45_s":0.0,"46_s":0.0,"47_s":0.0,"48_s":0.0,"49_s":0.0,"50_s":0.0,"51_s":0.0,"52_s":0.0,"53_s":0.0,"54_s":0.0,"55_s":0.0,"56_s":0.0,"57_s":0.0,"nmi_s":0.0,"loc_s":47.0,"spu_s":0.0,"pmi_s":0.0,"iwi_s":6.5,"rtr_s":0.0,"res_s":0.0,"cal_s":0.0,"tlb_s":0.0,"trm_s":0.0,"thr_s":0.0,"dfr_s":0.0,"mce_s":0.0,"mcp_s":0.0,"err_s":0.0,"mis_s":0.0,"pin_s":0.0,"npi_s":0.0,"piw_s":0.0,"type":"interrupts","time":"03:16:21 PM"},{"cpu":"0","hi_s":0.0,"timer_s":35.5,"net_tx_s":0.5,"net_rx_s":1.5,"block_s":0.0,"block_iopoll_s":0.0,"tasklet_s":0.0,"sched_s":0.0,"hrtimer_s":0.0,"rcu_s":17.5,"type":"interrupts","time":"03:16:21 PM"},{"cpu":"all","percent_usr":0.0,"percent_nice":0.0,"percent_sys":0.5,"percent_iowait":0.0,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":99.5,"type":"cpu","time":"03:16:23 PM"},{"cpu":"0","percent_usr":0.0,"percent_nice":0.0,"percent_sys":0.5,"percent_iowait":0.0,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":99.5,"type":"cpu","time":"03:16:23 PM"},{"cpu":"all","intr_s":56.5,"type":"interrupts","time":"03:16:23 PM"},{"cpu":"0","intr_s":53.5,"type":"interrupts","time":"03:16:23 PM"},{"cpu":"0","0_s":0.0,"1_s":0.0,"4_s":0.0,"8_s":0.0,"9_s":0.0,"12_s":0.0,"14_s":0.0,"15_s":1.0,"16_s":5.0,"17_s":0.0,"18_s":0.0,"19_s":1.0,"24_s":0.0,"25_s":0.0,"26_s":0.0,"27_s":0.0,"28_s":0.0,"29_s":0.0,"30_s":0.0,"31_s":0.0,"32_s":0.0,"33_s":0.0,"34_s":0.0,"35_s":0.0,"36_s":0.0,"37_s":0.0,"38_s":0.0,"39_s":0.0,"40_s":0.0,"41_s":0.0,"42_s":0.0,"43_s":0.0,"44_s":0.0,"45_s":0.0,"46_s":0.0,"47_s":0.0,"48_s":0.0,"49_s":0.0,"50_s":0.0,"51_s":0.0,"52_s":0.0,"53_s":0.0,"54_s":0.0,"55_s":0.0,"56_s":0.0,"57_s":0.0,"nmi_s":0.0,"loc_s":43.5,"spu_s":0.0,"pmi_s":0.0,"iwi_s":6.0,"rtr_s":0.0,"res_s":0.0,"cal_s":0.0,"tlb_s":0.0,"trm_s":0.0,"thr_s":0.0,"dfr_s":0.0,"mce_s":0.0,"mcp_s":0.0,"err_s":0.0,"mis_s":0.0,"pin_s":0.0,"npi_s":0.0,"piw_s":0.0,"type":"interrupts","time":"03:16:23 PM"},{"cpu":"0","hi_s":0.0,"timer_s":34.5,"net_tx_s":0.0,"net_rx_s":1.0,"block_s":0.5,"block_iopoll_s":0.0,"tasklet_s":0.0,"sched_s":0.0,"hrtimer_s":0.0,"rcu_s":17.5,"type":"interrupts","time":"03:16:23 PM"},{"cpu":"all","percent_usr":0.0,"percent_nice":0.0,"percent_sys":0.0,"percent_iowait":0.0,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":100.0,"type":"cpu","time":"03:16:25 PM"},{"cpu":"0","percent_usr":0.0,"percent_nice":0.0,"percent_sys":0.0,"percent_iowait":0.0,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":100.0,"type":"cpu","time":"03:16:25 PM"},{"cpu":"all","intr_s":56.28,"type":"interrupts","time":"03:16:25 PM"},{"cpu":"0","intr_s":50.75,"type":"interrupts","time":"03:16:25 PM"},{"cpu":"0","0_s":0.0,"1_s":0.0,"4_s":0.0,"8_s":0.0,"9_s":0.0,"12_s":0.0,"14_s":0.0,"15_s":1.01,"16_s":4.52,"17_s":1.01,"18_s":0.0,"19_s":1.51,"24_s":0.0,"25_s":0.0,"26_s":0.0,"27_s":0.0,"28_s":0.0,"29_s":0.0,"30_s":0.0,"31_s":0.0,"32_s":0.0,"33_s":0.0,"34_s":0.0,"35_s":0.0,"36_s":0.0,"37_s":0.0,"38_s":0.0,"39_s":0.0,"40_s":0.0,"41_s":0.0,"42_s":0.0,"43_s":0.0,"44_s":0.0,"45_s":0.0,"46_s":0.0,"47_s":0.0,"48_s":0.0,"49_s":0.0,"50_s":0.0,"51_s":0.0,"52_s":0.0,"53_s":0.0,"54_s":0.0,"55_s":0.0,"56_s":0.0,"57_s":0.0,"nmi_s":0.0,"loc_s":43.22,"spu_s":0.0,"pmi_s":0.0,"iwi_s":5.03,"rtr_s":0.0,"res_s":0.0,"cal_s":0.0,"tlb_s":0.0,"trm_s":0.0,"thr_s":0.0,"dfr_s":0.0,"mce_s":0.0,"mcp_s":0.0,"err_s":0.0,"mis_s":0.0,"pin_s":0.0,"npi_s":0.0,"piw_s":0.0,"type":"interrupts","time":"03:16:25 PM"},{"cpu":"0","hi_s":0.0,"timer_s":32.16,"net_tx_s":0.0,"net_rx_s":1.51,"block_s":1.51,"block_iopoll_s":0.0,"tasklet_s":0.0,"sched_s":0.0,"hrtimer_s":0.0,"rcu_s":15.58,"type":"interrupts","time":"03:16:25 PM"},{"cpu":"all","percent_usr":0.1,"percent_nice":0.0,"percent_sys":0.3,"percent_iowait":0.0,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":99.6,"type":"cpu","average":true},{"cpu":"0","percent_usr":0.1,"percent_nice":0.0,"percent_sys":0.3,"percent_iowait":0.0,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":99.6,"type":"cpu","average":true},{"cpu":"all","intr_s":56.76,"type":"interrupts","average":true},{"cpu":"0","intr_s":52.95,"type":"interrupts","average":true},{"cpu":"0","0_s":0.0,"1_s":0.0,"4_s":0.0,"8_s":0.0,"9_s":0.0,"12_s":0.0,"14_s":0.0,"15_s":0.8,"16_s":4.8,"17_s":0.2,"18_s":0.0,"19_s":1.4,"24_s":0.0,"25_s":0.0,"26_s":0.0,"27_s":0.0,"28_s":0.0,"29_s":0.0,"30_s":0.0,"31_s":0.0,"32_s":0.0,"33_s":0.0,"34_s":0.0,"35_s":0.0,"36_s":0.0,"37_s":0.0,"38_s":0.0,"39_s":0.0,"40_s":0.0,"41_s":0.0,"42_s":0.0,"43_s":0.0,"44_s":0.0,"45_s":0.0,"46_s":0.0,"47_s":0.0,"48_s":0.0,"49_s":0.0,"50_s":0.0,"51_s":0.0,"52_s":0.0,"53_s":0.0,"54_s":0.0,"55_s":0.0,"56_s":0.0,"57_s":0.0,"nmi_s":0.0,"loc_s":44.24,"spu_s":0.0,"pmi_s":0.0,"iwi_s":5.51,"rtr_s":0.0,"res_s":0.0,"cal_s":0.0,"tlb_s":0.0,"trm_s":0.0,"thr_s":0.0,"dfr_s":0.0,"mce_s":0.0,"mcp_s":0.0,"err_s":0.0,"mis_s":0.0,"pin_s":0.0,"npi_s":0.0,"piw_s":0.0,"type":"interrupts","average":true},{"cpu":"0","hi_s":0.0,"timer_s":34.13,"net_tx_s":0.2,"net_rx_s":1.4,"block_s":0.6,"block_iopoll_s":0.0,"tasklet_s":0.0,"sched_s":0.0,"hrtimer_s":0.0,"rcu_s":16.62,"type":"interrupts","average":true}] diff --git a/tests/fixtures/centos-7.7/mpstat-A-2-5.out b/tests/fixtures/centos-7.7/mpstat-A-2-5.out new file mode 100644 index 00000000..0b64b884 --- /dev/null +++ b/tests/fixtures/centos-7.7/mpstat-A-2-5.out @@ -0,0 +1,86 @@ +Linux 3.10.0-1062.1.2.el7.x86_64 (localhost) 03/11/2022 _x86_64_ (1 CPU) + +03:16:15 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle +03:16:17 PM all 0.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 99.50 +03:16:17 PM 0 0.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 99.50 + +03:16:15 PM CPU intr/s +03:16:17 PM all 55.50 +03:16:17 PM 0 54.00 + +03:16:15 PM CPU 0/s 1/s 4/s 8/s 9/s 12/s 14/s 15/s 16/s 17/s 18/s 19/s 24/s 25/s 26/s 27/s 28/s 29/s 30/s 31/s 32/s 33/s 34/s 35/s 36/s 37/s 38/s 39/s 40/s 41/s 42/s 43/s 44/s 45/s 46/s 47/s 48/s 49/s 50/s 51/s 52/s 53/s 54/s 55/s 56/s 57/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s DFR/s MCE/s MCP/s ERR/s MIS/s PIN/s NPI/s PIW/s +03:16:17 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 4.50 0.00 0.00 1.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 44.00 0.00 0.00 4.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + +03:16:15 PM CPU HI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s +03:16:17 PM 0 0.00 35.00 0.50 1.50 0.50 0.00 0.00 0.00 0.00 16.50 + +03:16:17 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle +03:16:19 PM all 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50 +03:16:19 PM 0 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50 + +03:16:17 PM CPU intr/s +03:16:19 PM all 56.50 +03:16:19 PM 0 51.50 + +03:16:17 PM CPU 0/s 1/s 4/s 8/s 9/s 12/s 14/s 15/s 16/s 17/s 18/s 19/s 24/s 25/s 26/s 27/s 28/s 29/s 30/s 31/s 32/s 33/s 34/s 35/s 36/s 37/s 38/s 39/s 40/s 41/s 42/s 43/s 44/s 45/s 46/s 47/s 48/s 49/s 50/s 51/s 52/s 53/s 54/s 55/s 56/s 57/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s DFR/s MCE/s MCP/s ERR/s MIS/s PIN/s NPI/s PIW/s +03:16:19 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 5.00 0.00 0.00 1.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 43.50 0.00 0.00 5.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + +03:16:17 PM CPU HI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s +03:16:19 PM 0 0.00 33.50 0.00 1.50 0.50 0.00 0.00 0.00 0.00 16.00 + +03:16:19 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle +03:16:21 PM all 0.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 99.50 +03:16:21 PM 0 0.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 99.50 + +03:16:19 PM CPU intr/s +03:16:21 PM all 59.00 +03:16:21 PM 0 55.00 + +03:16:19 PM CPU 0/s 1/s 4/s 8/s 9/s 12/s 14/s 15/s 16/s 17/s 18/s 19/s 24/s 25/s 26/s 27/s 28/s 29/s 30/s 31/s 32/s 33/s 34/s 35/s 36/s 37/s 38/s 39/s 40/s 41/s 42/s 43/s 44/s 45/s 46/s 47/s 48/s 49/s 50/s 51/s 52/s 53/s 54/s 55/s 56/s 57/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s DFR/s MCE/s MCP/s ERR/s MIS/s PIN/s NPI/s PIW/s +03:16:21 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 5.00 0.00 0.00 1.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 47.00 0.00 0.00 6.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + +03:16:19 PM CPU HI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s +03:16:21 PM 0 0.00 35.50 0.50 1.50 0.00 0.00 0.00 0.00 0.00 17.50 + +03:16:21 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle +03:16:23 PM all 0.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 99.50 +03:16:23 PM 0 0.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 99.50 + +03:16:21 PM CPU intr/s +03:16:23 PM all 56.50 +03:16:23 PM 0 53.50 + +03:16:21 PM CPU 0/s 1/s 4/s 8/s 9/s 12/s 14/s 15/s 16/s 17/s 18/s 19/s 24/s 25/s 26/s 27/s 28/s 29/s 30/s 31/s 32/s 33/s 34/s 35/s 36/s 37/s 38/s 39/s 40/s 41/s 42/s 43/s 44/s 45/s 46/s 47/s 48/s 49/s 50/s 51/s 52/s 53/s 54/s 55/s 56/s 57/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s DFR/s MCE/s MCP/s ERR/s MIS/s PIN/s NPI/s PIW/s +03:16:23 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 5.00 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 43.50 0.00 0.00 6.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + +03:16:21 PM CPU HI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s +03:16:23 PM 0 0.00 34.50 0.00 1.00 0.50 0.00 0.00 0.00 0.00 17.50 + +03:16:23 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle +03:16:25 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 +03:16:25 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 + +03:16:23 PM CPU intr/s +03:16:25 PM all 56.28 +03:16:25 PM 0 50.75 + +03:16:23 PM CPU 0/s 1/s 4/s 8/s 9/s 12/s 14/s 15/s 16/s 17/s 18/s 19/s 24/s 25/s 26/s 27/s 28/s 29/s 30/s 31/s 32/s 33/s 34/s 35/s 36/s 37/s 38/s 39/s 40/s 41/s 42/s 43/s 44/s 45/s 46/s 47/s 48/s 49/s 50/s 51/s 52/s 53/s 54/s 55/s 56/s 57/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s DFR/s MCE/s MCP/s ERR/s MIS/s PIN/s NPI/s PIW/s +03:16:25 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.01 4.52 1.01 0.00 1.51 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 43.22 0.00 0.00 5.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + +03:16:23 PM CPU HI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s +03:16:25 PM 0 0.00 32.16 0.00 1.51 1.51 0.00 0.00 0.00 0.00 15.58 + +Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle +Average: all 0.10 0.00 0.30 0.00 0.00 0.00 0.00 0.00 0.00 99.60 +Average: 0 0.10 0.00 0.30 0.00 0.00 0.00 0.00 0.00 0.00 99.60 + +Average: CPU intr/s +Average: all 56.76 +Average: 0 52.95 + +Average: CPU 0/s 1/s 4/s 8/s 9/s 12/s 14/s 15/s 16/s 17/s 18/s 19/s 24/s 25/s 26/s 27/s 28/s 29/s 30/s 31/s 32/s 33/s 34/s 35/s 36/s 37/s 38/s 39/s 40/s 41/s 42/s 43/s 44/s 45/s 46/s 47/s 48/s 49/s 50/s 51/s 52/s 53/s 54/s 55/s 56/s 57/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s DFR/s MCE/s MCP/s ERR/s MIS/s PIN/s NPI/s PIW/s +Average: 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.80 4.80 0.20 0.00 1.40 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 44.24 0.00 0.00 5.51 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + +Average: CPU HI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s +Average: 0 0.00 34.13 0.20 1.40 0.60 0.00 0.00 0.00 0.00 16.62 + diff --git a/tests/fixtures/centos-7.7/mpstat-A.json b/tests/fixtures/centos-7.7/mpstat-A.json new file mode 100644 index 00000000..c685ff0f --- /dev/null +++ b/tests/fixtures/centos-7.7/mpstat-A.json @@ -0,0 +1 @@ +[{"cpu":"all","percent_usr":0.22,"percent_nice":0.0,"percent_sys":0.37,"percent_iowait":0.01,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":99.4,"type":"cpu","time":"03:15:06 PM"},{"cpu":"0","percent_usr":0.22,"percent_nice":0.0,"percent_sys":0.37,"percent_iowait":0.01,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":99.4,"type":"cpu","time":"03:15:06 PM"},{"cpu":"all","intr_s":37.61,"type":"interrupts","time":"03:15:06 PM"},{"cpu":"0","intr_s":33.15,"type":"interrupts","time":"03:15:06 PM"},{"cpu":"0","0_s":0.02,"1_s":0.02,"4_s":0.01,"8_s":0.0,"9_s":0.0,"12_s":0.01,"14_s":0.0,"15_s":1.0,"16_s":0.75,"17_s":1.14,"18_s":0.03,"19_s":0.69,"24_s":0.0,"25_s":0.0,"26_s":0.0,"27_s":0.0,"28_s":0.0,"29_s":0.0,"30_s":0.0,"31_s":0.0,"32_s":0.0,"33_s":0.0,"34_s":0.0,"35_s":0.0,"36_s":0.0,"37_s":0.0,"38_s":0.0,"39_s":0.0,"40_s":0.0,"41_s":0.0,"42_s":0.0,"43_s":0.0,"44_s":0.0,"45_s":0.0,"46_s":0.0,"47_s":0.0,"48_s":0.0,"49_s":0.0,"50_s":0.0,"51_s":0.0,"52_s":0.0,"53_s":0.0,"54_s":0.0,"55_s":0.0,"56_s":0.0,"57_s":0.0,"nmi_s":0.0,"loc_s":32.69,"spu_s":0.0,"pmi_s":0.0,"iwi_s":1.24,"rtr_s":0.0,"res_s":0.0,"cal_s":0.0,"tlb_s":0.0,"trm_s":0.0,"thr_s":0.0,"dfr_s":0.0,"mce_s":0.0,"mcp_s":0.0,"err_s":0.0,"mis_s":0.0,"pin_s":0.0,"npi_s":0.0,"piw_s":0.0,"type":"interrupts","time":"03:15:06 PM"},{"cpu":"0","hi_s":0.0,"timer_s":21.26,"net_tx_s":0.2,"net_rx_s":0.69,"block_s":1.58,"block_iopoll_s":0.0,"tasklet_s":0.03,"sched_s":0.0,"hrtimer_s":0.0,"rcu_s":9.39,"type":"interrupts","time":"03:15:06 PM"}] diff --git a/tests/fixtures/centos-7.7/mpstat-A.out b/tests/fixtures/centos-7.7/mpstat-A.out new file mode 100644 index 00000000..5499bee0 --- /dev/null +++ b/tests/fixtures/centos-7.7/mpstat-A.out @@ -0,0 +1,15 @@ +Linux 3.10.0-1062.1.2.el7.x86_64 (localhost) 03/11/2022 _x86_64_ (1 CPU) + +03:15:06 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle +03:15:06 PM all 0.22 0.00 0.37 0.01 0.00 0.00 0.00 0.00 0.00 99.40 +03:15:06 PM 0 0.22 0.00 0.37 0.01 0.00 0.00 0.00 0.00 0.00 99.40 + +03:15:06 PM CPU intr/s +03:15:06 PM all 37.61 +03:15:06 PM 0 33.15 + +03:15:06 PM CPU 0/s 1/s 4/s 8/s 9/s 12/s 14/s 15/s 16/s 17/s 18/s 19/s 24/s 25/s 26/s 27/s 28/s 29/s 30/s 31/s 32/s 33/s 34/s 35/s 36/s 37/s 38/s 39/s 40/s 41/s 42/s 43/s 44/s 45/s 46/s 47/s 48/s 49/s 50/s 51/s 52/s 53/s 54/s 55/s 56/s 57/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s DFR/s MCE/s MCP/s ERR/s MIS/s PIN/s NPI/s PIW/s +03:15:06 PM 0 0.02 0.02 0.01 0.00 0.00 0.01 0.00 1.00 0.75 1.14 0.03 0.69 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 32.69 0.00 0.00 1.24 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + +03:15:06 PM CPU HI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s +03:15:06 PM 0 0.00 21.26 0.20 0.69 1.58 0.00 0.03 0.00 0.00 9.39 diff --git a/tests/fixtures/centos-7.7/mpstat.json b/tests/fixtures/centos-7.7/mpstat.json new file mode 100644 index 00000000..f89c71d3 --- /dev/null +++ b/tests/fixtures/centos-7.7/mpstat.json @@ -0,0 +1 @@ +[{"cpu":"all","percent_usr":0.23,"percent_nice":0.0,"percent_sys":0.37,"percent_iowait":0.01,"percent_irq":0.0,"percent_soft":0.0,"percent_steal":0.0,"percent_guest":0.0,"percent_gnice":0.0,"percent_idle":99.39,"type":"cpu","time":"03:14:20 PM"}] diff --git a/tests/fixtures/centos-7.7/mpstat.out b/tests/fixtures/centos-7.7/mpstat.out new file mode 100644 index 00000000..fbdb59ff --- /dev/null +++ b/tests/fixtures/centos-7.7/mpstat.out @@ -0,0 +1,5 @@ +Linux 3.10.0-1062.1.2.el7.x86_64 (localhost) 03/11/2022 _x86_64_ (1 CPU) + +03:14:20 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle +03:14:20 PM all 0.23 0.00 0.37 0.01 0.00 0.00 0.00 0.00 0.00 99.39 + diff --git a/tests/test_mpstat.py b/tests/test_mpstat.py new file mode 100644 index 00000000..de22950e --- /dev/null +++ b/tests/test_mpstat.py @@ -0,0 +1,59 @@ +import os +import unittest +import json +import jc.parsers.mpstat + +THIS_DIR = os.path.dirname(os.path.abspath(__file__)) + + +class MyTests(unittest.TestCase): + + def setUp(self): + # input + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/mpstat.out'), 'r', encoding='utf-8') as f: + self.centos_7_7_mpstat = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/mpstat-A.out'), 'r', encoding='utf-8') as f: + self.centos_7_7_mpstat_A = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/mpstat-A-2-5.out'), 'r', encoding='utf-8') as f: + self.centos_7_7_mpstat_A_2_5 = f.read() + + # output + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/mpstat.json'), 'r', encoding='utf-8') as f: + self.centos_7_7_mpstat_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/mpstat-A.json'), 'r', encoding='utf-8') as f: + self.centos_7_7_mpstat_A_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/mpstat-A-2-5.json'), 'r', encoding='utf-8') as f: + self.centos_7_7_mpstat_A_2_5_json = json.loads(f.read()) + + + def test_mpstat_nodata(self): + """ + Test 'mpstat' with no data + """ + self.assertEqual(jc.parsers.mpstat.parse('', quiet=True), []) + + def test_mpstat_centos_7_7(self): + """ + Test 'mpstat' on Centos 7.7 + """ + self.assertEqual(jc.parsers.mpstat.parse(self.centos_7_7_mpstat, quiet=True), self.centos_7_7_mpstat_json) + + def test_mpstat_A_centos_7_7(self): + """ + Test 'mpstat -A' on Centos 7.7 + """ + self.assertEqual(jc.parsers.mpstat.parse(self.centos_7_7_mpstat_A, quiet=True), self.centos_7_7_mpstat_A_json) + + def test_mpstat_A_2_5_centos_7_7(self): + """ + Test 'mpstat -A 2 5' on Centos 7.7 + """ + self.assertEqual(jc.parsers.mpstat.parse(self.centos_7_7_mpstat_A_2_5, quiet=True), self.centos_7_7_mpstat_A_2_5_json) + + +if __name__ == '__main__': + unittest.main()