diff --git a/src/fixtures/valid/2.14.0_ddn133_quota.txt b/src/fixtures/valid/2.14.0_ddn133_quota.txt new file mode 100644 index 0000000..178fda2 --- /dev/null +++ b/src/fixtures/valid/2.14.0_ddn133_quota.txt @@ -0,0 +1,1180 @@ +memused=2588372501 +memused_max=2614502697 +lnet_memused=174891774 +health_check=healthy +mdt.ai400x2-MDT0000.exports.0@lo.uuid= +ai400x2-MDT0000-lwp-MDT0000_UUID +ai400x2-MDT0000-lwp-OST0001_UUID +ai400x2-MDT0000-lwp-OST0000_UUID +mdt.ai400x2-MDT0000.exports.192.168.0.100@o2ib.uuid=0212161f-2187-4f09-9fa2-16f46da653d9 +mdt.ai400x2-MDT0000.exports.192.168.0.101@o2ib.uuid=7d511827-fb4c-48d9-bbce-99a433c164d9 +mdt.ai400x2-MDT0000.exports.192.168.0.102@o2ib.uuid=f91fd473-0feb-4b8e-a1fd-5f82376f9d50 +mdt.ai400x2-MDT0000.exports.192.168.0.103@o2ib.uuid=5e451af5-6f54-4a57-a599-ef3fbe12b8e1 +mdt.ai400x2-MDT0000.exports.192.168.0.104@o2ib.uuid=c3e880a3-6512-402a-bdba-8c59bb4d6854 +mdt.ai400x2-MDT0000.exports.192.168.0.105@o2ib.uuid=e86f5265-5f2c-43b3-bac8-09bbf595a68c +mdt.ai400x2-MDT0000.exports.192.168.0.106@o2ib.uuid=4e75673e-f1b0-4b5a-9e33-1c4b51f348a3 +mdt.ai400x2-MDT0000.exports.192.168.0.107@o2ib.uuid=3a0ecb05-b5d0-4a63-a5e3-9064602ed7eb +mdt.ai400x2-MDT0000.exports.192.168.0.108@o2ib.uuid=d32e78c7-3cce-49f1-9e11-1ea254d97d85 +mdt.ai400x2-MDT0000.exports.192.168.0.109@o2ib.uuid=ac6f219e-9908-464a-8cd9-a3730640b276 +mdt.ai400x2-MDT0000.exports.192.168.0.110@o2ib.uuid=5443fbf8-c90f-440e-912b-7d2f342a92b7 +mdt.ai400x2-MDT0000.exports.192.168.0.111@o2ib.uuid=fa9ea4b7-6ecf-492b-9f72-b6e3f5993c4b +mdt.ai400x2-MDT0000.exports.192.168.0.112@o2ib.uuid=f129d6e8-108a-4b3c-82cb-770de738a21d +mdt.ai400x2-MDT0000.exports.192.168.0.113@o2ib.uuid=61c9f273-9f32-4989-92a3-55751fc7528c +mdt.ai400x2-MDT0000.exports.192.168.0.114@o2ib.uuid=116c53f3-8a08-4603-978c-4792bcd8d52e +mdt.ai400x2-MDT0000.exports.192.168.0.115@o2ib.uuid=510379a5-998a-4bcc-a4da-6f88790faf51 +mdt.ai400x2-MDT0000.exports.192.168.5.135@o2ib.uuid= +ai400x2-MDT0000-lwp-OST0004_UUID +ai400x2-MDT0000-lwp-OST0005_UUID +ai400x2-MDT0002-mdtlov_UUID +ai400x2-MDT0000-lwp-MDT0002_UUID +mdt.ai400x2-MDT0000.exports.192.168.5.136@o2ib.uuid= +ai400x2-MDT0000-lwp-MDT0001_UUID +ai400x2-MDT0001-mdtlov_UUID +ai400x2-MDT0000-lwp-OST0003_UUID +ai400x2-MDT0000-lwp-OST0002_UUID +mdt.ai400x2-MDT0000.exports.192.168.5.137@o2ib.uuid= +ai400x2-MDT0003-mdtlov_UUID +ai400x2-MDT0000-lwp-OST0007_UUID +ai400x2-MDT0000-lwp-MDT0003_UUID +ai400x2-MDT0000-lwp-OST0006_UUID +osd-ldiskfs.MGS.filesfree=130871 +osd-ldiskfs.ai400x2-MDT0000.filesfree=255306055 +osd-ldiskfs.ai400x2-OST0000.filesfree=276820333 +osd-ldiskfs.ai400x2-OST0001.filesfree=276820336 +osd-ldiskfs.MGS.filestotal=131072 +osd-ldiskfs.ai400x2-MDT0000.filestotal=257722920 +osd-ldiskfs.ai400x2-OST0000.filestotal=276824064 +osd-ldiskfs.ai400x2-OST0001.filestotal=276824064 +osd-ldiskfs.MGS.fstype=ldiskfs +osd-ldiskfs.ai400x2-MDT0000.fstype=ldiskfs +osd-ldiskfs.ai400x2-OST0000.fstype=ldiskfs +osd-ldiskfs.ai400x2-OST0001.fstype=ldiskfs +osd-ldiskfs.MGS.kbytesavail=1873804 +osd-ldiskfs.ai400x2-MDT0000.kbytesavail=349493720 +osd-ldiskfs.ai400x2-OST0000.kbytesavail=31477515820 +osd-ldiskfs.ai400x2-OST0001.kbytesavail=31406306552 +osd-ldiskfs.MGS.kbytesfree=1978660 +osd-ldiskfs.ai400x2-MDT0000.kbytesfree=355935844 +osd-ldiskfs.ai400x2-OST0000.kbytesfree=31831867004 +osd-ldiskfs.ai400x2-OST0001.kbytesfree=31760657736 +osd-ldiskfs.MGS.kbytestotal=1980036 +osd-ldiskfs.ai400x2-MDT0000.kbytestotal=366222772 +osd-ldiskfs.ai400x2-OST0000.kbytestotal=35016088872 +osd-ldiskfs.ai400x2-OST0001.kbytestotal=35016088872 +osd-ldiskfs.MGS.brw_stats= +snapshot_time: 1709306082.166044071 secs.nsecs + + read | write +pages per bulk r/w rpcs % cum % | rpcs % cum % + + read | write +discontiguous pages rpcs % cum % | rpcs % cum % + + read | write +discontiguous blocks rpcs % cum % | rpcs % cum % + + read | write +disk fragmented I/Os ios % cum % | ios % cum % + + read | write +disk I/Os in flight ios % cum % | ios % cum % + + read | write +I/O time (1/1000s) ios % cum % | ios % cum % + + read | write +disk I/O size ios % cum % | ios % cum % + + read | write +block maps msec maps % cum % | maps % cum % +osd-ldiskfs.ai400x2-MDT0000.brw_stats= +snapshot_time: 1709306082.166074142 secs.nsecs + + read | write +pages per bulk r/w rpcs % cum % | rpcs % cum % + + read | write +discontiguous pages rpcs % cum % | rpcs % cum % + + read | write +discontiguous blocks rpcs % cum % | rpcs % cum % + + read | write +disk fragmented I/Os ios % cum % | ios % cum % + + read | write +disk I/Os in flight ios % cum % | ios % cum % + + read | write +I/O time (1/1000s) ios % cum % | ios % cum % + + read | write +disk I/O size ios % cum % | ios % cum % + + read | write +block maps msec maps % cum % | maps % cum % +osd-ldiskfs.ai400x2-OST0000.brw_stats= +snapshot_time: 1709306082.166133102 secs.nsecs + + read | write +pages per bulk r/w rpcs % cum % | rpcs % cum % +1: 8747797 12 12 | 4054463 7 7 +2: 2334013 3 15 | 1515227 2 10 +4: 737243 1 16 | 92254 0 11 +8: 1008957 1 17 | 116099 0 11 +16: 1221985 1 19 | 114115 0 11 +32: 1111658 1 21 | 103665 0 11 +64: 679356 0 22 | 90148 0 11 +128: 572178 0 22 | 133272 0 12 +256: 55069062 77 100 | 44979318 87 100 + + read | write +discontiguous pages rpcs % cum % | rpcs % cum % +0: 63816980 89 89 | 49033877 95 95 +1: 2334290 3 92 | 1515228 2 98 +2: 375707 0 93 | 44821 0 98 +3: 362181 0 93 | 47438 0 98 +4: 289391 0 93 | 37185 0 98 +5: 265223 0 94 | 31450 0 99 +6: 237771 0 94 | 24889 0 99 +7: 217645 0 94 | 22572 0 99 +8: 197956 0 95 | 19901 0 99 +9: 182802 0 95 | 17563 0 99 +10: 169267 0 95 | 15491 0 99 +11: 156552 0 95 | 14489 0 99 +12: 144807 0 96 | 13311 0 99 +13: 133666 0 96 | 12706 0 99 +14: 122979 0 96 | 10805 0 99 +15: 114900 0 96 | 9852 0 99 +16: 107381 0 96 | 9099 0 99 +17: 99626 0 96 | 8475 0 99 +18: 93541 0 97 | 7822 0 99 +19: 87033 0 97 | 7520 0 99 +20: 82113 0 97 | 7226 0 99 +21: 77113 0 97 | 7109 0 99 +22: 72575 0 97 | 6555 0 99 +23: 68098 0 97 | 6635 0 99 +24: 64374 0 97 | 6418 0 99 +25: 59828 0 97 | 6312 0 99 +26: 57325 0 97 | 5771 0 99 +27: 53865 0 97 | 5516 0 99 +28: 50854 0 98 | 5129 0 99 +29: 48428 0 98 | 4926 0 99 +30: 45799 0 98 | 4697 0 99 +31: 1292179 1 100 | 227773 0 100 + + read | write +discontiguous blocks rpcs % cum % | rpcs % cum % +0: 63816064 89 89 | 49033251 95 95 +1: 2335206 3 92 | 1515854 2 98 +2: 375707 0 93 | 44821 0 98 +3: 362181 0 93 | 47438 0 98 +4: 289391 0 93 | 37185 0 98 +5: 265223 0 94 | 31450 0 99 +6: 237770 0 94 | 24889 0 99 +7: 217645 0 94 | 22572 0 99 +8: 197956 0 95 | 19901 0 99 +9: 182803 0 95 | 17563 0 99 +10: 169266 0 95 | 15491 0 99 +11: 156553 0 95 | 14489 0 99 +12: 144807 0 96 | 13311 0 99 +13: 133665 0 96 | 12706 0 99 +14: 122979 0 96 | 10805 0 99 +15: 114901 0 96 | 9852 0 99 +16: 107381 0 96 | 9099 0 99 +17: 99625 0 96 | 8475 0 99 +18: 93539 0 97 | 7822 0 99 +19: 87034 0 97 | 7520 0 99 +20: 82113 0 97 | 7226 0 99 +21: 77115 0 97 | 7109 0 99 +22: 72575 0 97 | 6555 0 99 +23: 68096 0 97 | 6635 0 99 +24: 64374 0 97 | 6418 0 99 +25: 59829 0 97 | 6312 0 99 +26: 57325 0 97 | 5771 0 99 +27: 53865 0 97 | 5516 0 99 +28: 50854 0 98 | 5129 0 99 +29: 48428 0 98 | 4926 0 99 +30: 45798 0 98 | 4697 0 99 +31: 1292181 1 100 | 227773 0 100 + + read | write +disk fragmented I/Os ios % cum % | ios % cum % +1: 63816064 89 89 | 49033254 95 95 +2: 2335205 3 92 | 1515851 2 98 +3: 375707 0 93 | 44821 0 98 +4: 362181 0 93 | 47438 0 98 +5: 289391 0 93 | 37185 0 98 +6: 265223 0 94 | 31450 0 99 +7: 237770 0 94 | 24889 0 99 +8: 217645 0 94 | 22572 0 99 +9: 197956 0 95 | 19901 0 99 +10: 182803 0 95 | 17563 0 99 +11: 169266 0 95 | 15491 0 99 +12: 156553 0 95 | 14489 0 99 +13: 144807 0 96 | 13311 0 99 +14: 133665 0 96 | 12706 0 99 +15: 122979 0 96 | 10805 0 99 +16: 114901 0 96 | 9852 0 99 +17: 107381 0 96 | 9099 0 99 +18: 99625 0 96 | 8475 0 99 +19: 93539 0 97 | 7822 0 99 +20: 87034 0 97 | 7520 0 99 +21: 82113 0 97 | 7226 0 99 +22: 77115 0 97 | 7109 0 99 +23: 72575 0 97 | 6555 0 99 +24: 68096 0 97 | 6635 0 99 +25: 64374 0 97 | 6418 0 99 +26: 59829 0 97 | 6312 0 99 +27: 57325 0 97 | 5771 0 99 +28: 53865 0 97 | 5516 0 99 +29: 50854 0 98 | 5129 0 99 +30: 48428 0 98 | 4926 0 99 +31: 1337979 1 100 | 232466 0 100 + + read | write +disk I/Os in flight ios % cum % | ios % cum % +1: 6265290 3 3 | 4144450 5 5 +2: 8013786 3 6 | 7490068 9 15 +3: 8195937 3 10 | 6915544 9 24 +4: 7199751 3 14 | 4093573 5 30 +5: 5526507 2 16 | 2319082 3 33 +6: 4260097 2 18 | 1661352 2 35 +7: 3351664 1 20 | 1352195 1 37 +8: 2762934 1 21 | 1168692 1 38 +9: 2279187 1 23 | 1005176 1 40 +10: 1972881 0 23 | 924988 1 41 +11: 1734266 0 24 | 860368 1 42 +12: 1557193 0 25 | 807432 1 43 +13: 1400504 0 26 | 744513 0 44 +14: 1287707 0 26 | 706772 0 45 +15: 1188247 0 27 | 667647 0 46 +16: 1089678 0 27 | 629741 0 47 +17: 984090 0 28 | 590489 0 47 +18: 908885 0 28 | 557177 0 48 +19: 837782 0 29 | 526378 0 49 +20: 778137 0 29 | 502447 0 50 +21: 729005 0 29 | 481085 0 50 +22: 692332 0 30 | 463207 0 51 +23: 665339 0 30 | 446938 0 51 +24: 645343 0 30 | 433045 0 52 +25: 629688 0 31 | 420408 0 52 +26: 618481 0 31 | 408254 0 53 +27: 609914 0 31 | 395676 0 54 +28: 602905 0 32 | 384752 0 54 +29: 596365 0 32 | 372251 0 55 +30: 591992 0 32 | 361223 0 55 +31: 139856222 67 100 | 33496120 44 100 + + read | write +I/O time (1/1000s) ios % cum % | ios % cum % +1: 53100881 74 74 | 32329734 63 63 +2: 1618193 2 76 | 3628755 7 70 +4: 1997743 2 79 | 5804307 11 81 +8: 1452785 2 81 | 4652495 9 90 +16: 7817474 10 92 | 1731644 3 94 +32: 5493487 7 99 | 1739484 3 97 +64: 1636 0 99 | 1085167 2 99 +128: 26 0 99 | 217507 0 99 +256: 23 0 100 | 9461 0 99 +512: 0 0 100 | 3 0 100 + + read | write +disk I/O size ios % cum % | ios % cum % +4K: 152547869 73 73 | 30342047 40 40 +8K: 188031 0 73 | 8943 0 40 +16K: 24505 0 73 | 9 0 40 +32K: 1715 0 73 | 2 0 40 +64K: 11 0 73 | 2 0 40 +128K: 0 0 73 | 26 0 40 +256K: 577 0 73 | 432 0 40 +512K: 678 0 73 | 493 0 40 +1M: 55068723 26 100 | 44979089 59 100 + + read | write +block maps msec maps % cum % | maps % cum % +1: 281833673 99 99 | 1304947 98 98 +2: 1789 0 99 | 1381 0 99 +4: 2934 0 99 | 2434 0 99 +8: 2347 0 99 | 3728 0 99 +16: 4223 0 99 | 3968 0 99 +32: 304 0 100 | 2072 0 99 +64: 0 0 100 | 167 0 99 +128: 0 0 100 | 7 0 100 +osd-ldiskfs.ai400x2-OST0001.brw_stats= +snapshot_time: 1709306082.166474785 secs.nsecs + + read | write +pages per bulk r/w rpcs % cum % | rpcs % cum % +1: 14307540 15 15 | 5868998 9 9 +2: 4322099 4 19 | 2130906 3 13 +4: 1584514 1 21 | 208064 0 13 +8: 2408697 2 23 | 316631 0 13 +16: 2329981 2 26 | 244678 0 14 +32: 1284644 1 27 | 140063 0 14 +64: 746859 0 28 | 118139 0 14 +128: 702099 0 29 | 174311 0 15 +256: 67360739 70 100 | 51895764 84 100 + + read | write +discontiguous pages rpcs % cum % | rpcs % cum % +0: 81668412 85 85 | 57764874 94 94 +1: 4322675 4 90 | 2130899 3 98 +2: 749769 0 91 | 99651 0 98 +3: 836324 0 92 | 108431 0 98 +4: 669007 0 92 | 93760 0 98 +5: 666273 0 93 | 84866 0 98 +6: 558591 0 94 | 73471 0 98 +7: 517192 0 94 | 64574 0 98 +8: 442137 0 95 | 51977 0 98 +9: 394816 0 95 | 43018 0 99 +10: 339417 0 95 | 34708 0 99 +11: 298790 0 96 | 29531 0 99 +12: 258614 0 96 | 25138 0 99 +13: 227197 0 96 | 22851 0 99 +14: 196203 0 96 | 19549 0 99 +15: 172524 0 97 | 17898 0 99 +16: 151299 0 97 | 15187 0 99 +17: 133369 0 97 | 13876 0 99 +18: 118721 0 97 | 11763 0 99 +19: 106227 0 97 | 10984 0 99 +20: 95310 0 97 | 9696 0 99 +21: 86847 0 97 | 9468 0 99 +22: 80205 0 97 | 8677 0 99 +23: 73279 0 98 | 8309 0 99 +24: 67495 0 98 | 7499 0 99 +25: 63140 0 98 | 7171 0 99 +26: 59227 0 98 | 6827 0 99 +27: 55571 0 98 | 6604 0 99 +28: 52281 0 98 | 6275 0 99 +29: 49303 0 98 | 6127 0 99 +30: 46620 0 98 | 5761 0 99 +31: 1490337 1 100 | 298134 0 100 + + read | write +discontiguous blocks rpcs % cum % | rpcs % cum % +0: 81667127 85 85 | 57763716 94 94 +1: 4323960 4 90 | 2132057 3 98 +2: 749769 0 91 | 99651 0 98 +3: 836323 0 92 | 108431 0 98 +4: 669008 0 92 | 93760 0 98 +5: 666272 0 93 | 84866 0 98 +6: 558592 0 94 | 73471 0 98 +7: 517192 0 94 | 64574 0 98 +8: 442137 0 95 | 51977 0 98 +9: 394815 0 95 | 43018 0 99 +10: 339416 0 95 | 34708 0 99 +11: 298792 0 96 | 29531 0 99 +12: 258614 0 96 | 25138 0 99 +13: 227194 0 96 | 22851 0 99 +14: 196205 0 96 | 19549 0 99 +15: 172523 0 97 | 17898 0 99 +16: 151300 0 97 | 15187 0 99 +17: 133369 0 97 | 13876 0 99 +18: 118720 0 97 | 11763 0 99 +19: 106228 0 97 | 10984 0 99 +20: 95310 0 97 | 9696 0 99 +21: 86848 0 97 | 9468 0 99 +22: 80205 0 97 | 8677 0 99 +23: 73277 0 98 | 8309 0 99 +24: 67496 0 98 | 7499 0 99 +25: 63141 0 98 | 7171 0 99 +26: 59225 0 98 | 6827 0 99 +27: 55571 0 98 | 6604 0 99 +28: 52282 0 98 | 6275 0 99 +29: 49303 0 98 | 6127 0 99 +30: 46619 0 98 | 5761 0 99 +31: 1490339 1 100 | 298134 0 100 + + read | write +disk fragmented I/Os ios % cum % | ios % cum % +1: 81667127 85 85 | 57763716 94 94 +2: 4323960 4 90 | 2132056 3 98 +3: 749769 0 91 | 99650 0 98 +4: 836323 0 92 | 108431 0 98 +5: 669008 0 92 | 93760 0 98 +6: 666272 0 93 | 84866 0 98 +7: 558592 0 94 | 73471 0 98 +8: 517192 0 94 | 64574 0 98 +9: 442137 0 95 | 51977 0 98 +10: 394815 0 95 | 43018 0 99 +11: 339416 0 95 | 34708 0 99 +12: 298792 0 96 | 29531 0 99 +13: 258614 0 96 | 25138 0 99 +14: 227194 0 96 | 22851 0 99 +15: 196205 0 96 | 19549 0 99 +16: 172523 0 97 | 17898 0 99 +17: 151300 0 97 | 15187 0 99 +18: 133369 0 97 | 13876 0 99 +19: 118720 0 97 | 11763 0 99 +20: 106228 0 97 | 10984 0 99 +21: 95310 0 97 | 9696 0 99 +22: 86848 0 97 | 9468 0 99 +23: 80205 0 97 | 8676 0 99 +24: 73277 0 98 | 8308 0 99 +25: 67496 0 98 | 7499 0 99 +26: 63141 0 98 | 7171 0 99 +27: 59225 0 98 | 6827 0 99 +28: 55571 0 98 | 6604 0 99 +29: 52282 0 98 | 6275 0 99 +30: 49303 0 98 | 6127 0 99 +31: 1536958 1 100 | 303886 0 100 + + read | write +disk I/Os in flight ios % cum % | ios % cum % +1: 8732170 3 3 | 5763955 6 6 +2: 11209252 4 7 | 8762512 9 15 +3: 10964825 3 11 | 8236092 8 24 +4: 9654792 3 14 | 5430364 5 29 +5: 7580418 2 17 | 3295552 3 33 +6: 6089637 2 19 | 2467255 2 35 +7: 4760299 1 21 | 2050160 2 37 +8: 3940726 1 22 | 1793014 1 39 +9: 3348745 1 24 | 1586881 1 41 +10: 3089377 1 25 | 1443088 1 43 +11: 2882480 1 26 | 1299656 1 44 +12: 2805994 1 27 | 1212323 1 45 +13: 2714894 0 28 | 1130471 1 46 +14: 2654362 0 29 | 1055418 1 48 +15: 2568640 0 30 | 978729 1 49 +16: 2463969 0 31 | 907487 0 50 +17: 2329798 0 31 | 835921 0 50 +18: 2205563 0 32 | 782217 0 51 +19: 2078837 0 33 | 732117 0 52 +20: 1956521 0 34 | 688879 0 53 +21: 1839298 0 34 | 640760 0 53 +22: 1745784 0 35 | 611829 0 54 +23: 1661883 0 36 | 582863 0 55 +24: 1591344 0 36 | 557917 0 55 +25: 1524896 0 37 | 533445 0 56 +26: 1469842 0 37 | 512956 0 56 +27: 1417281 0 38 | 490055 0 57 +28: 1369576 0 38 | 469805 0 57 +29: 1326536 0 39 | 448604 0 58 +30: 1284379 0 39 | 429143 0 58 +31: 165650188 60 100 | 39087017 41 100 + + read | write +I/O time (1/1000s) ios % cum % | ios % cum % +1: 78258718 82 82 | 40428080 66 66 +2: 1177198 1 83 | 4176723 6 73 +4: 2082593 2 85 | 6432025 10 83 +8: 1304438 1 87 | 5122744 8 91 +16: 6840258 7 94 | 1813882 2 94 +32: 5381747 5 99 | 1794238 2 97 +64: 2152 0 99 | 1111493 1 99 +128: 56 0 99 | 212223 0 99 +256: 12 0 100 | 5942 0 99 +512: 0 0 100 | 48 0 99 +1K: 0 0 100 | 143 0 100 + + read | write +disk I/O size ios % cum % | ios % cum % +4K: 207224390 75 75 | 42904538 45 45 +8K: 285333 0 75 | 15432 0 45 +16K: 39206 0 75 | 598 0 45 +32K: 2605 0 75 | 40 0 45 +64K: 33 0 75 | 6 0 45 +128K: 0 0 75 | 33 0 45 +256K: 0 0 75 | 26 0 45 +512K: 0 0 75 | 50 0 45 +1M: 67360739 24 100 | 51895762 54 100 + + read | write +block maps msec maps % cum % | maps % cum % +1: 368317131 99 99 | 1387947 98 98 +2: 1574 0 99 | 2157 0 98 +4: 2063 0 99 | 3269 0 99 +8: 1814 0 99 | 4025 0 99 +16: 3914 0 99 | 4689 0 99 +32: 343 0 100 | 2109 0 99 +64: 0 0 100 | 179 0 100 +osd-ldiskfs.MGS.brw_stats= +snapshot_time: 1709306082.166847283 secs.nsecs + + read | write +pages per bulk r/w rpcs % cum % | rpcs % cum % + + read | write +discontiguous pages rpcs % cum % | rpcs % cum % + + read | write +discontiguous blocks rpcs % cum % | rpcs % cum % + + read | write +disk fragmented I/Os ios % cum % | ios % cum % + + read | write +disk I/Os in flight ios % cum % | ios % cum % + + read | write +I/O time (1/1000s) ios % cum % | ios % cum % + + read | write +disk I/O size ios % cum % | ios % cum % + + read | write +block maps msec maps % cum % | maps % cum % +osd-ldiskfs.ai400x2-MDT0000.brw_stats= +snapshot_time: 1709306082.166874063 secs.nsecs + + read | write +pages per bulk r/w rpcs % cum % | rpcs % cum % + + read | write +discontiguous pages rpcs % cum % | rpcs % cum % + + read | write +discontiguous blocks rpcs % cum % | rpcs % cum % + + read | write +disk fragmented I/Os ios % cum % | ios % cum % + + read | write +disk I/Os in flight ios % cum % | ios % cum % + + read | write +I/O time (1/1000s) ios % cum % | ios % cum % + + read | write +disk I/O size ios % cum % | ios % cum % + + read | write +block maps msec maps % cum % | maps % cum % +osd-ldiskfs.ai400x2-OST0000.brw_stats= +snapshot_time: 1709306082.166934531 secs.nsecs + + read | write +pages per bulk r/w rpcs % cum % | rpcs % cum % +1: 8747797 12 12 | 4054463 7 7 +2: 2334013 3 15 | 1515227 2 10 +4: 737243 1 16 | 92254 0 11 +8: 1008957 1 17 | 116099 0 11 +16: 1221985 1 19 | 114115 0 11 +32: 1111658 1 21 | 103665 0 11 +64: 679356 0 22 | 90148 0 11 +128: 572178 0 22 | 133272 0 12 +256: 55069062 77 100 | 44979318 87 100 + + read | write +discontiguous pages rpcs % cum % | rpcs % cum % +0: 63816980 89 89 | 49033877 95 95 +1: 2334290 3 92 | 1515228 2 98 +2: 375707 0 93 | 44821 0 98 +3: 362181 0 93 | 47438 0 98 +4: 289391 0 93 | 37185 0 98 +5: 265223 0 94 | 31450 0 99 +6: 237771 0 94 | 24889 0 99 +7: 217645 0 94 | 22572 0 99 +8: 197956 0 95 | 19901 0 99 +9: 182802 0 95 | 17563 0 99 +10: 169267 0 95 | 15491 0 99 +11: 156552 0 95 | 14489 0 99 +12: 144807 0 96 | 13311 0 99 +13: 133666 0 96 | 12706 0 99 +14: 122979 0 96 | 10805 0 99 +15: 114900 0 96 | 9852 0 99 +16: 107381 0 96 | 9099 0 99 +17: 99626 0 96 | 8475 0 99 +18: 93541 0 97 | 7822 0 99 +19: 87033 0 97 | 7520 0 99 +20: 82113 0 97 | 7226 0 99 +21: 77113 0 97 | 7109 0 99 +22: 72575 0 97 | 6555 0 99 +23: 68098 0 97 | 6635 0 99 +24: 64374 0 97 | 6418 0 99 +25: 59828 0 97 | 6312 0 99 +26: 57325 0 97 | 5771 0 99 +27: 53865 0 97 | 5516 0 99 +28: 50854 0 98 | 5129 0 99 +29: 48428 0 98 | 4926 0 99 +30: 45799 0 98 | 4697 0 99 +31: 1292179 1 100 | 227773 0 100 + + read | write +discontiguous blocks rpcs % cum % | rpcs % cum % +0: 63816064 89 89 | 49033251 95 95 +1: 2335206 3 92 | 1515854 2 98 +2: 375707 0 93 | 44821 0 98 +3: 362181 0 93 | 47438 0 98 +4: 289391 0 93 | 37185 0 98 +5: 265223 0 94 | 31450 0 99 +6: 237770 0 94 | 24889 0 99 +7: 217645 0 94 | 22572 0 99 +8: 197956 0 95 | 19901 0 99 +9: 182803 0 95 | 17563 0 99 +10: 169266 0 95 | 15491 0 99 +11: 156553 0 95 | 14489 0 99 +12: 144807 0 96 | 13311 0 99 +13: 133665 0 96 | 12706 0 99 +14: 122979 0 96 | 10805 0 99 +15: 114901 0 96 | 9852 0 99 +16: 107381 0 96 | 9099 0 99 +17: 99625 0 96 | 8475 0 99 +18: 93539 0 97 | 7822 0 99 +19: 87034 0 97 | 7520 0 99 +20: 82113 0 97 | 7226 0 99 +21: 77115 0 97 | 7109 0 99 +22: 72575 0 97 | 6555 0 99 +23: 68096 0 97 | 6635 0 99 +24: 64374 0 97 | 6418 0 99 +25: 59829 0 97 | 6312 0 99 +26: 57325 0 97 | 5771 0 99 +27: 53865 0 97 | 5516 0 99 +28: 50854 0 98 | 5129 0 99 +29: 48428 0 98 | 4926 0 99 +30: 45798 0 98 | 4697 0 99 +31: 1292181 1 100 | 227773 0 100 + + read | write +disk fragmented I/Os ios % cum % | ios % cum % +1: 63816064 89 89 | 49033254 95 95 +2: 2335205 3 92 | 1515851 2 98 +3: 375707 0 93 | 44821 0 98 +4: 362181 0 93 | 47438 0 98 +5: 289391 0 93 | 37185 0 98 +6: 265223 0 94 | 31450 0 99 +7: 237770 0 94 | 24889 0 99 +8: 217645 0 94 | 22572 0 99 +9: 197956 0 95 | 19901 0 99 +10: 182803 0 95 | 17563 0 99 +11: 169266 0 95 | 15491 0 99 +12: 156553 0 95 | 14489 0 99 +13: 144807 0 96 | 13311 0 99 +14: 133665 0 96 | 12706 0 99 +15: 122979 0 96 | 10805 0 99 +16: 114901 0 96 | 9852 0 99 +17: 107381 0 96 | 9099 0 99 +18: 99625 0 96 | 8475 0 99 +19: 93539 0 97 | 7822 0 99 +20: 87034 0 97 | 7520 0 99 +21: 82113 0 97 | 7226 0 99 +22: 77115 0 97 | 7109 0 99 +23: 72575 0 97 | 6555 0 99 +24: 68096 0 97 | 6635 0 99 +25: 64374 0 97 | 6418 0 99 +26: 59829 0 97 | 6312 0 99 +27: 57325 0 97 | 5771 0 99 +28: 53865 0 97 | 5516 0 99 +29: 50854 0 98 | 5129 0 99 +30: 48428 0 98 | 4926 0 99 +31: 1337979 1 100 | 232466 0 100 + + read | write +disk I/Os in flight ios % cum % | ios % cum % +1: 6265290 3 3 | 4144450 5 5 +2: 8013786 3 6 | 7490068 9 15 +3: 8195937 3 10 | 6915544 9 24 +4: 7199751 3 14 | 4093573 5 30 +5: 5526507 2 16 | 2319082 3 33 +6: 4260097 2 18 | 1661352 2 35 +7: 3351664 1 20 | 1352195 1 37 +8: 2762934 1 21 | 1168692 1 38 +9: 2279187 1 23 | 1005176 1 40 +10: 1972881 0 23 | 924988 1 41 +11: 1734266 0 24 | 860368 1 42 +12: 1557193 0 25 | 807432 1 43 +13: 1400504 0 26 | 744513 0 44 +14: 1287707 0 26 | 706772 0 45 +15: 1188247 0 27 | 667647 0 46 +16: 1089678 0 27 | 629741 0 47 +17: 984090 0 28 | 590489 0 47 +18: 908885 0 28 | 557177 0 48 +19: 837782 0 29 | 526378 0 49 +20: 778137 0 29 | 502447 0 50 +21: 729005 0 29 | 481085 0 50 +22: 692332 0 30 | 463207 0 51 +23: 665339 0 30 | 446938 0 51 +24: 645343 0 30 | 433045 0 52 +25: 629688 0 31 | 420408 0 52 +26: 618481 0 31 | 408254 0 53 +27: 609914 0 31 | 395676 0 54 +28: 602905 0 32 | 384752 0 54 +29: 596365 0 32 | 372251 0 55 +30: 591992 0 32 | 361223 0 55 +31: 139856222 67 100 | 33496120 44 100 + + read | write +I/O time (1/1000s) ios % cum % | ios % cum % +1: 53100881 74 74 | 32329734 63 63 +2: 1618193 2 76 | 3628755 7 70 +4: 1997743 2 79 | 5804307 11 81 +8: 1452785 2 81 | 4652495 9 90 +16: 7817474 10 92 | 1731644 3 94 +32: 5493487 7 99 | 1739484 3 97 +64: 1636 0 99 | 1085167 2 99 +128: 26 0 99 | 217507 0 99 +256: 23 0 100 | 9461 0 99 +512: 0 0 100 | 3 0 100 + + read | write +disk I/O size ios % cum % | ios % cum % +4K: 152547869 73 73 | 30342047 40 40 +8K: 188031 0 73 | 8943 0 40 +16K: 24505 0 73 | 9 0 40 +32K: 1715 0 73 | 2 0 40 +64K: 11 0 73 | 2 0 40 +128K: 0 0 73 | 26 0 40 +256K: 577 0 73 | 432 0 40 +512K: 678 0 73 | 493 0 40 +1M: 55068723 26 100 | 44979089 59 100 + + read | write +block maps msec maps % cum % | maps % cum % +1: 281833673 99 99 | 1304947 98 98 +2: 1789 0 99 | 1381 0 99 +4: 2934 0 99 | 2434 0 99 +8: 2347 0 99 | 3728 0 99 +16: 4223 0 99 | 3968 0 99 +32: 304 0 100 | 2072 0 99 +64: 0 0 100 | 167 0 99 +128: 0 0 100 | 7 0 100 +osd-ldiskfs.ai400x2-OST0001.brw_stats= +snapshot_time: 1709306082.167343866 secs.nsecs + + read | write +pages per bulk r/w rpcs % cum % | rpcs % cum % +1: 14307540 15 15 | 5868998 9 9 +2: 4322099 4 19 | 2130906 3 13 +4: 1584514 1 21 | 208064 0 13 +8: 2408697 2 23 | 316631 0 13 +16: 2329981 2 26 | 244678 0 14 +32: 1284644 1 27 | 140063 0 14 +64: 746859 0 28 | 118139 0 14 +128: 702099 0 29 | 174311 0 15 +256: 67360739 70 100 | 51895764 84 100 + + read | write +discontiguous pages rpcs % cum % | rpcs % cum % +0: 81668412 85 85 | 57764874 94 94 +1: 4322675 4 90 | 2130899 3 98 +2: 749769 0 91 | 99651 0 98 +3: 836324 0 92 | 108431 0 98 +4: 669007 0 92 | 93760 0 98 +5: 666273 0 93 | 84866 0 98 +6: 558591 0 94 | 73471 0 98 +7: 517192 0 94 | 64574 0 98 +8: 442137 0 95 | 51977 0 98 +9: 394816 0 95 | 43018 0 99 +10: 339417 0 95 | 34708 0 99 +11: 298790 0 96 | 29531 0 99 +12: 258614 0 96 | 25138 0 99 +13: 227197 0 96 | 22851 0 99 +14: 196203 0 96 | 19549 0 99 +15: 172524 0 97 | 17898 0 99 +16: 151299 0 97 | 15187 0 99 +17: 133369 0 97 | 13876 0 99 +18: 118721 0 97 | 11763 0 99 +19: 106227 0 97 | 10984 0 99 +20: 95310 0 97 | 9696 0 99 +21: 86847 0 97 | 9468 0 99 +22: 80205 0 97 | 8677 0 99 +23: 73279 0 98 | 8309 0 99 +24: 67495 0 98 | 7499 0 99 +25: 63140 0 98 | 7171 0 99 +26: 59227 0 98 | 6827 0 99 +27: 55571 0 98 | 6604 0 99 +28: 52281 0 98 | 6275 0 99 +29: 49303 0 98 | 6127 0 99 +30: 46620 0 98 | 5761 0 99 +31: 1490337 1 100 | 298134 0 100 + + read | write +discontiguous blocks rpcs % cum % | rpcs % cum % +0: 81667127 85 85 | 57763716 94 94 +1: 4323960 4 90 | 2132057 3 98 +2: 749769 0 91 | 99651 0 98 +3: 836323 0 92 | 108431 0 98 +4: 669008 0 92 | 93760 0 98 +5: 666272 0 93 | 84866 0 98 +6: 558592 0 94 | 73471 0 98 +7: 517192 0 94 | 64574 0 98 +8: 442137 0 95 | 51977 0 98 +9: 394815 0 95 | 43018 0 99 +10: 339416 0 95 | 34708 0 99 +11: 298792 0 96 | 29531 0 99 +12: 258614 0 96 | 25138 0 99 +13: 227194 0 96 | 22851 0 99 +14: 196205 0 96 | 19549 0 99 +15: 172523 0 97 | 17898 0 99 +16: 151300 0 97 | 15187 0 99 +17: 133369 0 97 | 13876 0 99 +18: 118720 0 97 | 11763 0 99 +19: 106228 0 97 | 10984 0 99 +20: 95310 0 97 | 9696 0 99 +21: 86848 0 97 | 9468 0 99 +22: 80205 0 97 | 8677 0 99 +23: 73277 0 98 | 8309 0 99 +24: 67496 0 98 | 7499 0 99 +25: 63141 0 98 | 7171 0 99 +26: 59225 0 98 | 6827 0 99 +27: 55571 0 98 | 6604 0 99 +28: 52282 0 98 | 6275 0 99 +29: 49303 0 98 | 6127 0 99 +30: 46619 0 98 | 5761 0 99 +31: 1490339 1 100 | 298134 0 100 + + read | write +disk fragmented I/Os ios % cum % | ios % cum % +1: 81667127 85 85 | 57763716 94 94 +2: 4323960 4 90 | 2132056 3 98 +3: 749769 0 91 | 99650 0 98 +4: 836323 0 92 | 108431 0 98 +5: 669008 0 92 | 93760 0 98 +6: 666272 0 93 | 84866 0 98 +7: 558592 0 94 | 73471 0 98 +8: 517192 0 94 | 64574 0 98 +9: 442137 0 95 | 51977 0 98 +10: 394815 0 95 | 43018 0 99 +11: 339416 0 95 | 34708 0 99 +12: 298792 0 96 | 29531 0 99 +13: 258614 0 96 | 25138 0 99 +14: 227194 0 96 | 22851 0 99 +15: 196205 0 96 | 19549 0 99 +16: 172523 0 97 | 17898 0 99 +17: 151300 0 97 | 15187 0 99 +18: 133369 0 97 | 13876 0 99 +19: 118720 0 97 | 11763 0 99 +20: 106228 0 97 | 10984 0 99 +21: 95310 0 97 | 9696 0 99 +22: 86848 0 97 | 9468 0 99 +23: 80205 0 97 | 8676 0 99 +24: 73277 0 98 | 8308 0 99 +25: 67496 0 98 | 7499 0 99 +26: 63141 0 98 | 7171 0 99 +27: 59225 0 98 | 6827 0 99 +28: 55571 0 98 | 6604 0 99 +29: 52282 0 98 | 6275 0 99 +30: 49303 0 98 | 6127 0 99 +31: 1536958 1 100 | 303886 0 100 + + read | write +disk I/Os in flight ios % cum % | ios % cum % +1: 8732170 3 3 | 5763955 6 6 +2: 11209252 4 7 | 8762512 9 15 +3: 10964825 3 11 | 8236092 8 24 +4: 9654792 3 14 | 5430364 5 29 +5: 7580418 2 17 | 3295552 3 33 +6: 6089637 2 19 | 2467255 2 35 +7: 4760299 1 21 | 2050160 2 37 +8: 3940726 1 22 | 1793014 1 39 +9: 3348745 1 24 | 1586881 1 41 +10: 3089377 1 25 | 1443088 1 43 +11: 2882480 1 26 | 1299656 1 44 +12: 2805994 1 27 | 1212323 1 45 +13: 2714894 0 28 | 1130471 1 46 +14: 2654362 0 29 | 1055418 1 48 +15: 2568640 0 30 | 978729 1 49 +16: 2463969 0 31 | 907487 0 50 +17: 2329798 0 31 | 835921 0 50 +18: 2205563 0 32 | 782217 0 51 +19: 2078837 0 33 | 732117 0 52 +20: 1956521 0 34 | 688879 0 53 +21: 1839298 0 34 | 640760 0 53 +22: 1745784 0 35 | 611829 0 54 +23: 1661883 0 36 | 582863 0 55 +24: 1591344 0 36 | 557917 0 55 +25: 1524896 0 37 | 533445 0 56 +26: 1469842 0 37 | 512956 0 56 +27: 1417281 0 38 | 490055 0 57 +28: 1369576 0 38 | 469805 0 57 +29: 1326536 0 39 | 448604 0 58 +30: 1284379 0 39 | 429143 0 58 +31: 165650188 60 100 | 39087017 41 100 + + read | write +I/O time (1/1000s) ios % cum % | ios % cum % +1: 78258718 82 82 | 40428080 66 66 +2: 1177198 1 83 | 4176723 6 73 +4: 2082593 2 85 | 6432025 10 83 +8: 1304438 1 87 | 5122744 8 91 +16: 6840258 7 94 | 1813882 2 94 +32: 5381747 5 99 | 1794238 2 97 +64: 2152 0 99 | 1111493 1 99 +128: 56 0 99 | 212223 0 99 +256: 12 0 100 | 5942 0 99 +512: 0 0 100 | 48 0 99 +1K: 0 0 100 | 143 0 100 + + read | write +disk I/O size ios % cum % | ios % cum % +4K: 207224390 75 75 | 42904538 45 45 +8K: 285333 0 75 | 15432 0 45 +16K: 39206 0 75 | 598 0 45 +32K: 2605 0 75 | 40 0 45 +64K: 33 0 75 | 6 0 45 +128K: 0 0 75 | 33 0 45 +256K: 0 0 75 | 26 0 45 +512K: 0 0 75 | 50 0 45 +1M: 67360739 24 100 | 51895762 54 100 + + read | write +block maps msec maps % cum % | maps % cum % +1: 368317131 99 99 | 1387947 98 98 +2: 1574 0 99 | 2157 0 98 +4: 2063 0 99 | 3269 0 99 +8: 1814 0 99 | 4025 0 99 +16: 3914 0 99 | 4689 0 99 +32: 343 0 100 | 2109 0 99 +64: 0 0 100 | 179 0 100 +osd-ldiskfs.ai400x2-MDT0000.quota_slave.acct_group= +grp_accounting: +- id: 0 + usage: { inodes: 2416855, kbytes: 10214128 } +osd-ldiskfs.ai400x2-OST0000.quota_slave.acct_group= +grp_accounting: +- id: 0 + usage: { inodes: 3721, kbytes: 3184221836 } +osd-ldiskfs.ai400x2-OST0001.quota_slave.acct_group= +grp_accounting: +- id: 0 + usage: { inodes: 3718, kbytes: 3255431104 } +osd-ldiskfs.ai400x2-MDT0000.quota_slave.acct_user= +usr_accounting: +- id: 0 + usage: { inodes: 2416855, kbytes: 10214128 } +- id: 23 + usage: { inodes: 241123355, kbytes: 102141328 } +osd-ldiskfs.ai400x2-OST0000.quota_slave.acct_user= +usr_accounting: +- id: 0 + usage: { inodes: 3721, kbytes: 3184221836 } +osd-ldiskfs.ai400x2-OST0001.quota_slave.acct_user= +usr_accounting: +- id: 0 + usage: { inodes: 3718, kbytes: 3255431104 } +osd-ldiskfs.ai400x2-MDT0000.quota_slave.acct_project= +prj_accounting: +- id: 0 + usage: { inodes: 2416855, kbytes: 10214128 } +osd-ldiskfs.ai400x2-OST0000.quota_slave.acct_project= +prj_accounting: +- id: 0 + usage: { inodes: 3721, kbytes: 3184221836 } +osd-ldiskfs.ai400x2-OST0001.quota_slave.acct_project= +prj_accounting: +- id: 0 + usage: { inodes: 3718, kbytes: 3255431104 } +mdt.ai400x2-MDT0000.exports.0@lo.uuid= +ai400x2-MDT0000-lwp-MDT0000_UUID +ai400x2-MDT0000-lwp-OST0001_UUID +ai400x2-MDT0000-lwp-OST0000_UUID +mdt.ai400x2-MDT0000.exports.192.168.0.100@o2ib.uuid=0212161f-2187-4f09-9fa2-16f46da653d9 +mdt.ai400x2-MDT0000.exports.192.168.0.101@o2ib.uuid=7d511827-fb4c-48d9-bbce-99a433c164d9 +mdt.ai400x2-MDT0000.exports.192.168.0.102@o2ib.uuid=f91fd473-0feb-4b8e-a1fd-5f82376f9d50 +mdt.ai400x2-MDT0000.exports.192.168.0.103@o2ib.uuid=5e451af5-6f54-4a57-a599-ef3fbe12b8e1 +mdt.ai400x2-MDT0000.exports.192.168.0.104@o2ib.uuid=c3e880a3-6512-402a-bdba-8c59bb4d6854 +mdt.ai400x2-MDT0000.exports.192.168.0.105@o2ib.uuid=e86f5265-5f2c-43b3-bac8-09bbf595a68c +mdt.ai400x2-MDT0000.exports.192.168.0.106@o2ib.uuid=4e75673e-f1b0-4b5a-9e33-1c4b51f348a3 +mdt.ai400x2-MDT0000.exports.192.168.0.107@o2ib.uuid=3a0ecb05-b5d0-4a63-a5e3-9064602ed7eb +mdt.ai400x2-MDT0000.exports.192.168.0.108@o2ib.uuid=d32e78c7-3cce-49f1-9e11-1ea254d97d85 +mdt.ai400x2-MDT0000.exports.192.168.0.109@o2ib.uuid=ac6f219e-9908-464a-8cd9-a3730640b276 +mdt.ai400x2-MDT0000.exports.192.168.0.110@o2ib.uuid=5443fbf8-c90f-440e-912b-7d2f342a92b7 +mdt.ai400x2-MDT0000.exports.192.168.0.111@o2ib.uuid=fa9ea4b7-6ecf-492b-9f72-b6e3f5993c4b +mdt.ai400x2-MDT0000.exports.192.168.0.112@o2ib.uuid=f129d6e8-108a-4b3c-82cb-770de738a21d +mdt.ai400x2-MDT0000.exports.192.168.0.113@o2ib.uuid=61c9f273-9f32-4989-92a3-55751fc7528c +mdt.ai400x2-MDT0000.exports.192.168.0.114@o2ib.uuid=116c53f3-8a08-4603-978c-4792bcd8d52e +mdt.ai400x2-MDT0000.exports.192.168.0.115@o2ib.uuid=510379a5-998a-4bcc-a4da-6f88790faf51 +mdt.ai400x2-MDT0000.exports.192.168.5.135@o2ib.uuid= +ai400x2-MDT0000-lwp-OST0004_UUID +ai400x2-MDT0000-lwp-OST0005_UUID +ai400x2-MDT0002-mdtlov_UUID +ai400x2-MDT0000-lwp-MDT0002_UUID +mdt.ai400x2-MDT0000.exports.192.168.5.136@o2ib.uuid= +ai400x2-MDT0000-lwp-MDT0001_UUID +ai400x2-MDT0001-mdtlov_UUID +ai400x2-MDT0000-lwp-OST0003_UUID +ai400x2-MDT0000-lwp-OST0002_UUID +mdt.ai400x2-MDT0000.exports.192.168.5.137@o2ib.uuid= +ai400x2-MDT0003-mdtlov_UUID +ai400x2-MDT0000-lwp-OST0007_UUID +ai400x2-MDT0000-lwp-MDT0003_UUID +ai400x2-MDT0000-lwp-OST0006_UUID +mgs.MGS.mgs.stats= +snapshot_time 1709306082.170692005 secs.nsecs +req_waittime 73699 samples [usecs] 6 49913 4812259 42020469601 +req_qdepth 73699 samples [reqs] 0 0 0 0 +req_active 73699 samples [reqs] 1 3 73808 74032 +req_timeout 73699 samples [secs] 15 15 1105485 16582275 +reqbuf_avail 147359 samples [bufs] 61 64 9283354 584835438 +ldlm_plain_enqueue 722 samples [reqs] 1 1 722 722 +mgs_connect 171 samples [usecs] 15 73 5222 194162 +mgs_disconnect 149 samples [usecs] 10 59 2312 43686 +mgs_target_reg 6 samples [usecs] 9 556 978 370360 +mgs_config_read 176 samples [usecs] 19 186 10274 667442 +obd_ping 70365 samples [usecs] 3 49041 2169610 17505099758 +llog_origin_handle_open 541 samples [usecs] 6 1319 10745 2559905 +llog_origin_handle_next_block 1199 samples [usecs] 7 419 15687 946229 +llog_origin_handle_read_header 370 samples [usecs] 6 261 7887 1005381 +mgs.MGS.mgs.threads_max=32 +mgs.MGS.mgs.threads_min=3 +mgs.MGS.mgs.threads_started=4 +mgs.MGS.num_exports=20 +obdfilter.ai400x2-OST0000.job_stats=job_stats: +obdfilter.ai400x2-OST0001.job_stats=job_stats: +obdfilter.ai400x2-OST0000.stats= +snapshot_time 1709306082.170995043 secs.nsecs +read_bytes 71482249 samples [bytes] 4096 1048576 58370831220736 5356592093840015360 +write_bytes 51198558 samples [bytes] 4096 1048576 47288584560640 12593290949599166464 +read 71482249 samples [usecs] 13 640342 462391903386 6394091957365906 +write 51198558 samples [usecs] 1 180084 91797930838 475551482436466 +punch 453 samples [usecs] 9 601 13811 2419661 +sync 771 samples [usecs] 0 233833 5520406 405123348902 +create 16 samples [usecs] 1546 284516 574180 93247395606 +statfs 142531 samples [usecs] 0 26666 634747 714999967 +get_info 2 samples [usecs] 5 6 11 61 +set_info 58 samples [usecs] 2 15 440 3678 +obdfilter.ai400x2-OST0001.stats= +snapshot_time 1709306082.171022229 secs.nsecs +read_bytes 95047172 samples [bytes] 4096 1048576 71484548943872 459021499014053888 +write_bytes 61097554 samples [bytes] 4096 1048576 54592520048640 1760900120527765504 +read 95047172 samples [usecs] 13 638986 484812403750 6419423362201602 +write 61097554 samples [usecs] 1 182399 98807931704 505713687526192 +punch 464 samples [usecs] 10 211 10896 447630 +sync 793 samples [usecs] 0 226593 7910557 575376403949 +create 16 samples [usecs] 2361 289694 539400 93406251682 +statfs 142532 samples [usecs] 0 86 584723 3564125 +get_info 2 samples [usecs] 4 4 8 32 +set_info 58 samples [usecs] 3 23 419 3539 +obdfilter.ai400x2-OST0000.num_exports=12 +obdfilter.ai400x2-OST0001.num_exports=12 +obdfilter.ai400x2-OST0000.tot_dirty=94437376 +obdfilter.ai400x2-OST0001.tot_dirty=98729984 +obdfilter.ai400x2-OST0000.tot_granted=4544887232 +obdfilter.ai400x2-OST0001.tot_granted=4448762304 +obdfilter.ai400x2-OST0000.tot_pending=0 +obdfilter.ai400x2-OST0001.tot_pending=0 +ost.OSS.ost.stats= +snapshot_time 1709306082.171280493 secs.nsecs +req_waittime 83250 samples [usecs] 4 27134 2316419 8367668909 +req_qdepth 83250 samples [reqs] 0 3 153 161 +req_active 83250 samples [reqs] 1 12 98604 142186 +req_timeout 83250 samples [secs] 15 15 1248750 18731250 +reqbuf_avail 174518 samples [bufs] 63 64 11164101 714184251 +ldlm_glimpse_enqueue 70569 samples [reqs] 1 1 70569 70569 +ldlm_extent_enqueue 1564 samples [reqs] 1 1 1564 1564 +ost_create 32 samples [usecs] 1560 289717 1114184 186706180850 +ost_get_info 4 samples [usecs] 10 23 60 998 +ost_connect 409 samples [usecs] 8 47049 91550 2331032792 +ost_disconnect 345 samples [usecs] 18 3080 28704 14077548 +ost_sync 1564 samples [usecs] 7 233847 13450680 980959810506 +ost_set_info 116 samples [usecs] 10 48 2893 80653 +obd_ping 8647 samples [usecs] 5 11543 166718 136487662 +ost.OSS.ost_io.stats= +snapshot_time 1709306082.171339840 secs.nsecs +req_waittime 278826450 samples [usecs] 3 256381 679180789541 17033293421667587 +req_qdepth 278826450 samples [reqs] 0 57 2996612 4115824 +req_active 278826450 samples [reqs] 1 82 8212823748 445460199062 +req_timeout 278826450 samples [secs] 15 15 4182396750 62735951250 +reqbuf_avail 576765593 samples [bufs] 61 64 36852221769 2354713494223 +ost_read 166529421 samples [usecs] 25 640373 951059111021 12867597685838659 +ost_write 112296112 samples [usecs] 107 1330182 1108563975461 26954717981473657 +ost_punch 917 samples [usecs] 17 609 35595 3676339 +ost.OSS.ost_create.stats= +snapshot_time 1709306082.171389681 secs.nsecs +req_waittime 285063 samples [usecs] 4 50240 17442945 136104207523 +req_qdepth 285063 samples [reqs] 0 1 102 102 +req_active 285063 samples [reqs] 1 2 317581 382617 +req_timeout 285063 samples [secs] 15 15 4275945 64139175 +reqbuf_avail 581187 samples [bufs] 63 64 37185744 2379243504 +ost_statfs 285063 samples [usecs] 4 49790 8609278 28510056070 +ost.OSS.ost_out.stats= +snapshot_time 1709306082.171434620 secs.nsecs +req_waittime 62804 samples [usecs] 9 36100 4186292 32540407268 +req_qdepth 62804 samples [reqs] 0 0 0 0 +req_active 62804 samples [reqs] 1 2 62806 62810 +req_timeout 62804 samples [secs] 15 15 942060 14130900 +reqbuf_avail 128825 samples [bufs] 63 64 8243619 527517213 +mds_connect 27 samples [usecs] 35 26576 45671 802779901 +mds_statfs 62757 samples [usecs] 4 13772 1864962 247874738 +obd_ping 4 samples [usecs] 9 12 40 406 +out_update 16 samples [usecs] 13 18295 23778 339079170 +ost.OSS.ost_seq.stats=snapshot_time 1709306082.171480402 secs.nsecs +mdt.ai400x2-MDT0000.job_stats=job_stats: +mdt.ai400x2-MDT0000.md_stats= +snapshot_time 1709306082.171569687 secs.nsecs +open 512 samples [usecs] 64 39146 772784 11053232614 +close 114600 samples [usecs] 6 4052 2630805 117582745 +mknod 512 samples [usecs] 59 39101 767427 11030140065 +getattr 128155 samples [usecs] 1 2989 989676 146718346 +setattr 516 samples [usecs] 26 121 22544 1044320 +getxattr 48656 samples [usecs] 6 1091 687561 11650127 +statfs 124801 samples [usecs] 0 95 1292933 18510209 +sync 512 samples [usecs] 4 50 7767 129923 +mdt.ai400x2-MDT0000.num_exports=31 +qmt.ai400x2-QMT0000.dt-0x0.glb-usr= +global_pool0_dt_usr +- id: 0 + limits: { hard: 0, soft: 0, granted: 0, time: 604800 } +qmt.ai400x2-QMT0000.md-0x0.glb-usr= +global_pool0_md_usr +- id: 0 + limits: { hard: 0, soft: 0, granted: 0, time: 604800 } +qmt.ai400x2-QMT0000.dt-0x0.glb-prj= +global_pool0_dt_prj +- id: 0 + limits: { hard: 0, soft: 0, granted: 0, time: 604800 } +qmt.ai400x2-QMT0000.md-0x0.glb-prj= +global_pool0_md_prj +- id: 0 + limits: { hard: 0, soft: 0, granted: 0, time: 604800 } +qmt.ai400x2-QMT0000.dt-0x0.glb-grp= +global_pool0_dt_grp +- id: 0 + limits: { hard: 0, soft: 0, granted: 0, time: 604800 } +qmt.ai400x2-QMT0000.md-0x0.glb-grp= +global_pool0_md_grp +- id: 0 + limits: { hard: 0, soft: 0, granted: 0, time: 604800 } +ldlm.namespaces.mdt-ai400x2-MDT0000_UUID.contended_locks=32 +ldlm.namespaces.filter-ai400x2-OST0000_UUID.contended_locks=32 +ldlm.namespaces.filter-ai400x2-OST0001_UUID.contended_locks=32 +ldlm.namespaces.mdt-ai400x2-MDT0000_UUID.contention_seconds=2 +ldlm.namespaces.filter-ai400x2-OST0000_UUID.contention_seconds=2 +ldlm.namespaces.filter-ai400x2-OST0001_UUID.contention_seconds=2 +ldlm.namespaces.mdt-ai400x2-MDT0000_UUID.ctime_age_limit=10 +ldlm.namespaces.filter-ai400x2-OST0000_UUID.ctime_age_limit=10 +ldlm.namespaces.filter-ai400x2-OST0001_UUID.ctime_age_limit=10 +ldlm.namespaces.mdt-ai400x2-MDT0000_UUID.early_lock_cancel=0 +ldlm.namespaces.filter-ai400x2-OST0000_UUID.early_lock_cancel=0 +ldlm.namespaces.filter-ai400x2-OST0001_UUID.early_lock_cancel=0 +ldlm.namespaces.mdt-ai400x2-MDT0000_UUID.lock_count=520 +ldlm.namespaces.filter-ai400x2-OST0000_UUID.lock_count=347 +ldlm.namespaces.filter-ai400x2-OST0001_UUID.lock_count=364 +ldlm.namespaces.mdt-ai400x2-MDT0000_UUID.lock_timeouts=0 +ldlm.namespaces.filter-ai400x2-OST0000_UUID.lock_timeouts=0 +ldlm.namespaces.filter-ai400x2-OST0001_UUID.lock_timeouts=0 +ldlm.namespaces.mdt-ai400x2-MDT0000_UUID.lock_unused_count=0 +ldlm.namespaces.filter-ai400x2-OST0000_UUID.lock_unused_count=0 +ldlm.namespaces.filter-ai400x2-OST0001_UUID.lock_unused_count=0 +ldlm.namespaces.mdt-ai400x2-MDT0000_UUID.lru_max_age=3900000 +ldlm.namespaces.filter-ai400x2-OST0000_UUID.lru_max_age=3900000 +ldlm.namespaces.filter-ai400x2-OST0001_UUID.lru_max_age=3900000 +ldlm.namespaces.mdt-ai400x2-MDT0000_UUID.lru_size=2400 +ldlm.namespaces.filter-ai400x2-OST0000_UUID.lru_size=2400 +ldlm.namespaces.filter-ai400x2-OST0001_UUID.lru_size=2400 +ldlm.namespaces.mdt-ai400x2-MDT0000_UUID.max_nolock_bytes=0 +ldlm.namespaces.filter-ai400x2-OST0000_UUID.max_nolock_bytes=0 +ldlm.namespaces.filter-ai400x2-OST0001_UUID.max_nolock_bytes=0 +ldlm.namespaces.mdt-ai400x2-MDT0000_UUID.max_parallel_ast=1024 +ldlm.namespaces.filter-ai400x2-OST0000_UUID.max_parallel_ast=1024 +ldlm.namespaces.filter-ai400x2-OST0001_UUID.max_parallel_ast=1024 +ldlm.namespaces.mdt-ai400x2-MDT0000_UUID.resource_count=257 +ldlm.namespaces.filter-ai400x2-OST0000_UUID.resource_count=347 +ldlm.namespaces.filter-ai400x2-OST0001_UUID.resource_count=364 +ldlm.services.ldlm_canceld.stats= +snapshot_time 1709306082.173788842 secs.nsecs +req_waittime 241065 samples [usecs] 2 16760 7505570 1799848938 +req_qdepth 241065 samples [reqs] 0 76 2454 23382 +req_active 241065 samples [reqs] 1 15 319673 583397 +req_timeout 241065 samples [secs] 15 15 3615975 54239625 +reqbuf_avail 498763 samples [bufs] 49 64 31759437 2022603051 +ldlm_cancel 241065 samples [usecs] 2 63482 16282441 171849796047 +ldlm.services.ldlm_cbd.stats= +snapshot_time 1709306082.173837863 secs.nsecs +req_waittime 2 samples [usecs] 33 36 69 2385 +req_qdepth 2 samples [reqs] 0 0 0 0 +req_active 2 samples [reqs] 1 1 2 2 +req_timeout 2 samples [secs] 15 15 30 450 +reqbuf_avail 6 samples [bufs] 1 1 6 6 +ldlm_bl_callback 2 samples [usecs] 18 19 37 685 diff --git a/src/lib.rs b/src/lib.rs index ef13ccd..12bada7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -16,6 +16,7 @@ mod node_stats_parsers; mod osd_parser; mod oss; pub mod parser; +pub(crate) mod quota; pub mod recovery_status_parser; mod stats_parser; mod time; diff --git a/src/osd_parser.rs b/src/osd_parser.rs index d9c07ec..2e21d3e 100644 --- a/src/osd_parser.rs +++ b/src/osd_parser.rs @@ -5,7 +5,9 @@ use crate::{ base_parsers::{digits, param, period, target, till_newline, till_period}, brw_stats_parser::brw_stats, + quota::quota_parser::quota_stats_osd, types::{BrwStats, Param, Record, Target, TargetStat, TargetStats, TargetVariant}, + QuotaKind, QuotaStatsOsd, }; use combine::{ attempt, choice, @@ -24,6 +26,10 @@ pub(crate) const FS_TYPE: &str = "fstype"; pub(crate) const BRW_STATS: &str = "brw_stats"; +pub(crate) const QUOTA_ACCT_GRP: &str = "quota_slave.acct_group"; +pub(crate) const QUOTA_ACCT_USR: &str = "quota_slave.acct_user"; +pub(crate) const QUOTA_ACCT_PRJ: &str = "quota_slave.acct_project"; + pub(crate) fn params() -> Vec { vec![ format!("osd-*.*.{FILES_FREE}"), @@ -33,6 +39,9 @@ pub(crate) fn params() -> Vec { format!("osd-*.*.{KBYTES_FREE}"), format!("osd-*.*.{KBYTES_TOTAL}"), format!("osd-*.*.{BRW_STATS}"), + format!("osd-*.*.{QUOTA_ACCT_GRP}"), + format!("osd-*.*.{QUOTA_ACCT_USR}"), + format!("osd-*.*.{QUOTA_ACCT_PRJ}"), ] } @@ -51,6 +60,7 @@ enum OsdStat { /// Total disk space KBytesTotal(u64), BrwStats(Vec), + QuotaStats(QuotaStatsOsd), } fn target_and_variant() -> impl Parser @@ -107,6 +117,33 @@ where param(KBYTES_TOTAL), digits().skip(newline()).map(OsdStat::KBytesTotal), ), + ( + param(QUOTA_ACCT_GRP), + quota_stats_osd().map(|stats| { + OsdStat::QuotaStats(QuotaStatsOsd { + kind: QuotaKind::Grp, + stats, + }) + }), + ), + ( + param(QUOTA_ACCT_PRJ), + quota_stats_osd().map(|stats| { + OsdStat::QuotaStats(QuotaStatsOsd { + kind: QuotaKind::Prj, + stats, + }) + }), + ), + ( + param(QUOTA_ACCT_USR), + quota_stats_osd().map(|stats| { + OsdStat::QuotaStats(QuotaStatsOsd { + kind: QuotaKind::Usr, + stats, + }) + }), + ), )) } @@ -159,6 +196,12 @@ where param, value, }), + OsdStat::QuotaStats(value) => TargetStats::QuotaStatsOsd(TargetStat { + kind, + target, + param, + value, + }), }) .map(Record::Target) .message("while parsing osd") diff --git a/src/oss/job_stats.rs b/src/oss/job_stats.rs index b995b76..bb8679b 100644 --- a/src/oss/job_stats.rs +++ b/src/oss/job_stats.rs @@ -4,7 +4,7 @@ use crate::types::{JobStatOst, JobStatsOst}; use combine::{ - attempt, + attempt, eof, error::{ParseError, StreamError}, optional, parser::{ @@ -22,9 +22,10 @@ where { ( optional(newline()), // If Jobstats are present, the whole yaml blob will be on a newline - take_until(attempt((newline(), alpha_num()))), + take_until(attempt((newline(), alpha_num()).map(drop).or(eof()))), ) - .skip(newline()) + .skip(optional(newline())) + .skip(optional(eof())) .and_then(|(_, x): (_, String)| { serde_yaml::from_str(&x) .map(|x: JobStatsOst| x.job_stats) diff --git a/src/parser.rs b/src/parser.rs index 0d8175e..911ce53 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -6,7 +6,7 @@ use crate::{ ldlm, llite, mdd_parser, mds::{self, client_count_parser}, mgs::mgs_parser, - osd_parser, oss, top_level_parser, + osd_parser, oss, quota, top_level_parser, types::Record, }; use combine::{choice, error::ParseError, many, Parser, Stream}; @@ -22,6 +22,7 @@ pub fn params() -> Vec { .chain(ldlm::params()) .chain(llite::params()) .chain(mdd_parser::params()) + .chain(quota::params()) .collect() } @@ -40,6 +41,7 @@ where ldlm::parse().map(|x| vec![x]), llite::parse().map(|x| vec![x]), mdd_parser::parse().map(|x| vec![x]), + quota::parse().map(|x| vec![x]), ))) .map(|xs: Vec<_>| xs.into_iter().flatten().collect()) } diff --git a/src/quota/mod.rs b/src/quota/mod.rs new file mode 100644 index 0000000..c219736 --- /dev/null +++ b/src/quota/mod.rs @@ -0,0 +1,22 @@ +// Copyright (c) 2024 DDN. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +use crate::{base_parsers::period, Record}; +use combine::{parser::char::string, ParseError, Parser, Stream}; + +pub(crate) mod quota_parser; + +pub(crate) const QMT: &str = "qmt"; + +pub(crate) fn params() -> Vec { + quota_parser::params() +} + +pub(crate) fn parse() -> impl Parser +where + I: Stream, + I::Error: ParseError, +{ + (string(QMT), period()).with(quota_parser::qmt_parse()) +} diff --git a/src/quota/quota_parser.rs b/src/quota/quota_parser.rs new file mode 100644 index 0000000..e7b1a25 --- /dev/null +++ b/src/quota/quota_parser.rs @@ -0,0 +1,214 @@ +// Copyright (c) 2024 DDN. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +use crate::{ + base_parsers::{param, period, target}, + quota::QMT, + types::{Param, Record, Target, TargetStats}, + QuotaKind, QuotaStat, QuotaStatOsd, QuotaStats, TargetQuotaStat, +}; +use combine::{ + attempt, choice, eof, + error::{ParseError, StreamError}, + optional, + parser::{ + char::{alpha_num, newline, string}, + repeat::take_until, + }, + stream::{Stream, StreamErrorFor}, + token, Parser, +}; + +pub(crate) const USR_QUOTAS: &str = "usr"; +pub(crate) const PRJ_QUOTAS: &str = "prj"; +pub(crate) const GRP_QUOTAS: &str = "grp"; +pub(crate) const QMT_STATS: [&str; 3] = [USR_QUOTAS, PRJ_QUOTAS, GRP_QUOTAS]; + +/// Takes QMT_STATS and produces a list of params for +/// consumption in proper ltcl get_param format. +pub(crate) fn params() -> Vec { + QMT_STATS + .iter() + .map(|x| format!("{QMT}.*.*.glb-{x}")) + .collect() +} + +/// Parses a target name +pub(crate) fn qmt_pool() -> impl Parser +where + I: Stream, + I::Error: ParseError, +{ + ( + choice(( + string("md").skip(token('-')).map(|x| Target(x.to_string())), + string("dt").skip(token('-')).map(|x| Target(x.to_string())), + )), + target(), + ) +} + +/// Parses the name of a target +fn qmt_target() -> impl Parser +where + I: Stream, + I::Error: ParseError, +{ + (target().skip(period()), qmt_pool().skip(period())) + .map(|(target, (manager, pool))| (target, manager, pool)) + .message("while parsing target_name") +} + +pub(crate) fn quota_stats() -> impl Parser> +where + I: Stream, + I::Error: ParseError, +{ + ( + optional(newline()), // If quota stats are present, the whole yaml blob will start on a newline + take_until::, _, _>(newline()), // But yaml header might not be indented, ignore it + newline(), + take_until(attempt((newline(), alpha_num()).map(drop).or(eof()))), + ) + .skip(optional(newline())) + .skip(optional(eof())) + .and_then(|(_, _, _, x): (_, _, _, String)| { + serde_yaml::from_str::>(&x).map_err(StreamErrorFor::::other) + }) +} + +pub(crate) fn quota_stats_osd() -> impl Parser> +where + I: Stream, + I::Error: ParseError, +{ + ( + optional(newline()), // If quota stats are present, the whole yaml blob will start on a newline + take_until::, _, _>(newline()), // But yaml header might not be indented, ignore it + newline(), + take_until(attempt((newline(), alpha_num()).map(drop).or(eof()))), + ) + .skip(optional(newline())) + .skip(optional(eof())) + .and_then(|(_, _, _, x): (_, _, _, String)| { + serde_yaml::from_str::>(&x).map_err(StreamErrorFor::::other) + }) +} + +#[derive(Debug)] +pub enum QMTStat { + Usr(Vec), + Prj(Vec), + Grp(Vec), +} + +pub(crate) fn qmt_stat() -> impl Parser +where + I: Stream, + I::Error: ParseError, +{ + ( + string("glb-"), + choice(( + (param(USR_QUOTAS), quota_stats().map(QMTStat::Usr)), + (param(PRJ_QUOTAS), quota_stats().map(QMTStat::Prj)), + (param(GRP_QUOTAS), quota_stats().map(QMTStat::Grp)), + )), + ) + .map(|(_, param)| (param)) +} +pub(crate) fn qmt_parse() -> impl Parser +where + I: Stream, + I::Error: ParseError, +{ + (qmt_target(), qmt_stat()) + .map( + |((target, Target(manager), Target(pool)), (param, value))| match value { + QMTStat::Usr(stats) => TargetStats::QuotaStats(TargetQuotaStat { + pool, + manager, + target, + param, + value: QuotaStats { + kind: QuotaKind::Usr, + stats, + }, + }), + QMTStat::Prj(stats) => TargetStats::QuotaStats(TargetQuotaStat { + pool, + manager, + target, + param, + value: QuotaStats { + kind: QuotaKind::Prj, + stats, + }, + }), + QMTStat::Grp(stats) => TargetStats::QuotaStats(TargetQuotaStat { + pool, + manager, + target, + param, + value: QuotaStats { + kind: QuotaKind::Grp, + stats, + }, + }), + }, + ) + .map(Record::Target) + .message("while parsing qmt") +} + +#[cfg(test)] +mod tests { + use crate::{QuotaStat, QuotaStatLimits}; + + use super::*; + + #[test] + fn test_qmt_params() { + assert_eq!( + params(), + vec![ + "qmt.*.*.glb-usr".to_string(), + "qmt.*.*.glb-prj".to_string(), + "qmt.*.*.glb-grp".to_string(), + ] + ) + } + + #[test] + fn test_yaml_deserialize() { + let x = r#" +- id: 0 + limits: { hard: 0, soft: 0, granted: 0, time: 604800 } +- id: 1337 + limits: { hard: 309200, soft: 307200, granted: 1025032, time: 1687277628 }"#; + + let expected = vec![ + QuotaStat { + id: 0, + limits: QuotaStatLimits { + hard: 0, + soft: 0, + granted: 0, + time: 604800, + }, + }, + QuotaStat { + id: 1337, + limits: QuotaStatLimits { + hard: 309200, + soft: 307200, + granted: 1025032, + time: 1687277628, + }, + }, + ]; + + assert_eq!(serde_yaml::from_str::>(x).unwrap(), expected) + } +} diff --git a/src/snapshots/lustre_collector__parser__tests__params.snap b/src/snapshots/lustre_collector__parser__tests__params.snap index 55d4752..6f50049 100644 --- a/src/snapshots/lustre_collector__parser__tests__params.snap +++ b/src/snapshots/lustre_collector__parser__tests__params.snap @@ -15,6 +15,9 @@ expression: params() "osd-*.*.kbytesfree", "osd-*.*.kbytestotal", "osd-*.*.brw_stats", + "osd-*.*.quota_slave.acct_group", + "osd-*.*.quota_slave.acct_user", + "osd-*.*.quota_slave.acct_project", "mgs.*.mgs.stats", "mgs.*.mgs.threads_max", "mgs.*.mgs.threads_min", @@ -60,4 +63,7 @@ expression: params() "ldlm.services.ldlm_cbd.stats", "llite.*.stats", "mdd.*.changelog_users", + "qmt.*.*.glb-usr", + "qmt.*.*.glb-prj", + "qmt.*.*.glb-grp", ] diff --git a/src/snapshots/lustre_collector__parser__tests__valid_fixture_2.14.0_ddn133_quota.txt.snap b/src/snapshots/lustre_collector__parser__tests__valid_fixture_2.14.0_ddn133_quota.txt.snap new file mode 100644 index 0000000..fb8b981 --- /dev/null +++ b/src/snapshots/lustre_collector__parser__tests__valid_fixture_2.14.0_ddn133_quota.txt.snap @@ -0,0 +1,6929 @@ +--- +source: src/parser.rs +expression: result +--- +( + [ + Host( + Memused( + HostStat { + param: Param( + "memused", + ), + value: 2588372501, + }, + ), + ), + Host( + MemusedMax( + HostStat { + param: Param( + "memused_max", + ), + value: 2614502697, + }, + ), + ), + Host( + LNetMemUsed( + HostStat { + param: Param( + "lnet_memused", + ), + value: 174891774, + }, + ), + ), + Host( + HealthCheck( + HostStat { + param: Param( + "health_check", + ), + value: HealthCheckStat { + healthy: true, + targets: [], + }, + }, + ), + ), + Target( + ConnectedClients( + TargetStat { + kind: Mdt, + param: Param( + "connected_clients", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 16, + }, + ), + ), + Target( + FilesFree( + TargetStat { + kind: Mgt, + param: Param( + "filesfree", + ), + target: Target( + "MGS", + ), + value: 130871, + }, + ), + ), + Target( + FilesFree( + TargetStat { + kind: Mdt, + param: Param( + "filesfree", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 255306055, + }, + ), + ), + Target( + FilesFree( + TargetStat { + kind: Ost, + param: Param( + "filesfree", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 276820333, + }, + ), + ), + Target( + FilesFree( + TargetStat { + kind: Ost, + param: Param( + "filesfree", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 276820336, + }, + ), + ), + Target( + FilesTotal( + TargetStat { + kind: Mgt, + param: Param( + "filestotal", + ), + target: Target( + "MGS", + ), + value: 131072, + }, + ), + ), + Target( + FilesTotal( + TargetStat { + kind: Mdt, + param: Param( + "filestotal", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 257722920, + }, + ), + ), + Target( + FilesTotal( + TargetStat { + kind: Ost, + param: Param( + "filestotal", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 276824064, + }, + ), + ), + Target( + FilesTotal( + TargetStat { + kind: Ost, + param: Param( + "filestotal", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 276824064, + }, + ), + ), + Target( + FsType( + TargetStat { + kind: Mgt, + param: Param( + "fstype", + ), + target: Target( + "MGS", + ), + value: "ldiskfs", + }, + ), + ), + Target( + FsType( + TargetStat { + kind: Mdt, + param: Param( + "fstype", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: "ldiskfs", + }, + ), + ), + Target( + FsType( + TargetStat { + kind: Ost, + param: Param( + "fstype", + ), + target: Target( + "ai400x2-OST0000", + ), + value: "ldiskfs", + }, + ), + ), + Target( + FsType( + TargetStat { + kind: Ost, + param: Param( + "fstype", + ), + target: Target( + "ai400x2-OST0001", + ), + value: "ldiskfs", + }, + ), + ), + Target( + KBytesAvail( + TargetStat { + kind: Mgt, + param: Param( + "kbytesavail", + ), + target: Target( + "MGS", + ), + value: 1873804, + }, + ), + ), + Target( + KBytesAvail( + TargetStat { + kind: Mdt, + param: Param( + "kbytesavail", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 349493720, + }, + ), + ), + Target( + KBytesAvail( + TargetStat { + kind: Ost, + param: Param( + "kbytesavail", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 31477515820, + }, + ), + ), + Target( + KBytesAvail( + TargetStat { + kind: Ost, + param: Param( + "kbytesavail", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 31406306552, + }, + ), + ), + Target( + KBytesFree( + TargetStat { + kind: Mgt, + param: Param( + "kbytesfree", + ), + target: Target( + "MGS", + ), + value: 1978660, + }, + ), + ), + Target( + KBytesFree( + TargetStat { + kind: Mdt, + param: Param( + "kbytesfree", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 355935844, + }, + ), + ), + Target( + KBytesFree( + TargetStat { + kind: Ost, + param: Param( + "kbytesfree", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 31831867004, + }, + ), + ), + Target( + KBytesFree( + TargetStat { + kind: Ost, + param: Param( + "kbytesfree", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 31760657736, + }, + ), + ), + Target( + KBytesTotal( + TargetStat { + kind: Mgt, + param: Param( + "kbytestotal", + ), + target: Target( + "MGS", + ), + value: 1980036, + }, + ), + ), + Target( + KBytesTotal( + TargetStat { + kind: Mdt, + param: Param( + "kbytestotal", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 366222772, + }, + ), + ), + Target( + KBytesTotal( + TargetStat { + kind: Ost, + param: Param( + "kbytestotal", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 35016088872, + }, + ), + ), + Target( + KBytesTotal( + TargetStat { + kind: Ost, + param: Param( + "kbytestotal", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 35016088872, + }, + ), + ), + Target( + BrwStats( + TargetStat { + kind: Mgt, + param: Param( + "brw_stats", + ), + target: Target( + "MGS", + ), + value: [ + BrwStats { + name: "pages", + unit: "rpcs", + buckets: [], + }, + BrwStats { + name: "discont_pages", + unit: "rpcs", + buckets: [], + }, + BrwStats { + name: "discont_blocks", + unit: "rpcs", + buckets: [], + }, + BrwStats { + name: "dio_frags", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "rpc_hist", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "io_time", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "disk_iosize", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "block_maps_msec", + unit: "maps", + buckets: [], + }, + ], + }, + ), + ), + Target( + BrwStats( + TargetStat { + kind: Mdt, + param: Param( + "brw_stats", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: [ + BrwStats { + name: "pages", + unit: "rpcs", + buckets: [], + }, + BrwStats { + name: "discont_pages", + unit: "rpcs", + buckets: [], + }, + BrwStats { + name: "discont_blocks", + unit: "rpcs", + buckets: [], + }, + BrwStats { + name: "dio_frags", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "rpc_hist", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "io_time", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "disk_iosize", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "block_maps_msec", + unit: "maps", + buckets: [], + }, + ], + }, + ), + ), + Target( + BrwStats( + TargetStat { + kind: Ost, + param: Param( + "brw_stats", + ), + target: Target( + "ai400x2-OST0000", + ), + value: [ + BrwStats { + name: "pages", + unit: "rpcs", + buckets: [ + BrwStatsBucket { + name: 1, + read: 8747797, + write: 4054463, + }, + BrwStatsBucket { + name: 2, + read: 2334013, + write: 1515227, + }, + BrwStatsBucket { + name: 4, + read: 737243, + write: 92254, + }, + BrwStatsBucket { + name: 8, + read: 1008957, + write: 116099, + }, + BrwStatsBucket { + name: 16, + read: 1221985, + write: 114115, + }, + BrwStatsBucket { + name: 32, + read: 1111658, + write: 103665, + }, + BrwStatsBucket { + name: 64, + read: 679356, + write: 90148, + }, + BrwStatsBucket { + name: 128, + read: 572178, + write: 133272, + }, + BrwStatsBucket { + name: 256, + read: 55069062, + write: 44979318, + }, + ], + }, + BrwStats { + name: "discont_pages", + unit: "rpcs", + buckets: [ + BrwStatsBucket { + name: 0, + read: 63816980, + write: 49033877, + }, + BrwStatsBucket { + name: 1, + read: 2334290, + write: 1515228, + }, + BrwStatsBucket { + name: 2, + read: 375707, + write: 44821, + }, + BrwStatsBucket { + name: 3, + read: 362181, + write: 47438, + }, + BrwStatsBucket { + name: 4, + read: 289391, + write: 37185, + }, + BrwStatsBucket { + name: 5, + read: 265223, + write: 31450, + }, + BrwStatsBucket { + name: 6, + read: 237771, + write: 24889, + }, + BrwStatsBucket { + name: 7, + read: 217645, + write: 22572, + }, + BrwStatsBucket { + name: 8, + read: 197956, + write: 19901, + }, + BrwStatsBucket { + name: 9, + read: 182802, + write: 17563, + }, + BrwStatsBucket { + name: 10, + read: 169267, + write: 15491, + }, + BrwStatsBucket { + name: 11, + read: 156552, + write: 14489, + }, + BrwStatsBucket { + name: 12, + read: 144807, + write: 13311, + }, + BrwStatsBucket { + name: 13, + read: 133666, + write: 12706, + }, + BrwStatsBucket { + name: 14, + read: 122979, + write: 10805, + }, + BrwStatsBucket { + name: 15, + read: 114900, + write: 9852, + }, + BrwStatsBucket { + name: 16, + read: 107381, + write: 9099, + }, + BrwStatsBucket { + name: 17, + read: 99626, + write: 8475, + }, + BrwStatsBucket { + name: 18, + read: 93541, + write: 7822, + }, + BrwStatsBucket { + name: 19, + read: 87033, + write: 7520, + }, + BrwStatsBucket { + name: 20, + read: 82113, + write: 7226, + }, + BrwStatsBucket { + name: 21, + read: 77113, + write: 7109, + }, + BrwStatsBucket { + name: 22, + read: 72575, + write: 6555, + }, + BrwStatsBucket { + name: 23, + read: 68098, + write: 6635, + }, + BrwStatsBucket { + name: 24, + read: 64374, + write: 6418, + }, + BrwStatsBucket { + name: 25, + read: 59828, + write: 6312, + }, + BrwStatsBucket { + name: 26, + read: 57325, + write: 5771, + }, + BrwStatsBucket { + name: 27, + read: 53865, + write: 5516, + }, + BrwStatsBucket { + name: 28, + read: 50854, + write: 5129, + }, + BrwStatsBucket { + name: 29, + read: 48428, + write: 4926, + }, + BrwStatsBucket { + name: 30, + read: 45799, + write: 4697, + }, + BrwStatsBucket { + name: 31, + read: 1292179, + write: 227773, + }, + ], + }, + BrwStats { + name: "discont_blocks", + unit: "rpcs", + buckets: [ + BrwStatsBucket { + name: 0, + read: 63816064, + write: 49033251, + }, + BrwStatsBucket { + name: 1, + read: 2335206, + write: 1515854, + }, + BrwStatsBucket { + name: 2, + read: 375707, + write: 44821, + }, + BrwStatsBucket { + name: 3, + read: 362181, + write: 47438, + }, + BrwStatsBucket { + name: 4, + read: 289391, + write: 37185, + }, + BrwStatsBucket { + name: 5, + read: 265223, + write: 31450, + }, + BrwStatsBucket { + name: 6, + read: 237770, + write: 24889, + }, + BrwStatsBucket { + name: 7, + read: 217645, + write: 22572, + }, + BrwStatsBucket { + name: 8, + read: 197956, + write: 19901, + }, + BrwStatsBucket { + name: 9, + read: 182803, + write: 17563, + }, + BrwStatsBucket { + name: 10, + read: 169266, + write: 15491, + }, + BrwStatsBucket { + name: 11, + read: 156553, + write: 14489, + }, + BrwStatsBucket { + name: 12, + read: 144807, + write: 13311, + }, + BrwStatsBucket { + name: 13, + read: 133665, + write: 12706, + }, + BrwStatsBucket { + name: 14, + read: 122979, + write: 10805, + }, + BrwStatsBucket { + name: 15, + read: 114901, + write: 9852, + }, + BrwStatsBucket { + name: 16, + read: 107381, + write: 9099, + }, + BrwStatsBucket { + name: 17, + read: 99625, + write: 8475, + }, + BrwStatsBucket { + name: 18, + read: 93539, + write: 7822, + }, + BrwStatsBucket { + name: 19, + read: 87034, + write: 7520, + }, + BrwStatsBucket { + name: 20, + read: 82113, + write: 7226, + }, + BrwStatsBucket { + name: 21, + read: 77115, + write: 7109, + }, + BrwStatsBucket { + name: 22, + read: 72575, + write: 6555, + }, + BrwStatsBucket { + name: 23, + read: 68096, + write: 6635, + }, + BrwStatsBucket { + name: 24, + read: 64374, + write: 6418, + }, + BrwStatsBucket { + name: 25, + read: 59829, + write: 6312, + }, + BrwStatsBucket { + name: 26, + read: 57325, + write: 5771, + }, + BrwStatsBucket { + name: 27, + read: 53865, + write: 5516, + }, + BrwStatsBucket { + name: 28, + read: 50854, + write: 5129, + }, + BrwStatsBucket { + name: 29, + read: 48428, + write: 4926, + }, + BrwStatsBucket { + name: 30, + read: 45798, + write: 4697, + }, + BrwStatsBucket { + name: 31, + read: 1292181, + write: 227773, + }, + ], + }, + BrwStats { + name: "dio_frags", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 1, + read: 63816064, + write: 49033254, + }, + BrwStatsBucket { + name: 2, + read: 2335205, + write: 1515851, + }, + BrwStatsBucket { + name: 3, + read: 375707, + write: 44821, + }, + BrwStatsBucket { + name: 4, + read: 362181, + write: 47438, + }, + BrwStatsBucket { + name: 5, + read: 289391, + write: 37185, + }, + BrwStatsBucket { + name: 6, + read: 265223, + write: 31450, + }, + BrwStatsBucket { + name: 7, + read: 237770, + write: 24889, + }, + BrwStatsBucket { + name: 8, + read: 217645, + write: 22572, + }, + BrwStatsBucket { + name: 9, + read: 197956, + write: 19901, + }, + BrwStatsBucket { + name: 10, + read: 182803, + write: 17563, + }, + BrwStatsBucket { + name: 11, + read: 169266, + write: 15491, + }, + BrwStatsBucket { + name: 12, + read: 156553, + write: 14489, + }, + BrwStatsBucket { + name: 13, + read: 144807, + write: 13311, + }, + BrwStatsBucket { + name: 14, + read: 133665, + write: 12706, + }, + BrwStatsBucket { + name: 15, + read: 122979, + write: 10805, + }, + BrwStatsBucket { + name: 16, + read: 114901, + write: 9852, + }, + BrwStatsBucket { + name: 17, + read: 107381, + write: 9099, + }, + BrwStatsBucket { + name: 18, + read: 99625, + write: 8475, + }, + BrwStatsBucket { + name: 19, + read: 93539, + write: 7822, + }, + BrwStatsBucket { + name: 20, + read: 87034, + write: 7520, + }, + BrwStatsBucket { + name: 21, + read: 82113, + write: 7226, + }, + BrwStatsBucket { + name: 22, + read: 77115, + write: 7109, + }, + BrwStatsBucket { + name: 23, + read: 72575, + write: 6555, + }, + BrwStatsBucket { + name: 24, + read: 68096, + write: 6635, + }, + BrwStatsBucket { + name: 25, + read: 64374, + write: 6418, + }, + BrwStatsBucket { + name: 26, + read: 59829, + write: 6312, + }, + BrwStatsBucket { + name: 27, + read: 57325, + write: 5771, + }, + BrwStatsBucket { + name: 28, + read: 53865, + write: 5516, + }, + BrwStatsBucket { + name: 29, + read: 50854, + write: 5129, + }, + BrwStatsBucket { + name: 30, + read: 48428, + write: 4926, + }, + BrwStatsBucket { + name: 31, + read: 1337979, + write: 232466, + }, + ], + }, + BrwStats { + name: "rpc_hist", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 1, + read: 6265290, + write: 4144450, + }, + BrwStatsBucket { + name: 2, + read: 8013786, + write: 7490068, + }, + BrwStatsBucket { + name: 3, + read: 8195937, + write: 6915544, + }, + BrwStatsBucket { + name: 4, + read: 7199751, + write: 4093573, + }, + BrwStatsBucket { + name: 5, + read: 5526507, + write: 2319082, + }, + BrwStatsBucket { + name: 6, + read: 4260097, + write: 1661352, + }, + BrwStatsBucket { + name: 7, + read: 3351664, + write: 1352195, + }, + BrwStatsBucket { + name: 8, + read: 2762934, + write: 1168692, + }, + BrwStatsBucket { + name: 9, + read: 2279187, + write: 1005176, + }, + BrwStatsBucket { + name: 10, + read: 1972881, + write: 924988, + }, + BrwStatsBucket { + name: 11, + read: 1734266, + write: 860368, + }, + BrwStatsBucket { + name: 12, + read: 1557193, + write: 807432, + }, + BrwStatsBucket { + name: 13, + read: 1400504, + write: 744513, + }, + BrwStatsBucket { + name: 14, + read: 1287707, + write: 706772, + }, + BrwStatsBucket { + name: 15, + read: 1188247, + write: 667647, + }, + BrwStatsBucket { + name: 16, + read: 1089678, + write: 629741, + }, + BrwStatsBucket { + name: 17, + read: 984090, + write: 590489, + }, + BrwStatsBucket { + name: 18, + read: 908885, + write: 557177, + }, + BrwStatsBucket { + name: 19, + read: 837782, + write: 526378, + }, + BrwStatsBucket { + name: 20, + read: 778137, + write: 502447, + }, + BrwStatsBucket { + name: 21, + read: 729005, + write: 481085, + }, + BrwStatsBucket { + name: 22, + read: 692332, + write: 463207, + }, + BrwStatsBucket { + name: 23, + read: 665339, + write: 446938, + }, + BrwStatsBucket { + name: 24, + read: 645343, + write: 433045, + }, + BrwStatsBucket { + name: 25, + read: 629688, + write: 420408, + }, + BrwStatsBucket { + name: 26, + read: 618481, + write: 408254, + }, + BrwStatsBucket { + name: 27, + read: 609914, + write: 395676, + }, + BrwStatsBucket { + name: 28, + read: 602905, + write: 384752, + }, + BrwStatsBucket { + name: 29, + read: 596365, + write: 372251, + }, + BrwStatsBucket { + name: 30, + read: 591992, + write: 361223, + }, + BrwStatsBucket { + name: 31, + read: 139856222, + write: 33496120, + }, + ], + }, + BrwStats { + name: "io_time", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 1, + read: 53100881, + write: 32329734, + }, + BrwStatsBucket { + name: 2, + read: 1618193, + write: 3628755, + }, + BrwStatsBucket { + name: 4, + read: 1997743, + write: 5804307, + }, + BrwStatsBucket { + name: 8, + read: 1452785, + write: 4652495, + }, + BrwStatsBucket { + name: 16, + read: 7817474, + write: 1731644, + }, + BrwStatsBucket { + name: 32, + read: 5493487, + write: 1739484, + }, + BrwStatsBucket { + name: 64, + read: 1636, + write: 1085167, + }, + BrwStatsBucket { + name: 128, + read: 26, + write: 217507, + }, + BrwStatsBucket { + name: 256, + read: 23, + write: 9461, + }, + BrwStatsBucket { + name: 512, + read: 0, + write: 3, + }, + ], + }, + BrwStats { + name: "disk_iosize", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 4096, + read: 152547869, + write: 30342047, + }, + BrwStatsBucket { + name: 8192, + read: 188031, + write: 8943, + }, + BrwStatsBucket { + name: 16384, + read: 24505, + write: 9, + }, + BrwStatsBucket { + name: 32768, + read: 1715, + write: 2, + }, + BrwStatsBucket { + name: 65536, + read: 11, + write: 2, + }, + BrwStatsBucket { + name: 131072, + read: 0, + write: 26, + }, + BrwStatsBucket { + name: 262144, + read: 577, + write: 432, + }, + BrwStatsBucket { + name: 524288, + read: 678, + write: 493, + }, + BrwStatsBucket { + name: 1048576, + read: 55068723, + write: 44979089, + }, + ], + }, + BrwStats { + name: "block_maps_msec", + unit: "maps", + buckets: [ + BrwStatsBucket { + name: 1, + read: 281833673, + write: 1304947, + }, + BrwStatsBucket { + name: 2, + read: 1789, + write: 1381, + }, + BrwStatsBucket { + name: 4, + read: 2934, + write: 2434, + }, + BrwStatsBucket { + name: 8, + read: 2347, + write: 3728, + }, + BrwStatsBucket { + name: 16, + read: 4223, + write: 3968, + }, + BrwStatsBucket { + name: 32, + read: 304, + write: 2072, + }, + BrwStatsBucket { + name: 64, + read: 0, + write: 167, + }, + BrwStatsBucket { + name: 128, + read: 0, + write: 7, + }, + ], + }, + ], + }, + ), + ), + Target( + BrwStats( + TargetStat { + kind: Ost, + param: Param( + "brw_stats", + ), + target: Target( + "ai400x2-OST0001", + ), + value: [ + BrwStats { + name: "pages", + unit: "rpcs", + buckets: [ + BrwStatsBucket { + name: 1, + read: 14307540, + write: 5868998, + }, + BrwStatsBucket { + name: 2, + read: 4322099, + write: 2130906, + }, + BrwStatsBucket { + name: 4, + read: 1584514, + write: 208064, + }, + BrwStatsBucket { + name: 8, + read: 2408697, + write: 316631, + }, + BrwStatsBucket { + name: 16, + read: 2329981, + write: 244678, + }, + BrwStatsBucket { + name: 32, + read: 1284644, + write: 140063, + }, + BrwStatsBucket { + name: 64, + read: 746859, + write: 118139, + }, + BrwStatsBucket { + name: 128, + read: 702099, + write: 174311, + }, + BrwStatsBucket { + name: 256, + read: 67360739, + write: 51895764, + }, + ], + }, + BrwStats { + name: "discont_pages", + unit: "rpcs", + buckets: [ + BrwStatsBucket { + name: 0, + read: 81668412, + write: 57764874, + }, + BrwStatsBucket { + name: 1, + read: 4322675, + write: 2130899, + }, + BrwStatsBucket { + name: 2, + read: 749769, + write: 99651, + }, + BrwStatsBucket { + name: 3, + read: 836324, + write: 108431, + }, + BrwStatsBucket { + name: 4, + read: 669007, + write: 93760, + }, + BrwStatsBucket { + name: 5, + read: 666273, + write: 84866, + }, + BrwStatsBucket { + name: 6, + read: 558591, + write: 73471, + }, + BrwStatsBucket { + name: 7, + read: 517192, + write: 64574, + }, + BrwStatsBucket { + name: 8, + read: 442137, + write: 51977, + }, + BrwStatsBucket { + name: 9, + read: 394816, + write: 43018, + }, + BrwStatsBucket { + name: 10, + read: 339417, + write: 34708, + }, + BrwStatsBucket { + name: 11, + read: 298790, + write: 29531, + }, + BrwStatsBucket { + name: 12, + read: 258614, + write: 25138, + }, + BrwStatsBucket { + name: 13, + read: 227197, + write: 22851, + }, + BrwStatsBucket { + name: 14, + read: 196203, + write: 19549, + }, + BrwStatsBucket { + name: 15, + read: 172524, + write: 17898, + }, + BrwStatsBucket { + name: 16, + read: 151299, + write: 15187, + }, + BrwStatsBucket { + name: 17, + read: 133369, + write: 13876, + }, + BrwStatsBucket { + name: 18, + read: 118721, + write: 11763, + }, + BrwStatsBucket { + name: 19, + read: 106227, + write: 10984, + }, + BrwStatsBucket { + name: 20, + read: 95310, + write: 9696, + }, + BrwStatsBucket { + name: 21, + read: 86847, + write: 9468, + }, + BrwStatsBucket { + name: 22, + read: 80205, + write: 8677, + }, + BrwStatsBucket { + name: 23, + read: 73279, + write: 8309, + }, + BrwStatsBucket { + name: 24, + read: 67495, + write: 7499, + }, + BrwStatsBucket { + name: 25, + read: 63140, + write: 7171, + }, + BrwStatsBucket { + name: 26, + read: 59227, + write: 6827, + }, + BrwStatsBucket { + name: 27, + read: 55571, + write: 6604, + }, + BrwStatsBucket { + name: 28, + read: 52281, + write: 6275, + }, + BrwStatsBucket { + name: 29, + read: 49303, + write: 6127, + }, + BrwStatsBucket { + name: 30, + read: 46620, + write: 5761, + }, + BrwStatsBucket { + name: 31, + read: 1490337, + write: 298134, + }, + ], + }, + BrwStats { + name: "discont_blocks", + unit: "rpcs", + buckets: [ + BrwStatsBucket { + name: 0, + read: 81667127, + write: 57763716, + }, + BrwStatsBucket { + name: 1, + read: 4323960, + write: 2132057, + }, + BrwStatsBucket { + name: 2, + read: 749769, + write: 99651, + }, + BrwStatsBucket { + name: 3, + read: 836323, + write: 108431, + }, + BrwStatsBucket { + name: 4, + read: 669008, + write: 93760, + }, + BrwStatsBucket { + name: 5, + read: 666272, + write: 84866, + }, + BrwStatsBucket { + name: 6, + read: 558592, + write: 73471, + }, + BrwStatsBucket { + name: 7, + read: 517192, + write: 64574, + }, + BrwStatsBucket { + name: 8, + read: 442137, + write: 51977, + }, + BrwStatsBucket { + name: 9, + read: 394815, + write: 43018, + }, + BrwStatsBucket { + name: 10, + read: 339416, + write: 34708, + }, + BrwStatsBucket { + name: 11, + read: 298792, + write: 29531, + }, + BrwStatsBucket { + name: 12, + read: 258614, + write: 25138, + }, + BrwStatsBucket { + name: 13, + read: 227194, + write: 22851, + }, + BrwStatsBucket { + name: 14, + read: 196205, + write: 19549, + }, + BrwStatsBucket { + name: 15, + read: 172523, + write: 17898, + }, + BrwStatsBucket { + name: 16, + read: 151300, + write: 15187, + }, + BrwStatsBucket { + name: 17, + read: 133369, + write: 13876, + }, + BrwStatsBucket { + name: 18, + read: 118720, + write: 11763, + }, + BrwStatsBucket { + name: 19, + read: 106228, + write: 10984, + }, + BrwStatsBucket { + name: 20, + read: 95310, + write: 9696, + }, + BrwStatsBucket { + name: 21, + read: 86848, + write: 9468, + }, + BrwStatsBucket { + name: 22, + read: 80205, + write: 8677, + }, + BrwStatsBucket { + name: 23, + read: 73277, + write: 8309, + }, + BrwStatsBucket { + name: 24, + read: 67496, + write: 7499, + }, + BrwStatsBucket { + name: 25, + read: 63141, + write: 7171, + }, + BrwStatsBucket { + name: 26, + read: 59225, + write: 6827, + }, + BrwStatsBucket { + name: 27, + read: 55571, + write: 6604, + }, + BrwStatsBucket { + name: 28, + read: 52282, + write: 6275, + }, + BrwStatsBucket { + name: 29, + read: 49303, + write: 6127, + }, + BrwStatsBucket { + name: 30, + read: 46619, + write: 5761, + }, + BrwStatsBucket { + name: 31, + read: 1490339, + write: 298134, + }, + ], + }, + BrwStats { + name: "dio_frags", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 1, + read: 81667127, + write: 57763716, + }, + BrwStatsBucket { + name: 2, + read: 4323960, + write: 2132056, + }, + BrwStatsBucket { + name: 3, + read: 749769, + write: 99650, + }, + BrwStatsBucket { + name: 4, + read: 836323, + write: 108431, + }, + BrwStatsBucket { + name: 5, + read: 669008, + write: 93760, + }, + BrwStatsBucket { + name: 6, + read: 666272, + write: 84866, + }, + BrwStatsBucket { + name: 7, + read: 558592, + write: 73471, + }, + BrwStatsBucket { + name: 8, + read: 517192, + write: 64574, + }, + BrwStatsBucket { + name: 9, + read: 442137, + write: 51977, + }, + BrwStatsBucket { + name: 10, + read: 394815, + write: 43018, + }, + BrwStatsBucket { + name: 11, + read: 339416, + write: 34708, + }, + BrwStatsBucket { + name: 12, + read: 298792, + write: 29531, + }, + BrwStatsBucket { + name: 13, + read: 258614, + write: 25138, + }, + BrwStatsBucket { + name: 14, + read: 227194, + write: 22851, + }, + BrwStatsBucket { + name: 15, + read: 196205, + write: 19549, + }, + BrwStatsBucket { + name: 16, + read: 172523, + write: 17898, + }, + BrwStatsBucket { + name: 17, + read: 151300, + write: 15187, + }, + BrwStatsBucket { + name: 18, + read: 133369, + write: 13876, + }, + BrwStatsBucket { + name: 19, + read: 118720, + write: 11763, + }, + BrwStatsBucket { + name: 20, + read: 106228, + write: 10984, + }, + BrwStatsBucket { + name: 21, + read: 95310, + write: 9696, + }, + BrwStatsBucket { + name: 22, + read: 86848, + write: 9468, + }, + BrwStatsBucket { + name: 23, + read: 80205, + write: 8676, + }, + BrwStatsBucket { + name: 24, + read: 73277, + write: 8308, + }, + BrwStatsBucket { + name: 25, + read: 67496, + write: 7499, + }, + BrwStatsBucket { + name: 26, + read: 63141, + write: 7171, + }, + BrwStatsBucket { + name: 27, + read: 59225, + write: 6827, + }, + BrwStatsBucket { + name: 28, + read: 55571, + write: 6604, + }, + BrwStatsBucket { + name: 29, + read: 52282, + write: 6275, + }, + BrwStatsBucket { + name: 30, + read: 49303, + write: 6127, + }, + BrwStatsBucket { + name: 31, + read: 1536958, + write: 303886, + }, + ], + }, + BrwStats { + name: "rpc_hist", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 1, + read: 8732170, + write: 5763955, + }, + BrwStatsBucket { + name: 2, + read: 11209252, + write: 8762512, + }, + BrwStatsBucket { + name: 3, + read: 10964825, + write: 8236092, + }, + BrwStatsBucket { + name: 4, + read: 9654792, + write: 5430364, + }, + BrwStatsBucket { + name: 5, + read: 7580418, + write: 3295552, + }, + BrwStatsBucket { + name: 6, + read: 6089637, + write: 2467255, + }, + BrwStatsBucket { + name: 7, + read: 4760299, + write: 2050160, + }, + BrwStatsBucket { + name: 8, + read: 3940726, + write: 1793014, + }, + BrwStatsBucket { + name: 9, + read: 3348745, + write: 1586881, + }, + BrwStatsBucket { + name: 10, + read: 3089377, + write: 1443088, + }, + BrwStatsBucket { + name: 11, + read: 2882480, + write: 1299656, + }, + BrwStatsBucket { + name: 12, + read: 2805994, + write: 1212323, + }, + BrwStatsBucket { + name: 13, + read: 2714894, + write: 1130471, + }, + BrwStatsBucket { + name: 14, + read: 2654362, + write: 1055418, + }, + BrwStatsBucket { + name: 15, + read: 2568640, + write: 978729, + }, + BrwStatsBucket { + name: 16, + read: 2463969, + write: 907487, + }, + BrwStatsBucket { + name: 17, + read: 2329798, + write: 835921, + }, + BrwStatsBucket { + name: 18, + read: 2205563, + write: 782217, + }, + BrwStatsBucket { + name: 19, + read: 2078837, + write: 732117, + }, + BrwStatsBucket { + name: 20, + read: 1956521, + write: 688879, + }, + BrwStatsBucket { + name: 21, + read: 1839298, + write: 640760, + }, + BrwStatsBucket { + name: 22, + read: 1745784, + write: 611829, + }, + BrwStatsBucket { + name: 23, + read: 1661883, + write: 582863, + }, + BrwStatsBucket { + name: 24, + read: 1591344, + write: 557917, + }, + BrwStatsBucket { + name: 25, + read: 1524896, + write: 533445, + }, + BrwStatsBucket { + name: 26, + read: 1469842, + write: 512956, + }, + BrwStatsBucket { + name: 27, + read: 1417281, + write: 490055, + }, + BrwStatsBucket { + name: 28, + read: 1369576, + write: 469805, + }, + BrwStatsBucket { + name: 29, + read: 1326536, + write: 448604, + }, + BrwStatsBucket { + name: 30, + read: 1284379, + write: 429143, + }, + BrwStatsBucket { + name: 31, + read: 165650188, + write: 39087017, + }, + ], + }, + BrwStats { + name: "io_time", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 1, + read: 78258718, + write: 40428080, + }, + BrwStatsBucket { + name: 2, + read: 1177198, + write: 4176723, + }, + BrwStatsBucket { + name: 4, + read: 2082593, + write: 6432025, + }, + BrwStatsBucket { + name: 8, + read: 1304438, + write: 5122744, + }, + BrwStatsBucket { + name: 16, + read: 6840258, + write: 1813882, + }, + BrwStatsBucket { + name: 32, + read: 5381747, + write: 1794238, + }, + BrwStatsBucket { + name: 64, + read: 2152, + write: 1111493, + }, + BrwStatsBucket { + name: 128, + read: 56, + write: 212223, + }, + BrwStatsBucket { + name: 256, + read: 12, + write: 5942, + }, + BrwStatsBucket { + name: 512, + read: 0, + write: 48, + }, + BrwStatsBucket { + name: 1024, + read: 0, + write: 143, + }, + ], + }, + BrwStats { + name: "disk_iosize", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 4096, + read: 207224390, + write: 42904538, + }, + BrwStatsBucket { + name: 8192, + read: 285333, + write: 15432, + }, + BrwStatsBucket { + name: 16384, + read: 39206, + write: 598, + }, + BrwStatsBucket { + name: 32768, + read: 2605, + write: 40, + }, + BrwStatsBucket { + name: 65536, + read: 33, + write: 6, + }, + BrwStatsBucket { + name: 131072, + read: 0, + write: 33, + }, + BrwStatsBucket { + name: 262144, + read: 0, + write: 26, + }, + BrwStatsBucket { + name: 524288, + read: 0, + write: 50, + }, + BrwStatsBucket { + name: 1048576, + read: 67360739, + write: 51895762, + }, + ], + }, + BrwStats { + name: "block_maps_msec", + unit: "maps", + buckets: [ + BrwStatsBucket { + name: 1, + read: 368317131, + write: 1387947, + }, + BrwStatsBucket { + name: 2, + read: 1574, + write: 2157, + }, + BrwStatsBucket { + name: 4, + read: 2063, + write: 3269, + }, + BrwStatsBucket { + name: 8, + read: 1814, + write: 4025, + }, + BrwStatsBucket { + name: 16, + read: 3914, + write: 4689, + }, + BrwStatsBucket { + name: 32, + read: 343, + write: 2109, + }, + BrwStatsBucket { + name: 64, + read: 0, + write: 179, + }, + ], + }, + ], + }, + ), + ), + Target( + BrwStats( + TargetStat { + kind: Mgt, + param: Param( + "brw_stats", + ), + target: Target( + "MGS", + ), + value: [ + BrwStats { + name: "pages", + unit: "rpcs", + buckets: [], + }, + BrwStats { + name: "discont_pages", + unit: "rpcs", + buckets: [], + }, + BrwStats { + name: "discont_blocks", + unit: "rpcs", + buckets: [], + }, + BrwStats { + name: "dio_frags", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "rpc_hist", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "io_time", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "disk_iosize", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "block_maps_msec", + unit: "maps", + buckets: [], + }, + ], + }, + ), + ), + Target( + BrwStats( + TargetStat { + kind: Mdt, + param: Param( + "brw_stats", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: [ + BrwStats { + name: "pages", + unit: "rpcs", + buckets: [], + }, + BrwStats { + name: "discont_pages", + unit: "rpcs", + buckets: [], + }, + BrwStats { + name: "discont_blocks", + unit: "rpcs", + buckets: [], + }, + BrwStats { + name: "dio_frags", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "rpc_hist", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "io_time", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "disk_iosize", + unit: "ios", + buckets: [], + }, + BrwStats { + name: "block_maps_msec", + unit: "maps", + buckets: [], + }, + ], + }, + ), + ), + Target( + BrwStats( + TargetStat { + kind: Ost, + param: Param( + "brw_stats", + ), + target: Target( + "ai400x2-OST0000", + ), + value: [ + BrwStats { + name: "pages", + unit: "rpcs", + buckets: [ + BrwStatsBucket { + name: 1, + read: 8747797, + write: 4054463, + }, + BrwStatsBucket { + name: 2, + read: 2334013, + write: 1515227, + }, + BrwStatsBucket { + name: 4, + read: 737243, + write: 92254, + }, + BrwStatsBucket { + name: 8, + read: 1008957, + write: 116099, + }, + BrwStatsBucket { + name: 16, + read: 1221985, + write: 114115, + }, + BrwStatsBucket { + name: 32, + read: 1111658, + write: 103665, + }, + BrwStatsBucket { + name: 64, + read: 679356, + write: 90148, + }, + BrwStatsBucket { + name: 128, + read: 572178, + write: 133272, + }, + BrwStatsBucket { + name: 256, + read: 55069062, + write: 44979318, + }, + ], + }, + BrwStats { + name: "discont_pages", + unit: "rpcs", + buckets: [ + BrwStatsBucket { + name: 0, + read: 63816980, + write: 49033877, + }, + BrwStatsBucket { + name: 1, + read: 2334290, + write: 1515228, + }, + BrwStatsBucket { + name: 2, + read: 375707, + write: 44821, + }, + BrwStatsBucket { + name: 3, + read: 362181, + write: 47438, + }, + BrwStatsBucket { + name: 4, + read: 289391, + write: 37185, + }, + BrwStatsBucket { + name: 5, + read: 265223, + write: 31450, + }, + BrwStatsBucket { + name: 6, + read: 237771, + write: 24889, + }, + BrwStatsBucket { + name: 7, + read: 217645, + write: 22572, + }, + BrwStatsBucket { + name: 8, + read: 197956, + write: 19901, + }, + BrwStatsBucket { + name: 9, + read: 182802, + write: 17563, + }, + BrwStatsBucket { + name: 10, + read: 169267, + write: 15491, + }, + BrwStatsBucket { + name: 11, + read: 156552, + write: 14489, + }, + BrwStatsBucket { + name: 12, + read: 144807, + write: 13311, + }, + BrwStatsBucket { + name: 13, + read: 133666, + write: 12706, + }, + BrwStatsBucket { + name: 14, + read: 122979, + write: 10805, + }, + BrwStatsBucket { + name: 15, + read: 114900, + write: 9852, + }, + BrwStatsBucket { + name: 16, + read: 107381, + write: 9099, + }, + BrwStatsBucket { + name: 17, + read: 99626, + write: 8475, + }, + BrwStatsBucket { + name: 18, + read: 93541, + write: 7822, + }, + BrwStatsBucket { + name: 19, + read: 87033, + write: 7520, + }, + BrwStatsBucket { + name: 20, + read: 82113, + write: 7226, + }, + BrwStatsBucket { + name: 21, + read: 77113, + write: 7109, + }, + BrwStatsBucket { + name: 22, + read: 72575, + write: 6555, + }, + BrwStatsBucket { + name: 23, + read: 68098, + write: 6635, + }, + BrwStatsBucket { + name: 24, + read: 64374, + write: 6418, + }, + BrwStatsBucket { + name: 25, + read: 59828, + write: 6312, + }, + BrwStatsBucket { + name: 26, + read: 57325, + write: 5771, + }, + BrwStatsBucket { + name: 27, + read: 53865, + write: 5516, + }, + BrwStatsBucket { + name: 28, + read: 50854, + write: 5129, + }, + BrwStatsBucket { + name: 29, + read: 48428, + write: 4926, + }, + BrwStatsBucket { + name: 30, + read: 45799, + write: 4697, + }, + BrwStatsBucket { + name: 31, + read: 1292179, + write: 227773, + }, + ], + }, + BrwStats { + name: "discont_blocks", + unit: "rpcs", + buckets: [ + BrwStatsBucket { + name: 0, + read: 63816064, + write: 49033251, + }, + BrwStatsBucket { + name: 1, + read: 2335206, + write: 1515854, + }, + BrwStatsBucket { + name: 2, + read: 375707, + write: 44821, + }, + BrwStatsBucket { + name: 3, + read: 362181, + write: 47438, + }, + BrwStatsBucket { + name: 4, + read: 289391, + write: 37185, + }, + BrwStatsBucket { + name: 5, + read: 265223, + write: 31450, + }, + BrwStatsBucket { + name: 6, + read: 237770, + write: 24889, + }, + BrwStatsBucket { + name: 7, + read: 217645, + write: 22572, + }, + BrwStatsBucket { + name: 8, + read: 197956, + write: 19901, + }, + BrwStatsBucket { + name: 9, + read: 182803, + write: 17563, + }, + BrwStatsBucket { + name: 10, + read: 169266, + write: 15491, + }, + BrwStatsBucket { + name: 11, + read: 156553, + write: 14489, + }, + BrwStatsBucket { + name: 12, + read: 144807, + write: 13311, + }, + BrwStatsBucket { + name: 13, + read: 133665, + write: 12706, + }, + BrwStatsBucket { + name: 14, + read: 122979, + write: 10805, + }, + BrwStatsBucket { + name: 15, + read: 114901, + write: 9852, + }, + BrwStatsBucket { + name: 16, + read: 107381, + write: 9099, + }, + BrwStatsBucket { + name: 17, + read: 99625, + write: 8475, + }, + BrwStatsBucket { + name: 18, + read: 93539, + write: 7822, + }, + BrwStatsBucket { + name: 19, + read: 87034, + write: 7520, + }, + BrwStatsBucket { + name: 20, + read: 82113, + write: 7226, + }, + BrwStatsBucket { + name: 21, + read: 77115, + write: 7109, + }, + BrwStatsBucket { + name: 22, + read: 72575, + write: 6555, + }, + BrwStatsBucket { + name: 23, + read: 68096, + write: 6635, + }, + BrwStatsBucket { + name: 24, + read: 64374, + write: 6418, + }, + BrwStatsBucket { + name: 25, + read: 59829, + write: 6312, + }, + BrwStatsBucket { + name: 26, + read: 57325, + write: 5771, + }, + BrwStatsBucket { + name: 27, + read: 53865, + write: 5516, + }, + BrwStatsBucket { + name: 28, + read: 50854, + write: 5129, + }, + BrwStatsBucket { + name: 29, + read: 48428, + write: 4926, + }, + BrwStatsBucket { + name: 30, + read: 45798, + write: 4697, + }, + BrwStatsBucket { + name: 31, + read: 1292181, + write: 227773, + }, + ], + }, + BrwStats { + name: "dio_frags", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 1, + read: 63816064, + write: 49033254, + }, + BrwStatsBucket { + name: 2, + read: 2335205, + write: 1515851, + }, + BrwStatsBucket { + name: 3, + read: 375707, + write: 44821, + }, + BrwStatsBucket { + name: 4, + read: 362181, + write: 47438, + }, + BrwStatsBucket { + name: 5, + read: 289391, + write: 37185, + }, + BrwStatsBucket { + name: 6, + read: 265223, + write: 31450, + }, + BrwStatsBucket { + name: 7, + read: 237770, + write: 24889, + }, + BrwStatsBucket { + name: 8, + read: 217645, + write: 22572, + }, + BrwStatsBucket { + name: 9, + read: 197956, + write: 19901, + }, + BrwStatsBucket { + name: 10, + read: 182803, + write: 17563, + }, + BrwStatsBucket { + name: 11, + read: 169266, + write: 15491, + }, + BrwStatsBucket { + name: 12, + read: 156553, + write: 14489, + }, + BrwStatsBucket { + name: 13, + read: 144807, + write: 13311, + }, + BrwStatsBucket { + name: 14, + read: 133665, + write: 12706, + }, + BrwStatsBucket { + name: 15, + read: 122979, + write: 10805, + }, + BrwStatsBucket { + name: 16, + read: 114901, + write: 9852, + }, + BrwStatsBucket { + name: 17, + read: 107381, + write: 9099, + }, + BrwStatsBucket { + name: 18, + read: 99625, + write: 8475, + }, + BrwStatsBucket { + name: 19, + read: 93539, + write: 7822, + }, + BrwStatsBucket { + name: 20, + read: 87034, + write: 7520, + }, + BrwStatsBucket { + name: 21, + read: 82113, + write: 7226, + }, + BrwStatsBucket { + name: 22, + read: 77115, + write: 7109, + }, + BrwStatsBucket { + name: 23, + read: 72575, + write: 6555, + }, + BrwStatsBucket { + name: 24, + read: 68096, + write: 6635, + }, + BrwStatsBucket { + name: 25, + read: 64374, + write: 6418, + }, + BrwStatsBucket { + name: 26, + read: 59829, + write: 6312, + }, + BrwStatsBucket { + name: 27, + read: 57325, + write: 5771, + }, + BrwStatsBucket { + name: 28, + read: 53865, + write: 5516, + }, + BrwStatsBucket { + name: 29, + read: 50854, + write: 5129, + }, + BrwStatsBucket { + name: 30, + read: 48428, + write: 4926, + }, + BrwStatsBucket { + name: 31, + read: 1337979, + write: 232466, + }, + ], + }, + BrwStats { + name: "rpc_hist", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 1, + read: 6265290, + write: 4144450, + }, + BrwStatsBucket { + name: 2, + read: 8013786, + write: 7490068, + }, + BrwStatsBucket { + name: 3, + read: 8195937, + write: 6915544, + }, + BrwStatsBucket { + name: 4, + read: 7199751, + write: 4093573, + }, + BrwStatsBucket { + name: 5, + read: 5526507, + write: 2319082, + }, + BrwStatsBucket { + name: 6, + read: 4260097, + write: 1661352, + }, + BrwStatsBucket { + name: 7, + read: 3351664, + write: 1352195, + }, + BrwStatsBucket { + name: 8, + read: 2762934, + write: 1168692, + }, + BrwStatsBucket { + name: 9, + read: 2279187, + write: 1005176, + }, + BrwStatsBucket { + name: 10, + read: 1972881, + write: 924988, + }, + BrwStatsBucket { + name: 11, + read: 1734266, + write: 860368, + }, + BrwStatsBucket { + name: 12, + read: 1557193, + write: 807432, + }, + BrwStatsBucket { + name: 13, + read: 1400504, + write: 744513, + }, + BrwStatsBucket { + name: 14, + read: 1287707, + write: 706772, + }, + BrwStatsBucket { + name: 15, + read: 1188247, + write: 667647, + }, + BrwStatsBucket { + name: 16, + read: 1089678, + write: 629741, + }, + BrwStatsBucket { + name: 17, + read: 984090, + write: 590489, + }, + BrwStatsBucket { + name: 18, + read: 908885, + write: 557177, + }, + BrwStatsBucket { + name: 19, + read: 837782, + write: 526378, + }, + BrwStatsBucket { + name: 20, + read: 778137, + write: 502447, + }, + BrwStatsBucket { + name: 21, + read: 729005, + write: 481085, + }, + BrwStatsBucket { + name: 22, + read: 692332, + write: 463207, + }, + BrwStatsBucket { + name: 23, + read: 665339, + write: 446938, + }, + BrwStatsBucket { + name: 24, + read: 645343, + write: 433045, + }, + BrwStatsBucket { + name: 25, + read: 629688, + write: 420408, + }, + BrwStatsBucket { + name: 26, + read: 618481, + write: 408254, + }, + BrwStatsBucket { + name: 27, + read: 609914, + write: 395676, + }, + BrwStatsBucket { + name: 28, + read: 602905, + write: 384752, + }, + BrwStatsBucket { + name: 29, + read: 596365, + write: 372251, + }, + BrwStatsBucket { + name: 30, + read: 591992, + write: 361223, + }, + BrwStatsBucket { + name: 31, + read: 139856222, + write: 33496120, + }, + ], + }, + BrwStats { + name: "io_time", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 1, + read: 53100881, + write: 32329734, + }, + BrwStatsBucket { + name: 2, + read: 1618193, + write: 3628755, + }, + BrwStatsBucket { + name: 4, + read: 1997743, + write: 5804307, + }, + BrwStatsBucket { + name: 8, + read: 1452785, + write: 4652495, + }, + BrwStatsBucket { + name: 16, + read: 7817474, + write: 1731644, + }, + BrwStatsBucket { + name: 32, + read: 5493487, + write: 1739484, + }, + BrwStatsBucket { + name: 64, + read: 1636, + write: 1085167, + }, + BrwStatsBucket { + name: 128, + read: 26, + write: 217507, + }, + BrwStatsBucket { + name: 256, + read: 23, + write: 9461, + }, + BrwStatsBucket { + name: 512, + read: 0, + write: 3, + }, + ], + }, + BrwStats { + name: "disk_iosize", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 4096, + read: 152547869, + write: 30342047, + }, + BrwStatsBucket { + name: 8192, + read: 188031, + write: 8943, + }, + BrwStatsBucket { + name: 16384, + read: 24505, + write: 9, + }, + BrwStatsBucket { + name: 32768, + read: 1715, + write: 2, + }, + BrwStatsBucket { + name: 65536, + read: 11, + write: 2, + }, + BrwStatsBucket { + name: 131072, + read: 0, + write: 26, + }, + BrwStatsBucket { + name: 262144, + read: 577, + write: 432, + }, + BrwStatsBucket { + name: 524288, + read: 678, + write: 493, + }, + BrwStatsBucket { + name: 1048576, + read: 55068723, + write: 44979089, + }, + ], + }, + BrwStats { + name: "block_maps_msec", + unit: "maps", + buckets: [ + BrwStatsBucket { + name: 1, + read: 281833673, + write: 1304947, + }, + BrwStatsBucket { + name: 2, + read: 1789, + write: 1381, + }, + BrwStatsBucket { + name: 4, + read: 2934, + write: 2434, + }, + BrwStatsBucket { + name: 8, + read: 2347, + write: 3728, + }, + BrwStatsBucket { + name: 16, + read: 4223, + write: 3968, + }, + BrwStatsBucket { + name: 32, + read: 304, + write: 2072, + }, + BrwStatsBucket { + name: 64, + read: 0, + write: 167, + }, + BrwStatsBucket { + name: 128, + read: 0, + write: 7, + }, + ], + }, + ], + }, + ), + ), + Target( + BrwStats( + TargetStat { + kind: Ost, + param: Param( + "brw_stats", + ), + target: Target( + "ai400x2-OST0001", + ), + value: [ + BrwStats { + name: "pages", + unit: "rpcs", + buckets: [ + BrwStatsBucket { + name: 1, + read: 14307540, + write: 5868998, + }, + BrwStatsBucket { + name: 2, + read: 4322099, + write: 2130906, + }, + BrwStatsBucket { + name: 4, + read: 1584514, + write: 208064, + }, + BrwStatsBucket { + name: 8, + read: 2408697, + write: 316631, + }, + BrwStatsBucket { + name: 16, + read: 2329981, + write: 244678, + }, + BrwStatsBucket { + name: 32, + read: 1284644, + write: 140063, + }, + BrwStatsBucket { + name: 64, + read: 746859, + write: 118139, + }, + BrwStatsBucket { + name: 128, + read: 702099, + write: 174311, + }, + BrwStatsBucket { + name: 256, + read: 67360739, + write: 51895764, + }, + ], + }, + BrwStats { + name: "discont_pages", + unit: "rpcs", + buckets: [ + BrwStatsBucket { + name: 0, + read: 81668412, + write: 57764874, + }, + BrwStatsBucket { + name: 1, + read: 4322675, + write: 2130899, + }, + BrwStatsBucket { + name: 2, + read: 749769, + write: 99651, + }, + BrwStatsBucket { + name: 3, + read: 836324, + write: 108431, + }, + BrwStatsBucket { + name: 4, + read: 669007, + write: 93760, + }, + BrwStatsBucket { + name: 5, + read: 666273, + write: 84866, + }, + BrwStatsBucket { + name: 6, + read: 558591, + write: 73471, + }, + BrwStatsBucket { + name: 7, + read: 517192, + write: 64574, + }, + BrwStatsBucket { + name: 8, + read: 442137, + write: 51977, + }, + BrwStatsBucket { + name: 9, + read: 394816, + write: 43018, + }, + BrwStatsBucket { + name: 10, + read: 339417, + write: 34708, + }, + BrwStatsBucket { + name: 11, + read: 298790, + write: 29531, + }, + BrwStatsBucket { + name: 12, + read: 258614, + write: 25138, + }, + BrwStatsBucket { + name: 13, + read: 227197, + write: 22851, + }, + BrwStatsBucket { + name: 14, + read: 196203, + write: 19549, + }, + BrwStatsBucket { + name: 15, + read: 172524, + write: 17898, + }, + BrwStatsBucket { + name: 16, + read: 151299, + write: 15187, + }, + BrwStatsBucket { + name: 17, + read: 133369, + write: 13876, + }, + BrwStatsBucket { + name: 18, + read: 118721, + write: 11763, + }, + BrwStatsBucket { + name: 19, + read: 106227, + write: 10984, + }, + BrwStatsBucket { + name: 20, + read: 95310, + write: 9696, + }, + BrwStatsBucket { + name: 21, + read: 86847, + write: 9468, + }, + BrwStatsBucket { + name: 22, + read: 80205, + write: 8677, + }, + BrwStatsBucket { + name: 23, + read: 73279, + write: 8309, + }, + BrwStatsBucket { + name: 24, + read: 67495, + write: 7499, + }, + BrwStatsBucket { + name: 25, + read: 63140, + write: 7171, + }, + BrwStatsBucket { + name: 26, + read: 59227, + write: 6827, + }, + BrwStatsBucket { + name: 27, + read: 55571, + write: 6604, + }, + BrwStatsBucket { + name: 28, + read: 52281, + write: 6275, + }, + BrwStatsBucket { + name: 29, + read: 49303, + write: 6127, + }, + BrwStatsBucket { + name: 30, + read: 46620, + write: 5761, + }, + BrwStatsBucket { + name: 31, + read: 1490337, + write: 298134, + }, + ], + }, + BrwStats { + name: "discont_blocks", + unit: "rpcs", + buckets: [ + BrwStatsBucket { + name: 0, + read: 81667127, + write: 57763716, + }, + BrwStatsBucket { + name: 1, + read: 4323960, + write: 2132057, + }, + BrwStatsBucket { + name: 2, + read: 749769, + write: 99651, + }, + BrwStatsBucket { + name: 3, + read: 836323, + write: 108431, + }, + BrwStatsBucket { + name: 4, + read: 669008, + write: 93760, + }, + BrwStatsBucket { + name: 5, + read: 666272, + write: 84866, + }, + BrwStatsBucket { + name: 6, + read: 558592, + write: 73471, + }, + BrwStatsBucket { + name: 7, + read: 517192, + write: 64574, + }, + BrwStatsBucket { + name: 8, + read: 442137, + write: 51977, + }, + BrwStatsBucket { + name: 9, + read: 394815, + write: 43018, + }, + BrwStatsBucket { + name: 10, + read: 339416, + write: 34708, + }, + BrwStatsBucket { + name: 11, + read: 298792, + write: 29531, + }, + BrwStatsBucket { + name: 12, + read: 258614, + write: 25138, + }, + BrwStatsBucket { + name: 13, + read: 227194, + write: 22851, + }, + BrwStatsBucket { + name: 14, + read: 196205, + write: 19549, + }, + BrwStatsBucket { + name: 15, + read: 172523, + write: 17898, + }, + BrwStatsBucket { + name: 16, + read: 151300, + write: 15187, + }, + BrwStatsBucket { + name: 17, + read: 133369, + write: 13876, + }, + BrwStatsBucket { + name: 18, + read: 118720, + write: 11763, + }, + BrwStatsBucket { + name: 19, + read: 106228, + write: 10984, + }, + BrwStatsBucket { + name: 20, + read: 95310, + write: 9696, + }, + BrwStatsBucket { + name: 21, + read: 86848, + write: 9468, + }, + BrwStatsBucket { + name: 22, + read: 80205, + write: 8677, + }, + BrwStatsBucket { + name: 23, + read: 73277, + write: 8309, + }, + BrwStatsBucket { + name: 24, + read: 67496, + write: 7499, + }, + BrwStatsBucket { + name: 25, + read: 63141, + write: 7171, + }, + BrwStatsBucket { + name: 26, + read: 59225, + write: 6827, + }, + BrwStatsBucket { + name: 27, + read: 55571, + write: 6604, + }, + BrwStatsBucket { + name: 28, + read: 52282, + write: 6275, + }, + BrwStatsBucket { + name: 29, + read: 49303, + write: 6127, + }, + BrwStatsBucket { + name: 30, + read: 46619, + write: 5761, + }, + BrwStatsBucket { + name: 31, + read: 1490339, + write: 298134, + }, + ], + }, + BrwStats { + name: "dio_frags", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 1, + read: 81667127, + write: 57763716, + }, + BrwStatsBucket { + name: 2, + read: 4323960, + write: 2132056, + }, + BrwStatsBucket { + name: 3, + read: 749769, + write: 99650, + }, + BrwStatsBucket { + name: 4, + read: 836323, + write: 108431, + }, + BrwStatsBucket { + name: 5, + read: 669008, + write: 93760, + }, + BrwStatsBucket { + name: 6, + read: 666272, + write: 84866, + }, + BrwStatsBucket { + name: 7, + read: 558592, + write: 73471, + }, + BrwStatsBucket { + name: 8, + read: 517192, + write: 64574, + }, + BrwStatsBucket { + name: 9, + read: 442137, + write: 51977, + }, + BrwStatsBucket { + name: 10, + read: 394815, + write: 43018, + }, + BrwStatsBucket { + name: 11, + read: 339416, + write: 34708, + }, + BrwStatsBucket { + name: 12, + read: 298792, + write: 29531, + }, + BrwStatsBucket { + name: 13, + read: 258614, + write: 25138, + }, + BrwStatsBucket { + name: 14, + read: 227194, + write: 22851, + }, + BrwStatsBucket { + name: 15, + read: 196205, + write: 19549, + }, + BrwStatsBucket { + name: 16, + read: 172523, + write: 17898, + }, + BrwStatsBucket { + name: 17, + read: 151300, + write: 15187, + }, + BrwStatsBucket { + name: 18, + read: 133369, + write: 13876, + }, + BrwStatsBucket { + name: 19, + read: 118720, + write: 11763, + }, + BrwStatsBucket { + name: 20, + read: 106228, + write: 10984, + }, + BrwStatsBucket { + name: 21, + read: 95310, + write: 9696, + }, + BrwStatsBucket { + name: 22, + read: 86848, + write: 9468, + }, + BrwStatsBucket { + name: 23, + read: 80205, + write: 8676, + }, + BrwStatsBucket { + name: 24, + read: 73277, + write: 8308, + }, + BrwStatsBucket { + name: 25, + read: 67496, + write: 7499, + }, + BrwStatsBucket { + name: 26, + read: 63141, + write: 7171, + }, + BrwStatsBucket { + name: 27, + read: 59225, + write: 6827, + }, + BrwStatsBucket { + name: 28, + read: 55571, + write: 6604, + }, + BrwStatsBucket { + name: 29, + read: 52282, + write: 6275, + }, + BrwStatsBucket { + name: 30, + read: 49303, + write: 6127, + }, + BrwStatsBucket { + name: 31, + read: 1536958, + write: 303886, + }, + ], + }, + BrwStats { + name: "rpc_hist", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 1, + read: 8732170, + write: 5763955, + }, + BrwStatsBucket { + name: 2, + read: 11209252, + write: 8762512, + }, + BrwStatsBucket { + name: 3, + read: 10964825, + write: 8236092, + }, + BrwStatsBucket { + name: 4, + read: 9654792, + write: 5430364, + }, + BrwStatsBucket { + name: 5, + read: 7580418, + write: 3295552, + }, + BrwStatsBucket { + name: 6, + read: 6089637, + write: 2467255, + }, + BrwStatsBucket { + name: 7, + read: 4760299, + write: 2050160, + }, + BrwStatsBucket { + name: 8, + read: 3940726, + write: 1793014, + }, + BrwStatsBucket { + name: 9, + read: 3348745, + write: 1586881, + }, + BrwStatsBucket { + name: 10, + read: 3089377, + write: 1443088, + }, + BrwStatsBucket { + name: 11, + read: 2882480, + write: 1299656, + }, + BrwStatsBucket { + name: 12, + read: 2805994, + write: 1212323, + }, + BrwStatsBucket { + name: 13, + read: 2714894, + write: 1130471, + }, + BrwStatsBucket { + name: 14, + read: 2654362, + write: 1055418, + }, + BrwStatsBucket { + name: 15, + read: 2568640, + write: 978729, + }, + BrwStatsBucket { + name: 16, + read: 2463969, + write: 907487, + }, + BrwStatsBucket { + name: 17, + read: 2329798, + write: 835921, + }, + BrwStatsBucket { + name: 18, + read: 2205563, + write: 782217, + }, + BrwStatsBucket { + name: 19, + read: 2078837, + write: 732117, + }, + BrwStatsBucket { + name: 20, + read: 1956521, + write: 688879, + }, + BrwStatsBucket { + name: 21, + read: 1839298, + write: 640760, + }, + BrwStatsBucket { + name: 22, + read: 1745784, + write: 611829, + }, + BrwStatsBucket { + name: 23, + read: 1661883, + write: 582863, + }, + BrwStatsBucket { + name: 24, + read: 1591344, + write: 557917, + }, + BrwStatsBucket { + name: 25, + read: 1524896, + write: 533445, + }, + BrwStatsBucket { + name: 26, + read: 1469842, + write: 512956, + }, + BrwStatsBucket { + name: 27, + read: 1417281, + write: 490055, + }, + BrwStatsBucket { + name: 28, + read: 1369576, + write: 469805, + }, + BrwStatsBucket { + name: 29, + read: 1326536, + write: 448604, + }, + BrwStatsBucket { + name: 30, + read: 1284379, + write: 429143, + }, + BrwStatsBucket { + name: 31, + read: 165650188, + write: 39087017, + }, + ], + }, + BrwStats { + name: "io_time", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 1, + read: 78258718, + write: 40428080, + }, + BrwStatsBucket { + name: 2, + read: 1177198, + write: 4176723, + }, + BrwStatsBucket { + name: 4, + read: 2082593, + write: 6432025, + }, + BrwStatsBucket { + name: 8, + read: 1304438, + write: 5122744, + }, + BrwStatsBucket { + name: 16, + read: 6840258, + write: 1813882, + }, + BrwStatsBucket { + name: 32, + read: 5381747, + write: 1794238, + }, + BrwStatsBucket { + name: 64, + read: 2152, + write: 1111493, + }, + BrwStatsBucket { + name: 128, + read: 56, + write: 212223, + }, + BrwStatsBucket { + name: 256, + read: 12, + write: 5942, + }, + BrwStatsBucket { + name: 512, + read: 0, + write: 48, + }, + BrwStatsBucket { + name: 1024, + read: 0, + write: 143, + }, + ], + }, + BrwStats { + name: "disk_iosize", + unit: "ios", + buckets: [ + BrwStatsBucket { + name: 4096, + read: 207224390, + write: 42904538, + }, + BrwStatsBucket { + name: 8192, + read: 285333, + write: 15432, + }, + BrwStatsBucket { + name: 16384, + read: 39206, + write: 598, + }, + BrwStatsBucket { + name: 32768, + read: 2605, + write: 40, + }, + BrwStatsBucket { + name: 65536, + read: 33, + write: 6, + }, + BrwStatsBucket { + name: 131072, + read: 0, + write: 33, + }, + BrwStatsBucket { + name: 262144, + read: 0, + write: 26, + }, + BrwStatsBucket { + name: 524288, + read: 0, + write: 50, + }, + BrwStatsBucket { + name: 1048576, + read: 67360739, + write: 51895762, + }, + ], + }, + BrwStats { + name: "block_maps_msec", + unit: "maps", + buckets: [ + BrwStatsBucket { + name: 1, + read: 368317131, + write: 1387947, + }, + BrwStatsBucket { + name: 2, + read: 1574, + write: 2157, + }, + BrwStatsBucket { + name: 4, + read: 2063, + write: 3269, + }, + BrwStatsBucket { + name: 8, + read: 1814, + write: 4025, + }, + BrwStatsBucket { + name: 16, + read: 3914, + write: 4689, + }, + BrwStatsBucket { + name: 32, + read: 343, + write: 2109, + }, + BrwStatsBucket { + name: 64, + read: 0, + write: 179, + }, + ], + }, + ], + }, + ), + ), + Target( + QuotaStatsOsd( + TargetStat { + kind: Mdt, + param: Param( + "quota_slave.acct_group", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: QuotaStatsOsd { + kind: Grp, + stats: [ + QuotaStatOsd { + id: 0, + usage: QuotaStatUsage { + inodes: 2416855, + kbytes: 10214128, + }, + }, + ], + }, + }, + ), + ), + Target( + QuotaStatsOsd( + TargetStat { + kind: Ost, + param: Param( + "quota_slave.acct_group", + ), + target: Target( + "ai400x2-OST0000", + ), + value: QuotaStatsOsd { + kind: Grp, + stats: [ + QuotaStatOsd { + id: 0, + usage: QuotaStatUsage { + inodes: 3721, + kbytes: 3184221836, + }, + }, + ], + }, + }, + ), + ), + Target( + QuotaStatsOsd( + TargetStat { + kind: Ost, + param: Param( + "quota_slave.acct_group", + ), + target: Target( + "ai400x2-OST0001", + ), + value: QuotaStatsOsd { + kind: Grp, + stats: [ + QuotaStatOsd { + id: 0, + usage: QuotaStatUsage { + inodes: 3718, + kbytes: 3255431104, + }, + }, + ], + }, + }, + ), + ), + Target( + QuotaStatsOsd( + TargetStat { + kind: Mdt, + param: Param( + "quota_slave.acct_user", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: QuotaStatsOsd { + kind: Usr, + stats: [ + QuotaStatOsd { + id: 0, + usage: QuotaStatUsage { + inodes: 2416855, + kbytes: 10214128, + }, + }, + QuotaStatOsd { + id: 23, + usage: QuotaStatUsage { + inodes: 241123355, + kbytes: 102141328, + }, + }, + ], + }, + }, + ), + ), + Target( + QuotaStatsOsd( + TargetStat { + kind: Ost, + param: Param( + "quota_slave.acct_user", + ), + target: Target( + "ai400x2-OST0000", + ), + value: QuotaStatsOsd { + kind: Usr, + stats: [ + QuotaStatOsd { + id: 0, + usage: QuotaStatUsage { + inodes: 3721, + kbytes: 3184221836, + }, + }, + ], + }, + }, + ), + ), + Target( + QuotaStatsOsd( + TargetStat { + kind: Ost, + param: Param( + "quota_slave.acct_user", + ), + target: Target( + "ai400x2-OST0001", + ), + value: QuotaStatsOsd { + kind: Usr, + stats: [ + QuotaStatOsd { + id: 0, + usage: QuotaStatUsage { + inodes: 3718, + kbytes: 3255431104, + }, + }, + ], + }, + }, + ), + ), + Target( + QuotaStatsOsd( + TargetStat { + kind: Mdt, + param: Param( + "quota_slave.acct_project", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: QuotaStatsOsd { + kind: Prj, + stats: [ + QuotaStatOsd { + id: 0, + usage: QuotaStatUsage { + inodes: 2416855, + kbytes: 10214128, + }, + }, + ], + }, + }, + ), + ), + Target( + QuotaStatsOsd( + TargetStat { + kind: Ost, + param: Param( + "quota_slave.acct_project", + ), + target: Target( + "ai400x2-OST0000", + ), + value: QuotaStatsOsd { + kind: Prj, + stats: [ + QuotaStatOsd { + id: 0, + usage: QuotaStatUsage { + inodes: 3721, + kbytes: 3184221836, + }, + }, + ], + }, + }, + ), + ), + Target( + QuotaStatsOsd( + TargetStat { + kind: Ost, + param: Param( + "quota_slave.acct_project", + ), + target: Target( + "ai400x2-OST0001", + ), + value: QuotaStatsOsd { + kind: Prj, + stats: [ + QuotaStatOsd { + id: 0, + usage: QuotaStatUsage { + inodes: 3718, + kbytes: 3255431104, + }, + }, + ], + }, + }, + ), + ), + Target( + ConnectedClients( + TargetStat { + kind: Mdt, + param: Param( + "connected_clients", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 16, + }, + ), + ), + Target( + Stats( + TargetStat { + kind: Mgt, + param: Param( + "stats", + ), + target: Target( + "MGS", + ), + value: [ + Stat { + name: "req_waittime", + units: "usecs", + samples: 73699, + min: Some( + 6, + ), + max: Some( + 49913, + ), + sum: Some( + 4812259, + ), + sumsquare: Some( + 42020469601, + ), + }, + Stat { + name: "req_qdepth", + units: "reqs", + samples: 73699, + min: Some( + 0, + ), + max: Some( + 0, + ), + sum: Some( + 0, + ), + sumsquare: Some( + 0, + ), + }, + Stat { + name: "req_active", + units: "reqs", + samples: 73699, + min: Some( + 1, + ), + max: Some( + 3, + ), + sum: Some( + 73808, + ), + sumsquare: Some( + 74032, + ), + }, + Stat { + name: "req_timeout", + units: "secs", + samples: 73699, + min: Some( + 15, + ), + max: Some( + 15, + ), + sum: Some( + 1105485, + ), + sumsquare: Some( + 16582275, + ), + }, + Stat { + name: "reqbuf_avail", + units: "bufs", + samples: 147359, + min: Some( + 61, + ), + max: Some( + 64, + ), + sum: Some( + 9283354, + ), + sumsquare: Some( + 584835438, + ), + }, + Stat { + name: "ldlm_plain_enqueue", + units: "reqs", + samples: 722, + min: Some( + 1, + ), + max: Some( + 1, + ), + sum: Some( + 722, + ), + sumsquare: Some( + 722, + ), + }, + Stat { + name: "mgs_connect", + units: "usecs", + samples: 171, + min: Some( + 15, + ), + max: Some( + 73, + ), + sum: Some( + 5222, + ), + sumsquare: Some( + 194162, + ), + }, + Stat { + name: "mgs_disconnect", + units: "usecs", + samples: 149, + min: Some( + 10, + ), + max: Some( + 59, + ), + sum: Some( + 2312, + ), + sumsquare: Some( + 43686, + ), + }, + Stat { + name: "mgs_target_reg", + units: "usecs", + samples: 6, + min: Some( + 9, + ), + max: Some( + 556, + ), + sum: Some( + 978, + ), + sumsquare: Some( + 370360, + ), + }, + Stat { + name: "mgs_config_read", + units: "usecs", + samples: 176, + min: Some( + 19, + ), + max: Some( + 186, + ), + sum: Some( + 10274, + ), + sumsquare: Some( + 667442, + ), + }, + Stat { + name: "obd_ping", + units: "usecs", + samples: 70365, + min: Some( + 3, + ), + max: Some( + 49041, + ), + sum: Some( + 2169610, + ), + sumsquare: Some( + 17505099758, + ), + }, + Stat { + name: "llog_origin_handle_open", + units: "usecs", + samples: 541, + min: Some( + 6, + ), + max: Some( + 1319, + ), + sum: Some( + 10745, + ), + sumsquare: Some( + 2559905, + ), + }, + Stat { + name: "llog_origin_handle_next_block", + units: "usecs", + samples: 1199, + min: Some( + 7, + ), + max: Some( + 419, + ), + sum: Some( + 15687, + ), + sumsquare: Some( + 946229, + ), + }, + Stat { + name: "llog_origin_handle_read_header", + units: "usecs", + samples: 370, + min: Some( + 6, + ), + max: Some( + 261, + ), + sum: Some( + 7887, + ), + sumsquare: Some( + 1005381, + ), + }, + ], + }, + ), + ), + Target( + ThreadsMax( + TargetStat { + kind: Mgt, + param: Param( + "threads_max", + ), + target: Target( + "MGS", + ), + value: 32, + }, + ), + ), + Target( + ThreadsMin( + TargetStat { + kind: Mgt, + param: Param( + "threads_min", + ), + target: Target( + "MGS", + ), + value: 3, + }, + ), + ), + Target( + ThreadsStarted( + TargetStat { + kind: Mgt, + param: Param( + "threads_started", + ), + target: Target( + "MGS", + ), + value: 4, + }, + ), + ), + Target( + NumExports( + TargetStat { + kind: Mgt, + param: Param( + "num_exports", + ), + target: Target( + "MGS", + ), + value: 20, + }, + ), + ), + Target( + JobStatsOst( + TargetStat { + kind: Ost, + param: Param( + "job_stats", + ), + target: Target( + "ai400x2-OST0000", + ), + value: None, + }, + ), + ), + Target( + JobStatsOst( + TargetStat { + kind: Ost, + param: Param( + "job_stats", + ), + target: Target( + "ai400x2-OST0001", + ), + value: None, + }, + ), + ), + Target( + Stats( + TargetStat { + kind: Ost, + param: Param( + "stats", + ), + target: Target( + "ai400x2-OST0000", + ), + value: [ + Stat { + name: "read_bytes", + units: "bytes", + samples: 71482249, + min: Some( + 4096, + ), + max: Some( + 1048576, + ), + sum: Some( + 58370831220736, + ), + sumsquare: Some( + 5356592093840015360, + ), + }, + Stat { + name: "write_bytes", + units: "bytes", + samples: 51198558, + min: Some( + 4096, + ), + max: Some( + 1048576, + ), + sum: Some( + 47288584560640, + ), + sumsquare: Some( + 12593290949599166464, + ), + }, + Stat { + name: "read", + units: "usecs", + samples: 71482249, + min: Some( + 13, + ), + max: Some( + 640342, + ), + sum: Some( + 462391903386, + ), + sumsquare: Some( + 6394091957365906, + ), + }, + Stat { + name: "write", + units: "usecs", + samples: 51198558, + min: Some( + 1, + ), + max: Some( + 180084, + ), + sum: Some( + 91797930838, + ), + sumsquare: Some( + 475551482436466, + ), + }, + Stat { + name: "punch", + units: "usecs", + samples: 453, + min: Some( + 9, + ), + max: Some( + 601, + ), + sum: Some( + 13811, + ), + sumsquare: Some( + 2419661, + ), + }, + Stat { + name: "sync", + units: "usecs", + samples: 771, + min: Some( + 0, + ), + max: Some( + 233833, + ), + sum: Some( + 5520406, + ), + sumsquare: Some( + 405123348902, + ), + }, + Stat { + name: "create", + units: "usecs", + samples: 16, + min: Some( + 1546, + ), + max: Some( + 284516, + ), + sum: Some( + 574180, + ), + sumsquare: Some( + 93247395606, + ), + }, + Stat { + name: "statfs", + units: "usecs", + samples: 142531, + min: Some( + 0, + ), + max: Some( + 26666, + ), + sum: Some( + 634747, + ), + sumsquare: Some( + 714999967, + ), + }, + Stat { + name: "get_info", + units: "usecs", + samples: 2, + min: Some( + 5, + ), + max: Some( + 6, + ), + sum: Some( + 11, + ), + sumsquare: Some( + 61, + ), + }, + Stat { + name: "set_info", + units: "usecs", + samples: 58, + min: Some( + 2, + ), + max: Some( + 15, + ), + sum: Some( + 440, + ), + sumsquare: Some( + 3678, + ), + }, + ], + }, + ), + ), + Target( + Stats( + TargetStat { + kind: Ost, + param: Param( + "stats", + ), + target: Target( + "ai400x2-OST0001", + ), + value: [ + Stat { + name: "read_bytes", + units: "bytes", + samples: 95047172, + min: Some( + 4096, + ), + max: Some( + 1048576, + ), + sum: Some( + 71484548943872, + ), + sumsquare: Some( + 459021499014053888, + ), + }, + Stat { + name: "write_bytes", + units: "bytes", + samples: 61097554, + min: Some( + 4096, + ), + max: Some( + 1048576, + ), + sum: Some( + 54592520048640, + ), + sumsquare: Some( + 1760900120527765504, + ), + }, + Stat { + name: "read", + units: "usecs", + samples: 95047172, + min: Some( + 13, + ), + max: Some( + 638986, + ), + sum: Some( + 484812403750, + ), + sumsquare: Some( + 6419423362201602, + ), + }, + Stat { + name: "write", + units: "usecs", + samples: 61097554, + min: Some( + 1, + ), + max: Some( + 182399, + ), + sum: Some( + 98807931704, + ), + sumsquare: Some( + 505713687526192, + ), + }, + Stat { + name: "punch", + units: "usecs", + samples: 464, + min: Some( + 10, + ), + max: Some( + 211, + ), + sum: Some( + 10896, + ), + sumsquare: Some( + 447630, + ), + }, + Stat { + name: "sync", + units: "usecs", + samples: 793, + min: Some( + 0, + ), + max: Some( + 226593, + ), + sum: Some( + 7910557, + ), + sumsquare: Some( + 575376403949, + ), + }, + Stat { + name: "create", + units: "usecs", + samples: 16, + min: Some( + 2361, + ), + max: Some( + 289694, + ), + sum: Some( + 539400, + ), + sumsquare: Some( + 93406251682, + ), + }, + Stat { + name: "statfs", + units: "usecs", + samples: 142532, + min: Some( + 0, + ), + max: Some( + 86, + ), + sum: Some( + 584723, + ), + sumsquare: Some( + 3564125, + ), + }, + Stat { + name: "get_info", + units: "usecs", + samples: 2, + min: Some( + 4, + ), + max: Some( + 4, + ), + sum: Some( + 8, + ), + sumsquare: Some( + 32, + ), + }, + Stat { + name: "set_info", + units: "usecs", + samples: 58, + min: Some( + 3, + ), + max: Some( + 23, + ), + sum: Some( + 419, + ), + sumsquare: Some( + 3539, + ), + }, + ], + }, + ), + ), + Target( + NumExports( + TargetStat { + kind: Ost, + param: Param( + "num_exports", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 12, + }, + ), + ), + Target( + NumExports( + TargetStat { + kind: Ost, + param: Param( + "num_exports", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 12, + }, + ), + ), + Target( + TotDirty( + TargetStat { + kind: Ost, + param: Param( + "tot_dirty", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 94437376, + }, + ), + ), + Target( + TotDirty( + TargetStat { + kind: Ost, + param: Param( + "tot_dirty", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 98729984, + }, + ), + ), + Target( + TotGranted( + TargetStat { + kind: Ost, + param: Param( + "tot_granted", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 4544887232, + }, + ), + ), + Target( + TotGranted( + TargetStat { + kind: Ost, + param: Param( + "tot_granted", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 4448762304, + }, + ), + ), + Target( + TotPending( + TargetStat { + kind: Ost, + param: Param( + "tot_pending", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 0, + }, + ), + ), + Target( + TotPending( + TargetStat { + kind: Ost, + param: Param( + "tot_pending", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 0, + }, + ), + ), + Target( + Oss( + OssStat { + param: Param( + "ost", + ), + stats: [ + Stat { + name: "req_waittime", + units: "usecs", + samples: 83250, + min: Some( + 4, + ), + max: Some( + 27134, + ), + sum: Some( + 2316419, + ), + sumsquare: Some( + 8367668909, + ), + }, + Stat { + name: "req_qdepth", + units: "reqs", + samples: 83250, + min: Some( + 0, + ), + max: Some( + 3, + ), + sum: Some( + 153, + ), + sumsquare: Some( + 161, + ), + }, + Stat { + name: "req_active", + units: "reqs", + samples: 83250, + min: Some( + 1, + ), + max: Some( + 12, + ), + sum: Some( + 98604, + ), + sumsquare: Some( + 142186, + ), + }, + Stat { + name: "req_timeout", + units: "secs", + samples: 83250, + min: Some( + 15, + ), + max: Some( + 15, + ), + sum: Some( + 1248750, + ), + sumsquare: Some( + 18731250, + ), + }, + Stat { + name: "reqbuf_avail", + units: "bufs", + samples: 174518, + min: Some( + 63, + ), + max: Some( + 64, + ), + sum: Some( + 11164101, + ), + sumsquare: Some( + 714184251, + ), + }, + Stat { + name: "ldlm_glimpse_enqueue", + units: "reqs", + samples: 70569, + min: Some( + 1, + ), + max: Some( + 1, + ), + sum: Some( + 70569, + ), + sumsquare: Some( + 70569, + ), + }, + Stat { + name: "ldlm_extent_enqueue", + units: "reqs", + samples: 1564, + min: Some( + 1, + ), + max: Some( + 1, + ), + sum: Some( + 1564, + ), + sumsquare: Some( + 1564, + ), + }, + Stat { + name: "ost_create", + units: "usecs", + samples: 32, + min: Some( + 1560, + ), + max: Some( + 289717, + ), + sum: Some( + 1114184, + ), + sumsquare: Some( + 186706180850, + ), + }, + Stat { + name: "ost_get_info", + units: "usecs", + samples: 4, + min: Some( + 10, + ), + max: Some( + 23, + ), + sum: Some( + 60, + ), + sumsquare: Some( + 998, + ), + }, + Stat { + name: "ost_connect", + units: "usecs", + samples: 409, + min: Some( + 8, + ), + max: Some( + 47049, + ), + sum: Some( + 91550, + ), + sumsquare: Some( + 2331032792, + ), + }, + Stat { + name: "ost_disconnect", + units: "usecs", + samples: 345, + min: Some( + 18, + ), + max: Some( + 3080, + ), + sum: Some( + 28704, + ), + sumsquare: Some( + 14077548, + ), + }, + Stat { + name: "ost_sync", + units: "usecs", + samples: 1564, + min: Some( + 7, + ), + max: Some( + 233847, + ), + sum: Some( + 13450680, + ), + sumsquare: Some( + 980959810506, + ), + }, + Stat { + name: "ost_set_info", + units: "usecs", + samples: 116, + min: Some( + 10, + ), + max: Some( + 48, + ), + sum: Some( + 2893, + ), + sumsquare: Some( + 80653, + ), + }, + Stat { + name: "obd_ping", + units: "usecs", + samples: 8647, + min: Some( + 5, + ), + max: Some( + 11543, + ), + sum: Some( + 166718, + ), + sumsquare: Some( + 136487662, + ), + }, + ], + }, + ), + ), + Target( + Oss( + OssStat { + param: Param( + "ost_io", + ), + stats: [ + Stat { + name: "req_waittime", + units: "usecs", + samples: 278826450, + min: Some( + 3, + ), + max: Some( + 256381, + ), + sum: Some( + 679180789541, + ), + sumsquare: Some( + 17033293421667587, + ), + }, + Stat { + name: "req_qdepth", + units: "reqs", + samples: 278826450, + min: Some( + 0, + ), + max: Some( + 57, + ), + sum: Some( + 2996612, + ), + sumsquare: Some( + 4115824, + ), + }, + Stat { + name: "req_active", + units: "reqs", + samples: 278826450, + min: Some( + 1, + ), + max: Some( + 82, + ), + sum: Some( + 8212823748, + ), + sumsquare: Some( + 445460199062, + ), + }, + Stat { + name: "req_timeout", + units: "secs", + samples: 278826450, + min: Some( + 15, + ), + max: Some( + 15, + ), + sum: Some( + 4182396750, + ), + sumsquare: Some( + 62735951250, + ), + }, + Stat { + name: "reqbuf_avail", + units: "bufs", + samples: 576765593, + min: Some( + 61, + ), + max: Some( + 64, + ), + sum: Some( + 36852221769, + ), + sumsquare: Some( + 2354713494223, + ), + }, + Stat { + name: "ost_read", + units: "usecs", + samples: 166529421, + min: Some( + 25, + ), + max: Some( + 640373, + ), + sum: Some( + 951059111021, + ), + sumsquare: Some( + 12867597685838659, + ), + }, + Stat { + name: "ost_write", + units: "usecs", + samples: 112296112, + min: Some( + 107, + ), + max: Some( + 1330182, + ), + sum: Some( + 1108563975461, + ), + sumsquare: Some( + 26954717981473657, + ), + }, + Stat { + name: "ost_punch", + units: "usecs", + samples: 917, + min: Some( + 17, + ), + max: Some( + 609, + ), + sum: Some( + 35595, + ), + sumsquare: Some( + 3676339, + ), + }, + ], + }, + ), + ), + Target( + Oss( + OssStat { + param: Param( + "ost_create", + ), + stats: [ + Stat { + name: "req_waittime", + units: "usecs", + samples: 285063, + min: Some( + 4, + ), + max: Some( + 50240, + ), + sum: Some( + 17442945, + ), + sumsquare: Some( + 136104207523, + ), + }, + Stat { + name: "req_qdepth", + units: "reqs", + samples: 285063, + min: Some( + 0, + ), + max: Some( + 1, + ), + sum: Some( + 102, + ), + sumsquare: Some( + 102, + ), + }, + Stat { + name: "req_active", + units: "reqs", + samples: 285063, + min: Some( + 1, + ), + max: Some( + 2, + ), + sum: Some( + 317581, + ), + sumsquare: Some( + 382617, + ), + }, + Stat { + name: "req_timeout", + units: "secs", + samples: 285063, + min: Some( + 15, + ), + max: Some( + 15, + ), + sum: Some( + 4275945, + ), + sumsquare: Some( + 64139175, + ), + }, + Stat { + name: "reqbuf_avail", + units: "bufs", + samples: 581187, + min: Some( + 63, + ), + max: Some( + 64, + ), + sum: Some( + 37185744, + ), + sumsquare: Some( + 2379243504, + ), + }, + Stat { + name: "ost_statfs", + units: "usecs", + samples: 285063, + min: Some( + 4, + ), + max: Some( + 49790, + ), + sum: Some( + 8609278, + ), + sumsquare: Some( + 28510056070, + ), + }, + ], + }, + ), + ), + Target( + Oss( + OssStat { + param: Param( + "ost_out", + ), + stats: [ + Stat { + name: "req_waittime", + units: "usecs", + samples: 62804, + min: Some( + 9, + ), + max: Some( + 36100, + ), + sum: Some( + 4186292, + ), + sumsquare: Some( + 32540407268, + ), + }, + Stat { + name: "req_qdepth", + units: "reqs", + samples: 62804, + min: Some( + 0, + ), + max: Some( + 0, + ), + sum: Some( + 0, + ), + sumsquare: Some( + 0, + ), + }, + Stat { + name: "req_active", + units: "reqs", + samples: 62804, + min: Some( + 1, + ), + max: Some( + 2, + ), + sum: Some( + 62806, + ), + sumsquare: Some( + 62810, + ), + }, + Stat { + name: "req_timeout", + units: "secs", + samples: 62804, + min: Some( + 15, + ), + max: Some( + 15, + ), + sum: Some( + 942060, + ), + sumsquare: Some( + 14130900, + ), + }, + Stat { + name: "reqbuf_avail", + units: "bufs", + samples: 128825, + min: Some( + 63, + ), + max: Some( + 64, + ), + sum: Some( + 8243619, + ), + sumsquare: Some( + 527517213, + ), + }, + Stat { + name: "mds_connect", + units: "usecs", + samples: 27, + min: Some( + 35, + ), + max: Some( + 26576, + ), + sum: Some( + 45671, + ), + sumsquare: Some( + 802779901, + ), + }, + Stat { + name: "mds_statfs", + units: "usecs", + samples: 62757, + min: Some( + 4, + ), + max: Some( + 13772, + ), + sum: Some( + 1864962, + ), + sumsquare: Some( + 247874738, + ), + }, + Stat { + name: "obd_ping", + units: "usecs", + samples: 4, + min: Some( + 9, + ), + max: Some( + 12, + ), + sum: Some( + 40, + ), + sumsquare: Some( + 406, + ), + }, + Stat { + name: "out_update", + units: "usecs", + samples: 16, + min: Some( + 13, + ), + max: Some( + 18295, + ), + sum: Some( + 23778, + ), + sumsquare: Some( + 339079170, + ), + }, + ], + }, + ), + ), + Target( + Oss( + OssStat { + param: Param( + "ost_seq", + ), + stats: [], + }, + ), + ), + Target( + JobStatsMdt( + TargetStat { + kind: Mdt, + param: Param( + "job_stats", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: None, + }, + ), + ), + Target( + Stats( + TargetStat { + kind: Mdt, + param: Param( + "md_stats", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: [ + Stat { + name: "open", + units: "usecs", + samples: 512, + min: Some( + 64, + ), + max: Some( + 39146, + ), + sum: Some( + 772784, + ), + sumsquare: Some( + 11053232614, + ), + }, + Stat { + name: "close", + units: "usecs", + samples: 114600, + min: Some( + 6, + ), + max: Some( + 4052, + ), + sum: Some( + 2630805, + ), + sumsquare: Some( + 117582745, + ), + }, + Stat { + name: "mknod", + units: "usecs", + samples: 512, + min: Some( + 59, + ), + max: Some( + 39101, + ), + sum: Some( + 767427, + ), + sumsquare: Some( + 11030140065, + ), + }, + Stat { + name: "getattr", + units: "usecs", + samples: 128155, + min: Some( + 1, + ), + max: Some( + 2989, + ), + sum: Some( + 989676, + ), + sumsquare: Some( + 146718346, + ), + }, + Stat { + name: "setattr", + units: "usecs", + samples: 516, + min: Some( + 26, + ), + max: Some( + 121, + ), + sum: Some( + 22544, + ), + sumsquare: Some( + 1044320, + ), + }, + Stat { + name: "getxattr", + units: "usecs", + samples: 48656, + min: Some( + 6, + ), + max: Some( + 1091, + ), + sum: Some( + 687561, + ), + sumsquare: Some( + 11650127, + ), + }, + Stat { + name: "statfs", + units: "usecs", + samples: 124801, + min: Some( + 0, + ), + max: Some( + 95, + ), + sum: Some( + 1292933, + ), + sumsquare: Some( + 18510209, + ), + }, + Stat { + name: "sync", + units: "usecs", + samples: 512, + min: Some( + 4, + ), + max: Some( + 50, + ), + sum: Some( + 7767, + ), + sumsquare: Some( + 129923, + ), + }, + ], + }, + ), + ), + Target( + NumExports( + TargetStat { + kind: Mdt, + param: Param( + "num_exports", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 31, + }, + ), + ), + Target( + QuotaStats( + TargetQuotaStat { + pool: "0x0", + manager: "dt", + param: Param( + "usr", + ), + target: Target( + "ai400x2-QMT0000", + ), + value: QuotaStats { + kind: Usr, + stats: [ + QuotaStat { + id: 0, + limits: QuotaStatLimits { + hard: 0, + soft: 0, + granted: 0, + time: 604800, + }, + }, + ], + }, + }, + ), + ), + Target( + QuotaStats( + TargetQuotaStat { + pool: "0x0", + manager: "md", + param: Param( + "usr", + ), + target: Target( + "ai400x2-QMT0000", + ), + value: QuotaStats { + kind: Usr, + stats: [ + QuotaStat { + id: 0, + limits: QuotaStatLimits { + hard: 0, + soft: 0, + granted: 0, + time: 604800, + }, + }, + ], + }, + }, + ), + ), + Target( + QuotaStats( + TargetQuotaStat { + pool: "0x0", + manager: "dt", + param: Param( + "prj", + ), + target: Target( + "ai400x2-QMT0000", + ), + value: QuotaStats { + kind: Prj, + stats: [ + QuotaStat { + id: 0, + limits: QuotaStatLimits { + hard: 0, + soft: 0, + granted: 0, + time: 604800, + }, + }, + ], + }, + }, + ), + ), + Target( + QuotaStats( + TargetQuotaStat { + pool: "0x0", + manager: "md", + param: Param( + "prj", + ), + target: Target( + "ai400x2-QMT0000", + ), + value: QuotaStats { + kind: Prj, + stats: [ + QuotaStat { + id: 0, + limits: QuotaStatLimits { + hard: 0, + soft: 0, + granted: 0, + time: 604800, + }, + }, + ], + }, + }, + ), + ), + Target( + QuotaStats( + TargetQuotaStat { + pool: "0x0", + manager: "dt", + param: Param( + "grp", + ), + target: Target( + "ai400x2-QMT0000", + ), + value: QuotaStats { + kind: Grp, + stats: [ + QuotaStat { + id: 0, + limits: QuotaStatLimits { + hard: 0, + soft: 0, + granted: 0, + time: 604800, + }, + }, + ], + }, + }, + ), + ), + Target( + QuotaStats( + TargetQuotaStat { + pool: "0x0", + manager: "md", + param: Param( + "grp", + ), + target: Target( + "ai400x2-QMT0000", + ), + value: QuotaStats { + kind: Grp, + stats: [ + QuotaStat { + id: 0, + limits: QuotaStatLimits { + hard: 0, + soft: 0, + granted: 0, + time: 604800, + }, + }, + ], + }, + }, + ), + ), + Target( + ContendedLocks( + TargetStat { + kind: Mdt, + param: Param( + "contended_locks", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 32, + }, + ), + ), + Target( + ContendedLocks( + TargetStat { + kind: Ost, + param: Param( + "contended_locks", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 32, + }, + ), + ), + Target( + ContendedLocks( + TargetStat { + kind: Ost, + param: Param( + "contended_locks", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 32, + }, + ), + ), + Target( + ContentionSeconds( + TargetStat { + kind: Mdt, + param: Param( + "contention_seconds", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 2, + }, + ), + ), + Target( + ContentionSeconds( + TargetStat { + kind: Ost, + param: Param( + "contention_seconds", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 2, + }, + ), + ), + Target( + ContentionSeconds( + TargetStat { + kind: Ost, + param: Param( + "contention_seconds", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 2, + }, + ), + ), + Target( + CtimeAgeLimit( + TargetStat { + kind: Mdt, + param: Param( + "ctime_age_limit", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 10, + }, + ), + ), + Target( + CtimeAgeLimit( + TargetStat { + kind: Ost, + param: Param( + "ctime_age_limit", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 10, + }, + ), + ), + Target( + CtimeAgeLimit( + TargetStat { + kind: Ost, + param: Param( + "ctime_age_limit", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 10, + }, + ), + ), + Target( + EarlyLockCancel( + TargetStat { + kind: Mdt, + param: Param( + "early_lock_cancel", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 0, + }, + ), + ), + Target( + EarlyLockCancel( + TargetStat { + kind: Ost, + param: Param( + "early_lock_cancel", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 0, + }, + ), + ), + Target( + EarlyLockCancel( + TargetStat { + kind: Ost, + param: Param( + "early_lock_cancel", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 0, + }, + ), + ), + Target( + LockCount( + TargetStat { + kind: Mdt, + param: Param( + "lock_count", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 520, + }, + ), + ), + Target( + LockCount( + TargetStat { + kind: Ost, + param: Param( + "lock_count", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 347, + }, + ), + ), + Target( + LockCount( + TargetStat { + kind: Ost, + param: Param( + "lock_count", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 364, + }, + ), + ), + Target( + LockTimeouts( + TargetStat { + kind: Mdt, + param: Param( + "lock_timeouts", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 0, + }, + ), + ), + Target( + LockTimeouts( + TargetStat { + kind: Ost, + param: Param( + "lock_timeouts", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 0, + }, + ), + ), + Target( + LockTimeouts( + TargetStat { + kind: Ost, + param: Param( + "lock_timeouts", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 0, + }, + ), + ), + Target( + LockUnusedCount( + TargetStat { + kind: Mdt, + param: Param( + "lock_unused_count", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 0, + }, + ), + ), + Target( + LockUnusedCount( + TargetStat { + kind: Ost, + param: Param( + "lock_unused_count", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 0, + }, + ), + ), + Target( + LockUnusedCount( + TargetStat { + kind: Ost, + param: Param( + "lock_unused_count", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 0, + }, + ), + ), + Target( + LruMaxAge( + TargetStat { + kind: Mdt, + param: Param( + "lru_max_age", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 3900000, + }, + ), + ), + Target( + LruMaxAge( + TargetStat { + kind: Ost, + param: Param( + "lru_max_age", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 3900000, + }, + ), + ), + Target( + LruMaxAge( + TargetStat { + kind: Ost, + param: Param( + "lru_max_age", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 3900000, + }, + ), + ), + Target( + LruSize( + TargetStat { + kind: Mdt, + param: Param( + "lru_size", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 2400, + }, + ), + ), + Target( + LruSize( + TargetStat { + kind: Ost, + param: Param( + "lru_size", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 2400, + }, + ), + ), + Target( + LruSize( + TargetStat { + kind: Ost, + param: Param( + "lru_size", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 2400, + }, + ), + ), + Target( + MaxNolockBytes( + TargetStat { + kind: Mdt, + param: Param( + "max_nolock_bytes", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 0, + }, + ), + ), + Target( + MaxNolockBytes( + TargetStat { + kind: Ost, + param: Param( + "max_nolock_bytes", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 0, + }, + ), + ), + Target( + MaxNolockBytes( + TargetStat { + kind: Ost, + param: Param( + "max_nolock_bytes", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 0, + }, + ), + ), + Target( + MaxParallelAst( + TargetStat { + kind: Mdt, + param: Param( + "max_parallel_ast", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 1024, + }, + ), + ), + Target( + MaxParallelAst( + TargetStat { + kind: Ost, + param: Param( + "max_parallel_ast", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 1024, + }, + ), + ), + Target( + MaxParallelAst( + TargetStat { + kind: Ost, + param: Param( + "max_parallel_ast", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 1024, + }, + ), + ), + Target( + ResourceCount( + TargetStat { + kind: Mdt, + param: Param( + "resource_count", + ), + target: Target( + "ai400x2-MDT0000", + ), + value: 257, + }, + ), + ), + Target( + ResourceCount( + TargetStat { + kind: Ost, + param: Param( + "resource_count", + ), + target: Target( + "ai400x2-OST0000", + ), + value: 347, + }, + ), + ), + Target( + ResourceCount( + TargetStat { + kind: Ost, + param: Param( + "resource_count", + ), + target: Target( + "ai400x2-OST0001", + ), + value: 364, + }, + ), + ), + LustreService( + LdlmCanceld( + [ + Stat { + name: "req_waittime", + units: "usecs", + samples: 241065, + min: Some( + 2, + ), + max: Some( + 16760, + ), + sum: Some( + 7505570, + ), + sumsquare: Some( + 1799848938, + ), + }, + Stat { + name: "req_qdepth", + units: "reqs", + samples: 241065, + min: Some( + 0, + ), + max: Some( + 76, + ), + sum: Some( + 2454, + ), + sumsquare: Some( + 23382, + ), + }, + Stat { + name: "req_active", + units: "reqs", + samples: 241065, + min: Some( + 1, + ), + max: Some( + 15, + ), + sum: Some( + 319673, + ), + sumsquare: Some( + 583397, + ), + }, + Stat { + name: "req_timeout", + units: "secs", + samples: 241065, + min: Some( + 15, + ), + max: Some( + 15, + ), + sum: Some( + 3615975, + ), + sumsquare: Some( + 54239625, + ), + }, + Stat { + name: "reqbuf_avail", + units: "bufs", + samples: 498763, + min: Some( + 49, + ), + max: Some( + 64, + ), + sum: Some( + 31759437, + ), + sumsquare: Some( + 2022603051, + ), + }, + Stat { + name: "ldlm_cancel", + units: "usecs", + samples: 241065, + min: Some( + 2, + ), + max: Some( + 63482, + ), + sum: Some( + 16282441, + ), + sumsquare: Some( + 171849796047, + ), + }, + ], + ), + ), + LustreService( + LdlmCbd( + [ + Stat { + name: "req_waittime", + units: "usecs", + samples: 2, + min: Some( + 33, + ), + max: Some( + 36, + ), + sum: Some( + 69, + ), + sumsquare: Some( + 2385, + ), + }, + Stat { + name: "req_qdepth", + units: "reqs", + samples: 2, + min: Some( + 0, + ), + max: Some( + 0, + ), + sum: Some( + 0, + ), + sumsquare: Some( + 0, + ), + }, + Stat { + name: "req_active", + units: "reqs", + samples: 2, + min: Some( + 1, + ), + max: Some( + 1, + ), + sum: Some( + 2, + ), + sumsquare: Some( + 2, + ), + }, + Stat { + name: "req_timeout", + units: "secs", + samples: 2, + min: Some( + 15, + ), + max: Some( + 15, + ), + sum: Some( + 30, + ), + sumsquare: Some( + 450, + ), + }, + Stat { + name: "reqbuf_avail", + units: "bufs", + samples: 6, + min: Some( + 1, + ), + max: Some( + 1, + ), + sum: Some( + 6, + ), + sumsquare: Some( + 6, + ), + }, + Stat { + name: "ldlm_bl_callback", + units: "usecs", + samples: 2, + min: Some( + 18, + ), + max: Some( + 19, + ), + sum: Some( + 37, + ), + sumsquare: Some( + 685, + ), + }, + ], + ), + ), + ], + "", +) diff --git a/src/snapshots/lustre_collector__tests__params.snap b/src/snapshots/lustre_collector__tests__params.snap index 11b4332..d65ccda 100644 --- a/src/snapshots/lustre_collector__tests__params.snap +++ b/src/snapshots/lustre_collector__tests__params.snap @@ -2,4 +2,4 @@ source: src/lib.rs expression: "xs.join(\" \")" --- -memused memused_max lnet_memused health_check mdt.*.exports.*.uuid osd-*.*.filesfree osd-*.*.filestotal osd-*.*.fstype osd-*.*.kbytesavail osd-*.*.kbytesfree osd-*.*.kbytestotal osd-*.*.brw_stats mgs.*.mgs.stats mgs.*.mgs.threads_max mgs.*.mgs.threads_min mgs.*.mgs.threads_started mgs.*.num_exports obdfilter.*OST*.job_stats obdfilter.*OST*.stats obdfilter.*OST*.num_exports obdfilter.*OST*.tot_dirty obdfilter.*OST*.tot_granted obdfilter.*OST*.tot_pending obdfilter.*OST*.exports.*.stats ost.OSS.ost.stats ost.OSS.ost_io.stats ost.OSS.ost_create.stats ost.OSS.ost_out.stats ost.OSS.ost_seq.stats mds.MDS.mdt.stats mds.MDS.mdt_fld.stats mds.MDS.mdt_io.stats mds.MDS.mdt_out.stats mds.MDS.mdt_readpage.stats mds.MDS.mdt_seqm.stats mds.MDS.mdt_seqs.stats mds.MDS.mdt_setattr.stats mdt.*.job_stats mdt.*.md_stats mdt.*MDT*.num_exports mdt.*MDT*.exports.*.stats ldlm.namespaces.{mdt-,filter-}*.contended_locks ldlm.namespaces.{mdt-,filter-}*.contention_seconds ldlm.namespaces.{mdt-,filter-}*.ctime_age_limit ldlm.namespaces.{mdt-,filter-}*.early_lock_cancel ldlm.namespaces.{mdt-,filter-}*.lock_count ldlm.namespaces.{mdt-,filter-}*.lock_timeouts ldlm.namespaces.{mdt-,filter-}*.lock_unused_count ldlm.namespaces.{mdt-,filter-}*.lru_max_age ldlm.namespaces.{mdt-,filter-}*.lru_size ldlm.namespaces.{mdt-,filter-}*.max_nolock_bytes ldlm.namespaces.{mdt-,filter-}*.max_parallel_ast ldlm.namespaces.{mdt-,filter-}*.resource_count ldlm.services.ldlm_canceld.stats ldlm.services.ldlm_cbd.stats llite.*.stats mdd.*.changelog_users +memused memused_max lnet_memused health_check mdt.*.exports.*.uuid osd-*.*.filesfree osd-*.*.filestotal osd-*.*.fstype osd-*.*.kbytesavail osd-*.*.kbytesfree osd-*.*.kbytestotal osd-*.*.brw_stats osd-*.*.quota_slave.acct_group osd-*.*.quota_slave.acct_user osd-*.*.quota_slave.acct_project mgs.*.mgs.stats mgs.*.mgs.threads_max mgs.*.mgs.threads_min mgs.*.mgs.threads_started mgs.*.num_exports obdfilter.*OST*.job_stats obdfilter.*OST*.stats obdfilter.*OST*.num_exports obdfilter.*OST*.tot_dirty obdfilter.*OST*.tot_granted obdfilter.*OST*.tot_pending obdfilter.*OST*.exports.*.stats ost.OSS.ost.stats ost.OSS.ost_io.stats ost.OSS.ost_create.stats ost.OSS.ost_out.stats ost.OSS.ost_seq.stats mds.MDS.mdt.stats mds.MDS.mdt_fld.stats mds.MDS.mdt_io.stats mds.MDS.mdt_out.stats mds.MDS.mdt_readpage.stats mds.MDS.mdt_seqm.stats mds.MDS.mdt_seqs.stats mds.MDS.mdt_setattr.stats mdt.*.job_stats mdt.*.md_stats mdt.*MDT*.num_exports mdt.*MDT*.exports.*.stats ldlm.namespaces.{mdt-,filter-}*.contended_locks ldlm.namespaces.{mdt-,filter-}*.contention_seconds ldlm.namespaces.{mdt-,filter-}*.ctime_age_limit ldlm.namespaces.{mdt-,filter-}*.early_lock_cancel ldlm.namespaces.{mdt-,filter-}*.lock_count ldlm.namespaces.{mdt-,filter-}*.lock_timeouts ldlm.namespaces.{mdt-,filter-}*.lock_unused_count ldlm.namespaces.{mdt-,filter-}*.lru_max_age ldlm.namespaces.{mdt-,filter-}*.lru_size ldlm.namespaces.{mdt-,filter-}*.max_nolock_bytes ldlm.namespaces.{mdt-,filter-}*.max_parallel_ast ldlm.namespaces.{mdt-,filter-}*.resource_count ldlm.services.ldlm_canceld.stats ldlm.services.ldlm_cbd.stats llite.*.stats mdd.*.changelog_users qmt.*.*.glb-usr qmt.*.*.glb-prj qmt.*.*.glb-grp diff --git a/src/stats_parser.rs b/src/stats_parser.rs index d0dae7e..a6b02ee 100644 --- a/src/stats_parser.rs +++ b/src/stats_parser.rs @@ -9,6 +9,7 @@ use crate::{ mdd_parser::MDD, mds::mds_parser::MDS, oss::oss_parser::OST, + quota::QMT, time::time_triple, types::Stat, }; @@ -30,7 +31,7 @@ where I::Error: ParseError, { ( - not_words(&["obdfilter", "mgs", "mdt", LDLM, OST, LLITE, MDS, MDD]).skip(spaces()), + not_words(&["obdfilter", "mgs", "mdt", LDLM, OST, LLITE, MDS, MDD, QMT]).skip(spaces()), digits(), spaces().with(string("samples")), spaces().with(between(token('['), token(']'), word())), @@ -58,7 +59,7 @@ where spaces().with(digits()) } -fn stat() -> impl Parser +pub(crate) fn stat() -> impl Parser where I: Stream, I::Error: ParseError, diff --git a/src/types.rs b/src/types.rs index e863440..5276a2a 100644 --- a/src/types.rs +++ b/src/types.rs @@ -414,6 +414,16 @@ pub struct MdsStat { pub stats: Vec, } +#[derive(PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)] +/// Stats specific to a quota target. +pub struct TargetQuotaStat { + pub pool: String, + pub manager: String, + pub param: Param, + pub target: Target, + pub value: T, +} + #[derive(PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)] /// Stats specific to a LNet Nid. pub struct LNetStat { @@ -576,6 +586,8 @@ pub enum TargetStats { ExportStats(TargetStat>), Mds(MdsStat), Changelog(TargetStat), + QuotaStats(TargetQuotaStat), + QuotaStatsOsd(TargetStat), } #[derive(PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)] @@ -603,6 +615,51 @@ pub enum Record { Target(TargetStats), } +#[derive(PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)] +pub struct QuotaStatLimits { + pub hard: u64, + pub soft: u64, + pub granted: u64, + pub time: u64, +} + +#[derive(PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)] +pub struct QuotaStatUsage { + pub inodes: u64, + pub kbytes: u64, +} + +#[derive(PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)] +pub struct QuotaStat { + pub id: u64, + pub limits: QuotaStatLimits, +} + +#[derive(PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)] +pub struct QuotaStatOsd { + pub id: u64, + pub usage: QuotaStatUsage, +} + +#[derive(PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)] +pub struct QuotaStats { + pub kind: QuotaKind, + pub stats: Vec, +} + +#[derive(PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)] +pub struct QuotaStatsOsd { + pub kind: QuotaKind, + pub stats: Vec, +} + +#[derive(PartialEq, Eq, Debug, serde::Serialize, serde::Deserialize)] +pub enum QuotaKind { + Usr, + Grp, + Prj, +} + #[cfg(test)] mod tests { use super::*;