From c513422ec537c8815da6f1dc48b7dec516cc833f Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Wed, 18 Nov 2020 02:49:45 -0500 Subject: [PATCH] doc: document `cephfs-top` utility Signed-off-by: Venky Shankar --- doc/cephfs/cephfs-top.png | Bin 0 -> 18369 bytes doc/cephfs/cephfs-top.rst | 77 ++++++++++++++++++++++++++++++++++++++ doc/cephfs/index.rst | 1 + 3 files changed, 78 insertions(+) create mode 100644 doc/cephfs/cephfs-top.png create mode 100644 doc/cephfs/cephfs-top.rst diff --git a/doc/cephfs/cephfs-top.png b/doc/cephfs/cephfs-top.png new file mode 100644 index 0000000000000000000000000000000000000000..f65aea1d2b9011701999729c8c71f9f00344c845 GIT binary patch literal 18369 zcmc({by$?|yFH2@L{L;31SBOS1SO>g8M={fqgWvw` zea_kY{ByYGqTYGonJ4ah-D|CT{A8qrpFJUXf`EYVOjJZb76IYmd+_}?l)u2|wYS`^ z;0vNPR8$@X1!ZPYdI9{1ZX>8{BWGb?W3O$ck057cYh$BtrRy>H7y*G4K~#WG-eGzN zZm5nWN{Fy8`t<{;{Dxq)#~0s8oS6spr;nbTJ}NJ<@Ap2Tf33qW_z~ThTmdQ9_sNsw zU%!069M5q*cI3^CTJEHRy&hk?JNhPJU~iBx6(28Zhc&#_>M+W|R{;|jdE5S-sOd&l zT)d~nM>-%t3>#eJ&Xa7$gFM`A4pXfM3662naSSQ6p}o`iqJVP?Fqk zzCYB+q@d2Im2%-4aVpNt6j3T;_j;t!^Hf~&^0wWij8wonVeiKp6zt! zX5*%*UDJAdb475xF}CO$8KE%yJeWLG#HQM)V2;!E@_0Afp}oN+J~Wh)k&)f(`~w*o z8N{#ko5b5g``uZ_H#E!F9JbRAkN97b9Uthn&-|7r2xM~*amU9u<`bvZbexTAJrlh~ zK)fIK7ca4n$EeE^8>*_ROG}tk(!>>3CpwsZ6zh<%Fxfip8)~W2?QE~^9M9BvcOpF| z6_g~xxvz%(M4{o~>w5kBg_$|T5Cw%Xlq80%&2P@qOUqgn;@CJi8?(@~*`ATaqqSd6 zH}*So5^1uWas%Vz<9TXvKjvy%ZsipeI2|{CMZbvW!cgNyf68>wIbY{`cXJgS$J=qM z-T%oK8D8yr8;2a*CxoI=NxJFMEGjPk?bF6n@ApmJ%jNM+=+yPnyK!$ZAKbr=Qht^C zSz@wQz2b!ST8G8Y9 zVO(o76?@um?@um*QGh?XiHXT{AzV0PPMH+@y+&dQ#fMp%mc(gWfpLn){ipqa!2R z+$a$?V$t>-{PN%i9h#P=U+GuL+Vt#DVyml`JQ$Arnug|`V|Qga*TK;lKozGen;LtKc@|e?W=cK{8?9$3K4D$A>%n`aoo4X4xhpx_L=9n&Pva)2g=}hOWW0qgiK*4i##Dw8xvO>pZlTmXeqE z6&({RB`PxVh*pB{V}5@A+{9XBXy|QwU(Rc6G1cje%1KYVDWO2(^z`xDu&=|zhsDMI zDkT}GAz?dY)Hx|BF{g`Ir9=I!URz%|$MU!l^-R#0zRS*3Q2K=h{w4p_y4(H1F5*uP7Pa z8y3JG85>iGkx(=ec?k8D!ixyo8v4p`YqDZ#?RFi__c`&}`p>ca;*LjKR(7&vPD~IP z8QR^$D1d^46T$6voSRfsRFqVdR)t>^>V5RW+ZQFTKL57o&X{GJSC0w5h81a^@ ziRC3sk8itgUo25e6P-t&b_HxPqnn#Q+r@Wji5eCx;uYLTRzMQex(!xJvukZ@Lx+Z9 zpdmk9XLmZ@-%5C(EM{nhDO?*P@ae2-YMDrv}QoGpx};37T4P*Gv5GQPpYz@QjzsiCib z;%ysbs1A>p-d&!Hljakk4UP>vhge#VAH0YC$q8;-UjEtHvg+zk1%<#=if?@e^Us3` zIL*+Z>u3R?sCZL47v0^oh4`PP?1)dxU8U^m<6O|bK5@n*GBss4zx^u~95@BKa&EWl z-f_E2Prt}>))ZL`XqkX2PB2KSI4&+Oyj}@E zTPfo>Yii6{MY<5=DkljE(R=xR{k0h0N|;C?*SSDFoS&+#EscZ2@#gBREgL@E9RBI8 zn0QaLM0$P#Zux3xR8$Y+>sEN265m6*zfT4(PDJCUhxdnK&@G9{_VRpveT{IO<2ixZ z=^{U8JOih8^2+*93*t3@PdDw0rw65IiIdyo%hac2o?>F%c01e>DUS{H^>u?o(eZFD zI(tUk_ZMy*9lcPuwv)IN*7 zxbo@j6zMBXm?gSN%}c?@KiDtbN((l|pX6~E9{y2#iJ~+dYtKLpPbT5bka<1MCg)%t zSW#LRJ@?Dze+PeUG4A4*V-SYCYv z7hcoRL7XrDBGc1m6;n`95ffv2y)LE8ud86&*Aa}r`pRbs7Nmv_3;0YoKu3MxYPIHa zyG{92=zc;GcJOEc7_*zM=sWtUrEHX%o?hK@=!KGGOBg9GD$4D8nVg+1q@m%(%sMeN z1U5=eR(|~3p=N_|?5|H|DvejFtce#FKVo7&Rjb*!U;Hq~&cO$|?Loc)k`9;0NT+#P zTjPuwGM(?Fmjna_S9{~T9OZw0iil*0RZ>#AV_EeA5b{Twwa@ht%+=7!?L1`e6tz1w zjk3l#iOGJqcYB};oW{WK&)#b__2vZcNVZys^H`VgA+}Z$#IW+bp1u) zuMaYcxZ~)5_T`uIP7l~12%#xui^#c{e`Xe8A(lb@XRLdrLKB)Y<==kw!7v2d$q0)5 zx1SJrv6(#o{w)G(gw&M%Cuc1z{`Km~$zXR$YV~!8$yk+`$}sW5dJiKlVj? zM5egtQ63*Po6D=IRpd1-`Q4~hb}Fiq?V~hWf{~H%AX@>?~B@yW@m)ZR*W59AFHW!4D7>iOE1_5Ty!x z$W#8e2tMW2Z8l@9#N#3>H-Zk;P6~Cg0w7MaYSSOR+Ig+%@tU=Aa%t)B>@o4H7y<=F z`FO}q!a40@vfq{`$MBl74(UR4tQ0M~v*&05EG*l77x3f9SZ~mwa?}H+Mn(cC0JE&G z8-ZG?k48jPMSCP&fwNk5YO0EXdUkk(xyXhsHa`3q*7!k=kJ|dpn>SL( zxg=FpvukUU!xm>swnWU$;n}=VGM(WJ8)!&K95ggtjj`HhY+Q77SDo|u@$=MyRNQ)* zQuGgogn4@AO zRx7xn^^*1rU}ji8eQLNtwr63lP`5m*cjx^n*JAge$$a&M5QetPTSUNKomI3kOj*zo zoS+?h#=21gwgq%PZps995@zX3{77 zV#o&JGS$_p`uaE#5eo5WTIS{&6Q{x|Dvpwpa8Ni5Gs$X{Nh1k5(nefz(9M)KSXx_) zOGzbU|75z8w6Q6(+nu&qXnbrIp#y{H?Q)y0Ew8N(XvF;dnVyt%8W4O97NaF{KsUIiQ(v{}3rD8%t1Qk0dNnWUm14U|c!^0kB zL^US?1Am{P07m)Lv@~=m>sT4ljHak)Q|IIY$U{GWPN$}Z<5?Emmj{|p9#^SpXkZZ% z28&SOs~AJLhDPNFy1Fc4n{~>HmFaN(vfVXk%Km9%>j-xt_Iq;^V`IXC5X^Pg8wL(& zeSzB7ik$3hEG^2kbeFe;pF9ZBA$?DuJ}t=3mJ)F|dbfjB&T&wF#DVc=bGVt0`umG{ zqVq#*b@zmNy1IUdq<(31C#lQK&%ZcK%x1hZHa1RrjCwTX7agr^Z0tCLeHNg3v^o>V z=~|gz-hXx3*V?MrFAgXRbGUo@2GJM5HIW8?<{|>YY!xLxNqn?PI-7N1(j8c2ZihfSObr+|GpXDQiP1vuibviN^nY7^5fP|sf-Z)k*Qwcc3K)kFwT9Zc1yrsgKqYj1{M zJnYe}C>BjU<;u;;!NS2YkCjzXS#jDVhjyBM@mubH#+<>pRGXTg|MOtO8u_PKlFZAy z>5zz+ot2FNYBdLCiqqZ?_NHcL0w|$fTJ;Wr&@{Gk72eYF@_L7ZP2Fi~B8@j@NyFNL zUTqRo;+lL6t8qRdAtA-Z&|P=lh9y-QFXVGC^-7!OSr-wTV{11=FR){pP##ldon z-Cm8h9!3O6NIW%WA^1i%cRGcG>8EFAwtuLvGt(=O@R2N3gb@653#0ctP8-ONT?GXd zV6Y~Do|A2cz9LHEU^}^7hEtL?O%_^urKfWSQq2yGDl18Iy?PZeAO$wWci+QAZvB^u z+~6pHVPZc~k(C9QDg5W=^yny>%V9}$?(}qZSpS+*fr>W|Ef)TTQG2iGhtWh_2ca!@ZbuQJp>CqaDhA$-iJ6_JAx&;+o=2k{i8B2(C+YXaR6Sv zt3zUt{#?B-{FG>`@J_3C0e^wS1054LncQ>JWa|R&_okEaRype&1m;+UbQKqbbpcxf z*t@N*y+EtM1u#H>z7iE@=!IA7`^N>VEO9z#_P3p;z_ zXNZ=ntT%e|Gn4`YD(bXKEjwcq6Nu%tdX3u42LFF$8=B+6Ym80Hg%DkleR$>M!`rD- zqDi+A-s6+4ib3la9S!4W;}dG73(}hNcu)JT>+|P7&(vIrtVOl{2}uovhiI~B!9DC| z29h@>Nw~ManvpuOT89Bo76& zCm=;Gk2l`PAnwgpf%RoGIeyE^8sUG~U05hW5NN<``ULv=)hjwOh^T-ko69+=F@6@v zi@($=o?RYq&NnbBV&Mj~>6F=}3xYwAHQA#>v7ZQP)^{wB87wX7Op5P_bx76%6yvb& zYyS=k(h6kXAUZX?^>^2DA$BgiC}{ zHre~L8E(0P6X8NTU{G>%<55=1+S@DPFct?*!v2lt?IWmp`Z;aL6KT_4Gjt7NL@kZq zL4=+g^DvlmR?gcwvDS&1hbOGlk!8e*$=(7yT~SeS;3rR@SQ@FPmGvPB1-(#?Lh;U~EoZ^1|9Cu5?Bsk!p^Et}s%gq8*=C^NqzgK@-V=9b= z6A}^tEd$j1<9YTUP>_)4vvTrA#>c-0yTkL1K7Pcw_Ijekr?aG^nQ$8y&iCzVZ@Lbj z(8aIP`RdjOZNs+AwnvG<>HO_#wGslz6U?UFDL&F@Bv#rbQz%KMO0F8}Xyl%?+&6~3 zamV_-PXdi#FqkoHLn0tMCuc@6p$VOLu~E!~;1BqdMEFAPKx5)pFO(Ua~@i= zeb-jEZXN88wkwP(?*u@yx*1eO#mh-Lg74eqQT2!A$bPt`R=kxcaDQx~jXVipVc zY`UqqXp_uIM>~2z1uysfJBWw zuRtMm#eGxmN^qoeSHJw=mJF~QYYeW-=@GMj9)QXX0Hh;2G%qiYQHv^w$aJop9c)!Q zPU7P;)S|LjzKj4&dfy3*=A1(aq(b5n9{^EOPX^6OJ7&_SWHu|sXB*7!rY0x9^|rE- z(zC`&5GQD7I}7FuJ+6MOV1@L*wEeebUp!r9y1D>tbAdCGvU1R6c*4a}Th0bERd(iU zOJw}8n1c(DoS;x>O2<1b)i5Rqe;Vk9^m9cTZx3CJ_GAcvJL z1iR6_Yb+FQy;$F=3tXWcW#0&YKi875wmQ7NfmRkUx%?D8en|aRo{f!7!|sfYWz>GQ z>T8$Yqq(QxR5s4BuGzkJ`_^<D$#%tGKk|nfAc$t2pWW zN6&V74Rm~XB4Ei4qN+Vl ziq+aF4-d~ymt4DFK)^F%vvT93&Hg<(d3nz^9e6d)+)5dMBS7l-Ao2ZneTexh+vwOx zeol@%0oEDhL>CY&o-$HWZpNZhouT~L*uNj4vB}BFIY#WKtEmZ4gn~xGoX=|e@oe@w}R8oZVNny?x98ujx>WNa9(LGS17f#YL( zef>62ovW%%;o~P3b@4e~MENO!^8mIUD+`Mq!_VT)wU%GsX9~E+Qb7|kaIRkRk zmNn{3l1K8(gHC&&c`~qSs!D=c@ORSO3Gv^rEru;yk#YGLdCUjiL;AL-!*T!((x$Vq zZXzZw-rd#3Nw4+Em}9dB?UuJ$uwkd|xW(s~fw8W<9JZH`^5lsX@^elG4K|Af(h;B& zNN=dja#+qV7D7+~*rZ!u3$9 z!#1-C229xDI@t&rKPN` zt*z+Lwl+$XBw`-DqNi4e#RZs$s%mPM?0YT&b9JunJJ}XivQMB!t-ei_X?Qre%Zh#y zRQ8T|8L6oXN)yNI%*Og9SWEMT%JcxMZuA`<`XisEM1*4(I_p_d);ao|aE;^g)j1wL zCmZe9@41-@z@6eG;dN%Dbs8icX>U)rH6@ah8&=HI^nla;`b9cFJ*_G)pPZC5-qpEG zTnflkE9BH8VWI+3`*ZH4u~?9mke{>E?cy}*6e;Gb_EwEl+^-%QNh=U)88z&TjbRYy zRVz!&EKs$b%653pEF9au}4Gsx^o09~Jz`P%E@{2Lku)(u0JW|z0r z0+l{X75LW;SAq@jw$g|(vFl5z!eieWG*eU4Gm_b&kpoi0$Y9nII1-=@tgMP_IfJ4a z8w~*uR}xUF~h1vbgV_{)&xFj+oa8 zmza2rXbd-5R!vp);dE+Mm183*V1Bf&Ev`x4yy-(B!wvI7Us6XZx+{#%t34g;!mV>Y zy9I<6N)q6#L8NN#Z?{WhXRr87%@jkgt!))$e-Kdl&{IY$4AS?e&#&MISngo>fd5H) zWo5J|?<-^lQfkYm>XV=Du6G7*$cT=wQq(1NS+PR=im96Sf- zT-A`#*jhB(5>m}zCYvt5EzwkuLiwu@$;oMlyHbLbLbzOr4>+`=IC|ZS^x}()b!MC? zrjhWka#Q|YDx2>Aiwjo|MO@FuWt7-zJcBS zkci*me%*qJco0Wil{2q>fV>0E1a1swuBN&?MPa3!#H@q7#?Q26Tc(;C8sA*EUw1~2 zF&TwyfTRj`Tb=V71d38KR#{*Fphre);zP>g0N>$hbCDz&RT=R$H9cn2>^%4}AYO?f zzM_(%EpLdNa|$$)3kzlJZ7kKd=`j6{w>MDDj=u*6c2GTRC3zanHQ+SoLg+c@ZOaAn z2IprSvaqf=!x8B!^;#lgeLb^JCMGZMbxfP}#x6iT16dUvh+M2FNd@&&{1k^^Nh|w) zKkv*OYTxZInDcd4q%-`FV)2%Q>RS*|1rj<7sbtoDNsd~VX=Hx8&jc;A7TO%@_&c{RvfZC8 z7)e*RSb^GJA*_xcXr-W1n`PACbshh=<(jbDhL|i(*psILk(CgC6XXLCF(!G12oSC~ zxXkRowwu=!7NQpfwcy|qOv%iDas8@nm>+A7HA7VTcH%C}wuhOPveD7exQK|nq^zL$-oQYuxmsg0BR$^$dxd~?n~&h+fcy`jaAn#um7Opi9$thV z(8JI^@K)YEBs<>WwTSo;Ze(uWX5xijT=;Ust!-t!hzD4I(%T{Rcx|og(h1xhntkWt zfNLfjxPq`Og?9AqkA1OO$lS^%t>D>w$fG@jgim%%!8tw-n~o`QuSwugS5UY)KWJco zVo%>G*6mM$NdtJ*I!(?xr;XHFXTa=;a38`K+5Nb83&*`aF1-XRG1b+12O*+fZ-ibC zkH8II!brv@*tu`lLJ@g*%qc0o%B2ro3YzYOE7vQ=zHVJ9iD!g#flwhN^ax0bK4?|j zaM#kTtQd!lziidT#l?XY0t<^DXcPVF>{VC|J^Fvy`0QSe7jRe`?!v8Yb`ochpR!1b zUVKQC>5x801jZXCj*3WfPb$fBCrlzW6_qxFk|Qfr?t%;Lh7^xmXDnKU^?9dLX4dhc zF|oU7GNXvX0vrpqkm$-6(AOJ%Tv1^#z&Oag#x{+m@u+v7KMln7ME^zxF_O6haq%UW zQ~Ix8ph%qSHYo)WEht}6ua*BvjJm3#ro23pQ}4d>$6&50^5>um1wId9A#VCNZ`K%y zD#YMJZ4$UxWTk+`0T*6*-a=e9n{KElbsxny!7W`N0^>Vrf#}`m;a+vR*#&niJ9a86 z8|)TyPEMCV{^~gm;X`3%Wvz3&vHP8w6rV*%eF&^Qv&e7k@=WkTfG_B4P__Z$~x1Kj0`A$3*rvQG9%uZpjX}%$!4fN363k_};4;xzeaB*>egzbG)mmkiFva?l? zl#rPH@-@Ad{Em$y;v8d`fz)Mp?3U+MFjp=HnueMBUroBi?9?!BzqRW=uAqs=VM@G_ za>KZEQVUy4t>eefBdV${kkR5QZRutke<^*`wgeuW2KK2XBL8`V{X0H}%a^tJd$SXg zOE>ws$>9+(_u3eTbsoRR9+30_r}{%y_My08kuu0*Gj*9AI4cpcYz3Q*FFbfqTGw>C zIgGUP(GoKkUT~T%0PRkc!U`A;Y9emdruFZ>tI#t_yZ1MAcW(|3qJVFKRuZMOu(ENt zsc;w-npy1~*4M#RxYKX`P+iI;X7BJdu)?e?wqyX_UpQ!Id}s*!bFYc{Iv!nu3Gv%lrq3myaJmZnMJS?6Gr_es%(24DggeoQ^*Ow~3E5 zAz>_)WbtP9eMMOL!13y|?t`#KjhxURDHeCILww=GZ?%>qVv>0YK%T|NS1Gp};b8vK z|4>Cx&`$_!cS=sOAc_r|xkF96L(Vve(M(N>?g(iiXd1-eUG?jb8|=I*C+aZ$w2>WP zJX0hU;w5$!02xYR;y77YY(R%L@!11o*)98RFb*Bwf$)V@-*4Ez_sAhltRiIwA>9i1%lJwESBaQjRQY~jb5nC(~I(l~6Ng~NQ_HlLBosK_I z=|YB(Q~Zm&0M@LXSoW75Zgps->ucsiMJa|$T2z`xoE>Wr4cve-y@P4ZI-Bx6Wn_)( z*oXM!Xv^F-vjuRXw+yzA*<$NlXKsUy6LIO|%!dbj$r!xRfBcC2ee~u%(b4e+Y6g#R z1x$_EVA~gF9t!9xi8Jk_L&PQ?a-ZNAwbm0tMnijp$xF#UC<7)KG&$|3OApXPV28|) z{^P$y04!i_$dgP?@-9Y#er5Gd@N*Zmli-)q2&g!JsIYxGlT3@wKDx}Td`h{__V!2d z7dx!VnO}k!<^ONx-@n~Cr~!1%RTn;Mt}yCgRFqmwj1`O53uqm-S`qa{g)?(Jzx5VL zFW`8zKwdh1jtXtA1v>8<#m`tYjy*g2*R4mt!sjP3tP(-zY$3XG8)Cn6D>?n9EBd>zuE&3r2AJ zmEfTwslZrfpl?tCN3h6b|5nb#?a z&;5s*yJ*}Spi#sAF$-JMuhMtzy56l07Z8>L#GKDv<^yioqeVnSMSpaq_TEWVRQe4I zD&=V|ZMoCDKA+y@iA_tTXwWwUxTdhUkfD?DvJ8!I*6~n_i+!%ndfs4lNf=ERsC^<- zVHXk!kEMDe>0@(J@~Tb;h@PJka+o&c&5Tn}r>PDoyG-3&mJ@AJP~dAYsc%m^PIfm> z1A%g{CByC5t2;qMI4(Gmj^^gf#njl?a@v}Oho>Yd=^YCTRFh9i^|A*o{?_7pGCaH# z;D&PN1*zY2z>c!;6^n$|fQ5|>Ugavy$0r5MdP+KHNkg81NnG2*yHaaKT6nheVOA>Si($MyGvMFF=!@6Q;x-Py6$o;fW8 znEUvo!SiPOSI5{$iFt;`5vTJ}WCsvRP{{aO=73_0irWw9mcN`QR6u<`AfVGMfO^)$ z0JdJPim7xOa3TQ-%YA3o;V9AvSOx&#P%htMpN*uC-@;qi-LQ>3>H*%!dMelH$RLFc z?>!`76VA2S9%rP~_ge0kYD&_~H+-(kN*yX9C8Y+W<|jUV9VSJj0brK!H~u={C0LoSs*JU+ zh*z>WoQ|srsG|OuZPIP?&dEqbfS+IYi+g5xcxq5S?w^f}A0dX%4*TBIh3e>t1PsK0 zc+=6y%}&2Q9~uEMBIBKKbe0^_#g9;1` zI5oK_68>Y2VghcnBh;N$0NR-LTRXGFb;6;G3$uXnZ3*LEFi zq2{K4;yh86loUDv>Fe|9jW^tJxt_hQq66uQg=G{S%Jp)hL^;>%NU0{yW~N^E&6=b# zB4VAs_;@1sV!7oAEwE$H4r4%3@p2P%D{9lykm!K+Y&z!>JCJB?Zopv4;i$b{_!T7y zW0ilCkbptsShcow_wpG#jshhxEyA*g%il-=7fl$|q@&X%$L{Qhq<%s&vP3F7~ib<+E{GuW*59|HtaPf zIaw<#HaR)D)AUf{vrc+u>Id>rFc~kfU3Pv>sEGG`L?L5~y;*9b1I3^*%OWU6<>lq| z_4Vz$J{Re4C4wC#9K5rUm2{fID1ZLxZ7WeE<9qv4t9!ez(ZMiB#a}I(TZGfAO_IN> zJZ5VsDSAzpD0=vjrHZG_Ab#+#0_1(s@4EKbuihg?`TC-aXIQVQYE>^xO-{b1rS*sv zaXCs%i{Z5mAnimTMneB+;Be;kF%2C%yO!8xPoOLrnSD-yD0>Kz^TZz|&CqsDC`*gR}Fbxi2d{pPY^k%YnHzKmXR-o-{FNK>^)<1}Tp^ zv`PmC({y!RZWWCrCohc|56hI#MhR>O>wq3Fg@>8k-P1EQ#ToY*(qIr@mz|9XU7wAi z1D>&Gk8A2}X9xg#2HQHGgkk))O1Hh#>u5E(s4o=(lHn-eJy>xQo!~}aQx1WXqZ$WIfo;HWc>9(=I*x@8HeJR_~p&cp$Rao1U zql!vZFK-2J8666{AqYISw$B3EpePE8irN;M($Pj$20O*&X?l8kH?EyH6{Nf6sH)QB z)@`e+k>9T3mGU)|Jk2wGvTp0C}iTvKr2M1-`k5-B7mzof%&(B)pxz5(!M31RyvEQzkLi{xP zrwxh|EzrNiQIe9Ib*RE93rO*-`}svgL{wDB*r`d_L(f-v#hKkV|B-lY#(OWRCU%B^Q=ci9Lx&pXdLjtPRQW_7dE2AOM6%} zhbx8`)EEZ4z2-3Vya-tv(ENG27m!C%T`R`KGz`?|YTc`^XIaJ)R9gVSm4_PZSN!Ot zkfO|z_xF5=sD{|tDFz&1i@2V#CB?;JP!GN&8D;uNz~U*2IVkG^FT|M`;{C)gpHd|{ zVaCx>QKr#X%=@BaVk9|Usdt`-`*Atq8tH+udSzBwfIJkioYmFYpl_nao}_SUyP_)# zgz$FPs|5ymPB!&VZADXg8dmMDHEIna6vOR(bX$Z3QZ<@O6o4_+IXhKRQRa0&JPJGT_afsfNLL9d=93r4UJc&;p8YxUpo0azFJrhG13(b4hJ=GNAA-~+noOaiKt@@m!ywTKAQ zWemaArZIIZ>S_7*znLt8TvugeRnwDmj~8ykfL{}2dGDw10^DOJi4>BDJg3a$H5A@Z zQ0U!b%;@{B6ft1WDANC+uRjJv$DP&wR)4SurKF^q-hdM!WvA)r*fwgsykRp0imh|T zna`+8FfQ1A(mvN_2AxB;wm6`W24+WIx8BaaH;wV!%L&t!1cb4eOY^-zA(g`0nHT`T zciG&^L|fZZ9M$^Tlh@PB3t(1L|W7PS8u-eLM9ER_~>r9=TApQo@Oy$)mmR^T3T-0B69uy zt#56OddkHC*q89ga7${t2`;*l^oQp@c3aGEdFgj|QP2WxZ0kxvEVLl0sGaq2mFkF* zz=fi)W8fXc%}*3e{Bwmq54r!lKjUv!z*e~7@v`BMAKxWol>qx8Bna_$y9RR7|7q^% zRR>*Bvy3$?tgMOe-SSII)qhcIjsV)4OdF@@F3@%Cj|{J zAn+~p6%OCIF_v`TB%04mFetyD8DQ@Ooer;jG=NcUcgH#@Gt(h)dQ+fUZ`X<%=s)N%!~K|ZwFLRRj7MT zn@=Qq;%C`uoPhNa*%~|ucyEcV=fKPku{Gr9kHbZH!SMuj+%6V-hM(V}XcQuVydClJ z(>SA&z#<=8!TsAULk_!w3wW*3i01I^W@dJlECD^|f_ZQz`hLwGcExzV-`2A`kMJ`e z#4+)fffIXep}BhPR1J_i5V&=9xd<_D2U z+cUZh?`MRQlo?3@TYS08puqpJySwA3>Mp$1z3}DWH8_v*6ia3;X827OIF8`)kUedu5yS;j| z(7-mkt6b(}%&(ggpVu-HjR!2f$+9%Hn3fm=7p^x>02h4A_vbG7O3+Aig!*g9X!(}i zdqLvU;KFSpL?4Kc?OkA1HOid)3hvT=EtuAvnMMBiaUB`KyJFSU-CRxDus*RBRUXT_^rWOKJfm<45WrHcp7#US8-1NG`*W${L~OyaynCOE@>s3ee%66 z3SM9V*ca%JAi8)>E@1HxvPFW~8 zU26v$5`?5kok@z8v4~bJ1CsLc zQFeYl@W=}SV=z<%>haF}vXyX-ea4_svK3AZlj`Rp38M<`>F>|U&)*m)RaFhVjgAbx zn3wi+bDV`I{dx_mVqQc2*i&|3Iq3qOISO*X3jrtlX9ier?mQy7{&ONr(Kdk9@|E!O zn@x!i3JRi9`NG#dtw5{=sy?|VaQ0?d7**N~nI2%)fWs>Rs-Rv~{kV{&cwu1jDE{W?{-?F@lgms z*LfSB6x$Mv;Go}uK$CWsH8N=C!cKs^JTh(s)zyilX_eLldNf-Y>be)L4sitDM7 zC>s#`wO*tnmaz3J)6 zPBH=ko|h&}e(0{E(nM=}`zuUQA;q6^$W&ooH!`|4jvPLKqNx9x5S8Jsp>cELJQRVW zAav)VJd{s58)vdf3;JTevbSt)Zdy1XA3i21@TdgBK965-la=)msBNjGim@@0fSE`j zO;+&ManRRUR_uRTz}311YW^DeypzafAffi&V%I+|?ixg9_X=m$h7&Z%uu-#fT=`sp z)Ax98C#UH;C*wp;$0T#&SpjtytKBJAPob1Rd}f!sCZbdE3H$k2msh<$K-i+Fb3|^j z2Tt)A3C+^UUByoh=H^84QWi!=t&$Y=7X!n+iPit0DIWp@R;6B79OyhhOnm&5c$W9w zJ0MJ5+8+MyQk16^6chwqrvsy-1u7uD7|){1Fh41@GS%AUb+ddLzd6uC@jalND2!lf&|Yf+k$hX)EFq z5uT7R)gjYRS$VvdQsY{SNW$%qoRd*EVZ2q%8U$(!4J!ggrLj0JXUg}ZavB*gOYE2c(@X4G2n(nZyn*;vlE~jSyB^ofA(~Lq`YfdCULhTr2_4 z(6npjFpP?nN{D@ZWTw(05!jJ+X@uHcK`W}Y^%3xGfu-hlKOHW0*D|}2kyTI6JWr&? z2kmLY95w&M|wu=aeBsLCKYU+VX3zAvzCInLax$oI(PAWLz_3%6`3QXhW)rga4&%j}} z#B6CHFLFlDqt8v`b#@$USp%sUkat(DegADCSMcv;+@t?5W!!@$VjidLU z8qL0lN=oj$7bi4xJ0#y7TWGow7weG^k073PmsOKk*9~4VO5jj*97aVbfu5$%CjF+?OV)+pYEDj$NRLRKiYe%w5Q4!T?51L$g*S~& zPKKl38H{fmgC30rHz8G30*f#?RMY@9)#zpFYchIzJ)=oA@f^d`HFZAe7CR0F`S8f8 zfv~7OG6n{Ny|)d&e!Z|?K}5y*Dw)8<0HDF)Z_CLuHi>8>ni+nBZRI0S%gqNKx72s> zNlVv+fyIi9iP2D3ufA)1-hglh#!9a)u?2h61gEd-$XfO8x#1eA1-HrQ0`n5lGc*O7#}##D>yZpJfxc z{fJm9?|Sh3A{A3WRt5rCx@3&|apwlWyQH3=U-YO7qtf`ugmLc(sOg`AwMZu2p>lHY zz3n%yW3@csafOXpR?!&bAKIM~=17mqj+XZKcIK__~|?U@f2 zcmBDuYEV7lMupzSOV7d3mi*~yf;kADL0>}kz=nf{1`kLO*2PoX->#&UmA}_6Iu}(} zr{7m_gP&2G&AD)kF1>}c-0k}-+!kR$T*xg%9^f4h?BC}%IPH}BqU|N9O$4n(7;P_qo6PEi>~O$`xB$1 zrMfe>K*k0B=@V-^7{BZC)R8UGFANtAT{{rW$ B#U20v literal 0 HcmV?d00001 diff --git a/doc/cephfs/cephfs-top.rst b/doc/cephfs/cephfs-top.rst new file mode 100644 index 0000000000000..200ca1504f8b1 --- /dev/null +++ b/doc/cephfs/cephfs-top.rst @@ -0,0 +1,77 @@ +================== +CephFS Top Utility +================== + +CephFS provides `top(1)` like utility to display various Ceph Filesystem metrics +in realtime. `cephfs-top` is a curses based python script which makes use of `stats` +plugin in Ceph Manager to fetch (and display) metrics. + +Manager Plugin +-------------- + +Ceph Filesystem clients periodically forward various metrics to Ceph Metadata Servers (MDS) +which in turn get forwarded to Ceph Manager by MDS rank zero. Each active MDS forward its +respective set of metrics to MDS rank zero. Metrics are aggergated and forwarded to Ceph +Manager. + +Metrics are divided into two categories - global and per-mds. Global metrics represent +set of metrics for the filesystem as a whole (e.g., client read latency) whereas per-mds +metrics are for a particular MDS rank (e.g., number of subtrees handled by an MDS). + +.. note:: Currently, only global metrics are tracked. + +`stats` plugin is disabled by default and should be enabled via:: + + $ ceph mgr module enable stats + +Once enabled, Ceph Filesystem metrics can be fetched via:: + + $ ceph fs perf stats + {"version": 1, "global_counters": ["cap_hit", "read_latency", "write_latency", "metadata_latency", "dentry_lease"], "counters": [], "client_metadata": {"client.614146": {"IP": "10.1.1.100", "hostname" : "ceph-host1", "root": "/", "mount_point": "/mnt/cephfs", "valid_metrics": ["cap_hit", "read_latency", "write_latency", "metadata_latency", "dentry_lease"]}}, "global_metrics": {"client.614146": [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0]]}, "metrics": {"delayed_ranks": [], "mds.0": {"client.614146": []}}} + +Details of the JSON command output are as follows: + +- `version`: Version of stats output +- `global_counters`: List of global performance metrics +- `counters`: List of per-mds performance metrics +- `client_metadata`: Ceph Filesystem client metadata +- `global_metrics`: Global performance counters +- `metrics`: Per-MDS performance counters (currently, empty) and delayed ranks + +.. note:: `delayed_ranks` is the set of active MDS ranks that are reporting stale metrics. + This can happen in cases such as (temporary) network issue between MDS rank zero + and other active MDSs. + +Metrics can be fetched for a partcilar client and/or for a set of active MDSs. To fetch metrics +for a particular client (e.g., for client-id: 1234):: + + $ ceph fs perf stats --client_id=1234 + +To fetch metrics only for a subset of active MDSs (e.g., MDS rank 1 and 2):: + + $ ceph fs perf stats --mds_rank=1,2 + +`cephfs-top` +------------ + +`cephfs-top` utility relies on `stats` plugin to fetch performance metrics and display in +`top(1)` like format. `cephfs-top` is available as part of `cephfs-top` package. + +By default, `cephfs-top` uses `client.fstop` user to connect to a Ceph cluster:: + + $ ceph auth get-or-create client.fstop mon 'allow r' mds 'allow r' osd 'allow r' mgr 'allow r' + $ cephfs-top + +To use a non-default user (other than `client.fstop`) use:: + + $ cephfs-top --id + +By default, `cephfs-top` connects to cluster name `ceph`. To use a non-default cluster name:: + + $ cephfs-top --cluster + +Sample screenshot running `cephfs-top` with 2 clients: + +.. image:: cephfs-top.png + +.. note:: As of now, `cephfs-top` does not reliably work with multiple Ceph Filesystems. diff --git a/doc/cephfs/index.rst b/doc/cephfs/index.rst index 6064321b7ce15..479cdfc40cea1 100644 --- a/doc/cephfs/index.rst +++ b/doc/cephfs/index.rst @@ -90,6 +90,7 @@ Administration CephFS Quotas Health messages Upgrading old file systems + CephFS Top Utility .. raw:: html -- 2.39.5