XׯdddlmZmZmZmZmZmZmZddlZddlZddl m Z m Z ddl m Z ddlmZddlmZmZmZmZddlZddlmZGdd ejZGd d ejZGd d eZGddeZdS)) newTreeView newButtonnewBox newSelector newCheckBoxnewLabel UtilitiesN)escape_sql_string QueryError)partial) dprint_ex)weakcbWbAdminTabBaseWbAdminValidationBaseWbAdminValidationConnection) log_errorc6eZdZdZdZdZdZdZdZdZ dS) WBThreadStackFc~tj|tj|d|z||_tjd}|d|d||_ tj dd}tj tj |_ |j tjddd|j tjdd d|j tjd d d|j tjd d d|jr'|j tjdd d|j |j dd|j |j||j dtjd}|tjt d}t d}|d|d||dd||ddtjtj|_|jd|jdd||jdd||d||dd||t d}|dt?|_ |j !d|j "|j#|$|j dd|$|dd|dd|%dS)NzThread Stack for %dFTzEvent Id2z Event infoTypeduTimer wait [µs]PSourceiiz Wait infoClosei iX)&mformsForm__init__ main_form set_titlectrl_ber set_padding set_spacing thread_id newSplitterr TreeDefaulttree add_columnIntegerColumnTypeStringColumnTypeenable_debug_info end_columnsset_sizeadd_changed_callbackevent_selectedaddr set_style BoldStyle newTextBoxVerticalScrollBartext set_read_only set_contentrokset_textadd_clicked_callback close_formadd_endcenter) selfr(r+vboxsplitterltboxlboxbboxs "..\modules\wb_admin_connections.pyr%zWBThreadStack.__init__'s T6;#8#8#:#:;;; ,y8999 }U##  "%dE22&v'9::  V5z2uMMM V4lCOOO V4fc5III V46NPRTYZZZ  ! P I !8(C O O O  3### &&t':;;; TY$$$ OK ( ( F$%%%e}}e}}   E5!!! ue$$$%f&>??  %%% 3### D$''' T3 4&&& d|| ++ !!! $$T_555 TWeT*** T5$''' c3 c.|dSN)closerEs rLrBzWBThreadStack.close_form_s rMc|j}|rM|}|r|j|dS|jdSdSrO)r.get_selected_nodeget_tagr< set_valueclear)rEnodetags rLr6zWBThreadStack.event_selectedbspy**,,  ",,..C " ##C((((( !!!!!  " "rMc8d} |jd|j|jrdndfz}|)|r|d}|r=|dd}|tj |Sn~#t$rq}ddl }td|j|jrdnd| fztjd d |j|fzd ddYd}~dSd}~wwxYwd S) Nz"SELECT sys.ps_thread_stack(%d, %s)TRUEFALSErz1Exception during sys.ps_thread_stack(%d, %s): %s Error Getting Thread StackzwThe thread stack for thread %d can't be loaded, please check if your sys schema is properly installed and available. %sOKF)r( exec_queryr+r2nextRow stringByIndexreplace parse_datajsonloads Exception tracebackr format_excr#r show_error)rEdataresulteris rL load_datazWBThreadStack.load_dataks \,,-QUYUcospFfSekekLSUT.TUUF!>>##3!//22D 9||D"--tz$'7'7888 9        Kt~imi`M_e_eFMOXOcOcOeOeOff g g g   ' '(DGAEIESUVDWGWY]`bdf g g g44444   usBB D&A&DDc@i}|ddkst|ddkrdS|dD]|}d}t|ddkr5|j}||dt|dz<n|dt|dzr[|dt|dz}|}||dt|dz<n|d|d|d|d|d |d d |vr|d t|d | }|rYd } t| d }n#YnxYw|d t|d |z|j r.|d|d|drQ|d|dkr| |d~|jrH|jd}|r|j|dS)NeventsrFnesting_event_idzevent_%devent_idr\ event_info event_type timer_waitgsource wait_infoT)getlenintr.add_node add_child set_stringstripstr get_parentfloat get_stringr2set_tagcount node_at_rowrTr<rU) rEdatatree treecacheitemrWparentpnode pnode_twaitrXs rLrezWBThreadStack.parse_data}s << ! !T ) )S(1C-D-D-I-I5X& 0 0DD4*+,,11y))++@D *s4 +;'<'<<====c$7I2J.K.K!KLL'mmJTBT=U9V9V,VWWV",,..TEIYzCZ0@,A,AABB OOAtJ/ 0 0 0 OOAtL17799 : : : OOAtL17799 : : :t##3tL'9#:#:;;;))O"%K&+E,<,,L(M(MNNN% ;4>#7#7#9#9:::K  0T+%6%<%<%>%>$x.BVBVBXBX%X%X T+./// 9??   ))''**2244C ) ##C(((ts "G::G>c|}|sC|+tjdd|jzddd|dS|dS)Nr_zThread stack is not available for thread %d. Please enable Performance Schema instrumentation (Statement and Stage instrumentations and respective History consumers).r`r^)ror#r rkr+rPshow)rErs rLrunzWBThreadStack.runs NN   } ++,HKsvzvDKDFJMOQSTTT JJLLLLL IIKKKKKrMN) __name__ __module__ __qualname__r2r%rBr6rorerrMrLrr$sv666p"""$)))VrMrc eZdZdZdZdZdS)ConnectionDetailsPanelc 6tj|||_|d|d|d|d|di|_ | ddd| dd d | d d d | ddd| ddd| ddd| ddd| ddd| ddd| d d!d"| d#d$d%| d&d'd(| d)d*d+tj d,}| d-| tj||d.d/d0d1tjtjztj|_|jtjd2|jtjd3|jtjd3|jtj|jd.d4||jd.dd1d5tjtjztjztjz|jjjd6d7drtj |_!|j!"d2|j!#|jj$|j!%d8||j!d/dd5dtjdSd|_!dS)9Nr!ryruzProcesslist Id:PROCESSLIST_IDz Process Listz Thread Id: THREAD_IDzThread IdentifierzName:NAMENamezType:TYPErzUser:PROCESSLIST_USERzProcess List UserzHost:PROCESSLIST_HOSTzProcess List HostzSchema:PROCESSLIST_DBzProcess List DatabasezCommand:PROCESSLIST_COMMANDzProcess List CommandzTime:PROCESSLIST_TIMEzProcess List TimezState:PROCESSLIST_STATEzProcess List StatezRole:ROLERolez Instrumented: INSTRUMENTED InstrumentedzParent Thread Id:PARENT_THREAD_IDzParent Thread IdentifiedzInfo:Inforr\ FTrrExplain for Connection)&r#Tabler%ownerr)set_row_spacingset_column_spacingset_column_count set_row_countlabels make_linerset_namer8r9r7 HFillFlag HExpandFlag newCodeEditorinfo set_features FeatureGutterFeatureReadOnlyFeatureWrapText set_languageLanguageMySQL56r4 VFillFlag VExpandFlagr(target_version#is_supported_mysql_version_at_leastrexplain set_enabledrAexplain_selectedr@)rErrHs rLr%zConnectionDetailsPanel.__init__s d###   Q """ a    2  (*:NKKK |[2EFFF w/// w/// w 24GHHH w 24GHHH y"24KLLL z#8:PQQQ w 24GHHH x!46JKKK w/// GGG *,>@Z[[[ OG $ $ 6 F$%%% Aq"b&"263E"EFFF(**  v3U;;; v5t<<< v5t<<< v5666 1b!!! Aq"b&*:6;K*KFL^*^_e_q*qrrr :  , P PQRTUWX Y Y !+--DL L $ $U + + + L - -dj.I J J J L ! !": ; ; ; HHT\1aR1A B B B B BDLLLrMc t|j}tj|}|||tj|tj| |dd||dztj tj ztjd}| |dd||dztj tj z||j|<dS)Nrr\r^ru) r}rr#rrset_text_align MiddleLeftr8r9r7rr)rEcaptionnameaccessibilityNameirHs rLrz ConnectionDetailsPanel.make_lines    OG $ $ $%%% *+++ F$%%% Aq!QqS&"263E"EFFF OB   Aq!QqS&"263E"EFFF DrMc|jd|rd|dznd|jd|r|dnd|jd|r|dnd|jd |r|d nd|jd |r|d nd|jd |rd|dznd|jd|r|dnd|jd|rd|dznd|jd|r|dnd|jd|r|dnd|jd|rd|dznd|jd|r|dnd|jt jd|j|r| nd|jt jd|j r4|j |r| rdnddSdS)Nr%srr^rr\rrurrxrryrrrrrrr!r r r FT) rr@get_longrrrr#rrUrTrr)rErWs rLupdatezConnectionDetailsPanel.updates $%..$/VtdmmA6F6F/F/FTVWWW &'00t1S1C1C1CQSTTT &'00t1S1C1C1CQSTTT $%..T/Qtq/A/A/ArRRR )*33$4VDOOA4F4F4FTVWWW &'00D1X a8H8H1H1HVXYYY '(112T$//!2D2D2DRTUUU K ))T*Q$q1A1A*A*ArRRR F$$4%GT__Q%7%7%7RHHH F$$4%GT__Q%7%7%7RHHH &'00T1Y b8I8I1I1IWYZZZ N#,,D-PT__R-@-@-@bQQQ v5u=== d:DLLNNN;;; v5t<<< < Q L $ $T%Odllnn%OTT% P P P P P Q QrMN)rrrr%rrrrMrLrrsG- - - b   QQQQQrMrc$eZdZfdZdZxZS)WbAdminValidationPermissionscVt||_dSrO)superr%_ctrl_be)rEr( __class__s rLr%z%WbAdminValidationPermissions.__init__s$  rMc |jdn#t$rm}ddl}t d|d|d|jdkr|dn|dYd}~d Sd}~wt$rL}ddl}t d |d|d|dYd}~d Sd}~wwxYwd S) Nz/SELECT COUNT(*) FROM performance_schema.threadsrz,QueryError in Admin for Client Connections: z  ivzgThe account you are currently using does not have sufficient privileges to view the client connections.z`There was a problem opening the Client Connections. Please check the error log for more details.Fz+Exception in Admin for Client Connections: T) rrar rirrjerrorset_error_messagerh)rErnris rLvalidatez%WbAdminValidationPermissions.validate sa  M $ $%V W W W W        ISTSTSTV_VjVjVlVlVlVlm n n nw$&&(QRRRR&&(JKKK55555        IRSRSRSU^UiUiUkUkUkUkl m m m  " "$F G G G55555   ts" C(A"B C(AC##C()rrrr%r __classcell__)rs@rLrrsG     rMrceZdZdZedZedZdZdZdZ d#dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"d$d Z#d!Z$d"Z%dS)%WbAdminConnectionsrc8||dddddS)N ManagementClient ConnectionsF) register_page)cls admin_contexts rL wba_registerzWbAdminConnections.wba_register!s'##C7KMachiiiiirMcdS)Nadmin_connectionsr)rs rL identifierzWbAdminConnections.identifier%s""rMctj|||||t||t ||d|jjd|| | |_ d|_ d|_ |rdtjddfdtjddfd tjd d fd tjd dfdtjddfdtjddfdtjddfdtjddfdtjddfdtjddfdtjddfdtjddfd tjd!d"fg |_gd#|_d$|_|jjd%d&d&r(|jd'tjd(d)ftjj}d*|d+|d,|d-|d-|d.|d/|d0d1|_dSdtjddfdtjddfd tjd d fd tjd dfdtjddfdtjddfdtjddfd!tjd!dfg|_d2d%g|_d3|_dS)4Nztitle_connections.pngrrIdrrUserrrHostxrDBrrCommandrTime<rStaterz Thread Idrrrrrz Parent ThreadrrPROCESSLIST_INFOrr)rrrr rr ATTR_VALUEProgramr r^zdb.Schema.16x16.pngzdb.Table.16x16.pngzdb.Role.16x16.pngzdb.Trigger.16x16.pngzGrtObject.16x16.pngzdb.Column.16x16.png)GLOBALSCHEMATABLEFUNCTION PROCEDURETRIGGEREVENTCOMMITrr)rr%add_validationrrset_standard_header instance_infor set_managedset_release_on_addcheck_if_ps_available_new_processlist_refresh_timeoutwarningnew_processlistr#LongIntegerColumnTyper1columnslong_int_columns info_columnr(rrappendAppr|get_resource_pathicon_for_object_type)rEr(r  main_viewget_paths rLr%zWbAdminConnections.__init__)s,g}iHHH 7@@AAA 8AABBB   !8$:L:QSghhh  !!! $ : : < < $    ! !* !-v/KTSUV/1H&RTU/1H&RUV-v/FcR2F4KYXZ[/1MvWYZ0&2I7TVW(&*F UWX#V%|j5D],} |j8:tw| d?z-|j8:d@tjjj<j<dAdB}|j8=||>|j8t;|dC|j(|j8ddtd|_?|j? d2t|_A|jA*dD|jAdD|jA,|jB|jACdE|j?|jAddd|_Dd|_E|rt|_F|jFGd|jF*dF|jFdF|jFCdG|jF,|jB|j?|jFddt|_H|jHGd|jH*dH|jHdI|jHCdJ|jH,|jB|j?|jHddtjItjJ|_K|jK9dKd>|jKL|jM|jKdLtjN|_Ot||_Q|jO|jQ|jKR|jOdM|_Sd|_T|jUjVWd dNdrtjN|_Xtjd|_T|jX|jTtj/dO|_Y|jYdP|jT|jYddtj/dQ}|dR|Ztj[|jT|ddtj/dS}|dT|Ztj\|jT|ddtj tj|_]|j]tj^dUdVd|j]tj_dWd=d|j]tj_dXd=d|j]|j]9dd=|jT|j]ddtj/dY}|Ztj[|jT|ddtjd}| dtj`|_a|jabtjcddZ||jaddtj/d[|_e|jedT||jedd|jT|dd|jKR|jXd\|_D|jUjVWd d]drtj tjtjz|_f|jftj_d^d_d|jftj_d`dad|jf|jKR|jfdb|_g|j |jKdd|jKhdtS|_i|ji*dc|ji,|jj|j?+|jidd|j?kdd dd tjd}|+|j?dd|+|j(dd|l||m|n|otddd|B|S)eNryEnterF%wb.admin:ConnectionListColumnWidthsPS#wb.admin:ConnectionListColumnWidthsc,g|]}t|Sr)r~.0rs rL z0WbAdminConnections.create_ui..ns???SVV???rM,Tr!zConnection Listconnection_selectedrurrCounterszThreads Connected:zThreads Connectedlbl_Threads_connectedrr\zThreads Running:zThreads Runninglbl_Threads_runningzThreads Created:zThreads Createdlbl_Threads_createdrxzThreads Cached:zThreads Cachedlbl_Threads_cachedzRejected (over limit):Rejected%lbl_Connection_errors_max_connectionszTotal Connections:zTotal Connectionslbl_ConnectionszConnection Limit:zConnection Limitlbl_max_connectionszAborted Clients:zAborted Clientslbl_Aborted_clientszAborted Connections:zAborted Connectionslbl_Aborted_connectszErrors:Errors lbl_errorstooltip_errorsrRefreshrefreshKill Connection(s)zKill Connectionskill_connection Kill Query(s)z Kill Queries kill_queryz Refresh Rate:) g?r\rurxryrrrrrz secondsz Don't Refresh,Administrator:refresh_connections_rate_indexrupdate_refresh_ratezHide sleeping connectionszBRemove connections in the Sleeping state from the connection list.zHide background threadszMRemove background threads (internal server threads) from the connection list.zDon't load full thread infozDo Not Load Thread InfozToggle whether to load the entire query information for all connections or just the first 255 characters. Enabling this can have a large impact in busy servers or server executing large INSERTs.i^zDetails SidebarDetailsrz\Metadata locks (MDL) protect concurrent access to object metadata (not table row/data locks)z Metadata Infoz, Granted Locks (and threads waiting on them)zGranted Locks InfozOLocks this connection currently owns and connections that are waiting for them.zLock Connection InfoObjectrDurationz Pending Lockszmessage_warning.pngz/Locks this connection is currently waiting for.Locksr Attributer Valuer Attributes Show DetailsLeave)pr r#rrgrtrootwbstater|splitconnection_boxr*rr- TreeFlatListTreeAltRowColorsconnection_listset_selection_modeTreeSelectMultipleadd_column_resized_callbackcolumn_resizedr enumeraterr}r/r3set_allow_sortingr5rr7newTablerrrrcreate_labeled_inforr info_table button_boxrr@rCrA kill_button killq_buttonrnewContextMenu_menuadd_will_show_callbackmenu_will_showset_context_menurefresh_valuesrefresh_values_sizerrefresh_selectorr4add_itemroptions set_selectedr= check_boxrhide_sleep_connectionsr6 set_tooltipmdl_locks_page_showing_extrashide_background_threads set_active truncate_info newTabViewTabViewSystemStandardextra_info_tabadd_tab_changed_callbackextra_tab_changednewScrollPanelconnection_details_scrollarearconnection_detailsadd_page details_page mdl_list_boxr(rrmdl_list_box_scrollarea mdl_labelr8r9SmallHelpTextStyle mdl_list_heldIconStringColumnTyper1 newImageBoxmdl_blocked_icon set_imagerrmdl_waiting_labelattributes_listattributes_pager show_extras toggle_extrasr) set_footer resume_layoutr&relayout)rEuiBoxwidths column_widthsrfieldtyperwidthrYboxrefresh_button refresh_labelsrefresh_rate_indexlabelhbox footerBoxs rL create_uizWbAdminConnections.create_uidsa!W e$$    ! ! XX[&**+RTXYYFFX[&**+PRVWWF  !??V\\#->->???MM M$mD11 ''****6+=f>Q+QRXRi+ijj //0IJJJ 889LMMM %%&788809$,0G0G I I ,A,tWe )S%7%7!7!7%a(  + +D'5% H H H H ((*** ..t444 11&?T2U2UVVV  4dDAAA_&&   #####A&&&""1%%%%%b)))J'''t//0DFY[rssJKMNPQSTV\VfioiyVy z z zt//0BDUWlmmIJLMOPRSU[UehnhxUx y y yt//0BDUWlmmHIKLNOQRTZTdgmgwTw x x xt//0ACSUijjGHJKMNPQSYScflfvSv w w wt//0H*V}~~ABDEGHJKMSM]`f`pMp q q qt//0DFY[lmmJKMNPQSTV\VfioiyVy z z zt//0CEWYnooIJLMOPRSU[UehnhxUx y y yt//0BDUWlmmHIKLNOQRTZTdgmgwTw x x xt//0FH]_uvvLMOPRSUVX^Xhkqk{X{ | | |t// 8\Scdd~BCEFHIKQK[^d^nKn o o o$ *eT*** $%tT222Tll ##B'''" *** t<<<++F4,C,CDDD$;; !!"6777 !!"4555  0%>>> --fT;L.M.MNNN%KK ""?333 "">222  15$??? ..vdL/I/IJJJ 11  M5$777*,,  ))$*=>>> --dj999?>>#&t':#;#; +  &&s2...$ @ @A  ! * *3q66J+> ? ? ? ? &&777 X[08<<=kmnoo **+=>>>   """ 226$@U3V3VWWW D15$???  ""2&&&&1mm# #,,-HIII #,,-HIII #88FFF #//0tuuu 46tDDD"$    ! !S 3+6==D (  ( 3 3D 9 9 9  ( 1 12K L L L  ( 1 12K L L L  ( 4 46E F F F  ( = =dl K K K N  t;UD I I I!,D    ) )$ / / /   ' '(F G G G   ' '(A B B B   * *,q r r r   3 3DL A A A N  t15$ ? ? ?#)"3F4P"Q"QD    ( (b 1 1 1   8 89O P P P   ( (): ; ; ;171F1H1HD .&>  .."" m''**d22!$63G3G3J3J(JDQQCd{{ V%9%9!%<%<===''**f443v';';A'>'>#?#??K!((V5I5I!5L5LcRXRfRfghRiRiNjNj4k)klll.."" m  ( O  & & &   + +DIIm,D,D E E E O $ $TK%7 8 8 8 8 O  ' ' '  ))$,*GHY*Z[[[[[rMc|>|j|j}|r|dk}|st d|Ddk}|jd|jdd}|jd|jdd }|jd |j d d }| ||j j d dr|j|jd|jdd}t |dkr| dn=|d|j}|r|dkr| d|r|jd|jdd}t |dkr| dd}d|D}t'|rd}|j||jdd}t+|r$t'|s| d|j|jd|jdd}| ||jd|jdd }| ||j|jd!|jd!d"dSdS)#NFcbg|],}|dd*|-S)r! BACKGROUNDr startswithr#sels rLr$z5WbAdminConnections.menu_will_show..s9&v&v&vs3>>Z[K\K\KgKghtKuKu&vs&v&v&vrMrCopyz Copy Selected copy_selectedz Copy InfozCopy Selected Infocopy_selected_infozShow in Editorz Edit Selected edit_selectedrrrExplainrr\NULLzView Thread Stackview_thread_stackz!Enable Instrumentation for Threadc^g|]*}|dd+S)rYESrrs rLr$z5WbAdminConnections.menu_will_show..s3&e&e&ePSs~~b'9'9'D'DU'K'K&e&e&erMz"Disable Instrumentation for ThreadEnable Instrumentationenable_disable_instrumentationr9z Kill Queryr:r7zKill Connectionr8r5r6)r^ remove_allrP get_selectionrr}add_item_with_titlerrrrr(rr add_separatorrrrrallranyr:r8r6)rEr selected_conn user_threadr instr_captionstart_with_yess rLr`z!WbAdminConnections.menu_will_showvsw < J ! ! # # # 0>>@@M& +"2244= "|"%&v&vm&v&v&v"w"wz{"{Kz55fd>PRacrssz55k4CZ\psGHHz556FHZ\km|}}  ---<.RRSTVWXX4J,,...:99:RTXTiktvAAD=))Q..((////,Q/::4;KLL#4tv~~ ,,U333'')) 0:99:MtOegz}PQQD=))Q..((///$GM&e&eWd&e&e&eN>**M(L :99-IloGIijjD>**03~3F3F0((/// ((***z55otXdfrss  ---z556JDL`bsvGHH  --- ((*** J * *9dlIy Y Y Y Y YY .s222a3q66222rMrr ) rangerPget_column_countrget_column_widthrrrHrIrJrK)rEcolrcs rLrTz!WbAdminConnections.column_resizedst+<<>>?? D DA MM$.??BB C C C C22622233    ! ! NIOCHK E F F FGMCHK C D D DrMc|jjrk|jjddrK|jd}|r/|r|ddkrdSdS)Nrrzselect @@performance_schemar\TFr(rrrarb intByIndexrErms rLrz(WbAdminConnections.check_if_ps_availables < & $4<+F+j+jklno+p+p $\,,-JKKF $>>##$((++q00#turMc|jjrl|jjdddrK|jd}|r/|r|ddkrdSdS)Nrrrxzuselect count(*) from performance_schema.setup_instruments where name = 'wait/lock/metadata/sql/mdl' and enabled='YES'r\TFrrs rLcheck_if_mdl_availablez)WbAdminConnections.check_if_mdl_availables < & $4<+F+j+jklnoqr+s+s $\,,.effF $>>##$((++q00#turMc|jSrO)rrQs rLrz"WbAdminConnections.new_processlists $$rMctdd|j}|s5|jd|jdn4|jd|jd|jr|r4t|dkr!|j |dn|j d|j }||j kr| n||jkr|tdddS)NryrFTr\rrG)r rPrr[rr\rlr}rwrrrget_active_tabrkrefresh_mdl_listrrefresh_attr_list)rErtabs rLr&z&WbAdminConnections.connection_selectedsP!W"0022 0   ( ( / / /   ) )% 0 0 0 0   ( ( . . .   ) )$ / / /   ) 5s3xx1}}'..s1v6666'..t444%4466Cd)))%%'''',,,&&(((!WrMc|j |j}|rt |dkr|dd}|jd|z}|r|r|j }| d| d| d| d|r|dSdSdSdSdSdS#t$rY}ddl }td|zt jdd|zd d d Yd}~dSd}~wwxYw) Nr\rzjSELECT * FROM performance_schema.session_connect_attrs WHERE processlist_id = %s ORDER BY ORDINAL_POSITION ATTR_NAMErz+Error looking up attribute information: %s zLookup Connection Attributesz*Error looking up connection attributes: %sr`r^)rrVrPrr}rr(rarbrr stringByNamerhrirrjr#r rk)rEnodesconnidrmrWrnris rLrz$WbAdminConnections.refresh_attr_lists  ""$$$ H(6688E JUqq**1--002^ag2ghhJ!1!1J/88::DOOAv':':;'G'GHHHOOAv':':<'H'HIIIJ!1!1JJJ  J JJJJJJJ H H H     DyG[G[G]G]] ^ ^ ^   ' '(FHtwxHxz~ACEG H H H H H H H H H HsC=D$$ F.AFFc |j|jdd} |j}|rt |dkr|dd}|j d|z}|W| rB| d}|dkr| d }| d }| d }||g} |d krd } nd d| D} |jdd|z} |r| dt|zz } |r| dt|zz } | d} | d} |j d| z} g}| rR| r>|| d| r| >d d|D}t |dkrd|d| d|d}nd|d| d|}|d| d| z }nA|d kr:|j}| d }| d }| d }||g} |d kr|dd n3|dd d!| D|d|j|d|z} |r| dt|zz } |r| dt|zz } |d| d|d"| d|j d#| z} | r| r|}|dd$| dz|d| d|d"| d| r| | Bnd%}ne#t.$rX}ddl}t3d&|zt6jd'd(|zd)d%d%Yd}~nd}~wwxYw|j|dS)*NFz-This connection is not waiting for any locks.r\rrzJSELECT * FROM performance_schema.metadata_locks WHERE owner_thread_id = %s LOCK_STATUSPENDING OBJECT_TYPE OBJECT_SCHEMA OBJECT_NAMErz.cg|]}||SrOrr#os rLr$z7WbAdminConnections.refresh_mdl_list.. s5[5[5[AQ]a]]]rMTzOBJECT_TYPE = '%s'z AND OBJECT_SCHEMA = '%s'z AND OBJECT_NAME = '%s' LOCK_TYPE LOCK_DURATIONzSELECT * FROM performance_schema.metadata_locks WHERE %s AND LOCK_STATUS = 'GRANTED'OWNER_THREAD_ID, c,g|]}t|Srrr"s rLr$z7WbAdminConnections.refresh_mdl_list..s3K3K3KqCFF3K3K3KrMz(The connection is waiting for a lock on  z, held by thread z, held by threads z Type: z Duration: GRANTEDcg|]}||SrOrrs rLr$z7WbAdminConnections.refresh_mdl_list..+s#>#@#@D$*$7$7 $F$FE&,&9&9/&J&JG$*$7$7 $F$FE(/'7H$00 $: > > > > $388 'BACKGROUND'z WHERE 1=1) rrro get_activer(rrrmrarrbrUr) rEcolsrrrrJOINrm result_rowsrowrvalues rLrz'WbAdminConnections.get_process_list_newNsS+/< , , 'E4%*** |}}}}&T%7%B%B%D%D 9::::L((KKU ++++KKU ++++ < & J J1aQR S S rDDD  ' 2 2 4 4 B\,,,BGGHLMMMMOSOSOS.TUUFF\,,,knkskstxkykykyky{{{.ABBF  K.."" (8A$,8O8O&&4A4tWe"//66EJJu%%%%""3''' .."" (  trMc6|jd}||g}|rdg}|jD]1\}}}}||}||2|||d|SdS)NzSHOW FULL PROCESSLIST)r(rarbrrr) rErmrrrrrrrs rLrz'WbAdminConnections.get_process_list_oldos(()@AA  K.."" (37<&&/E4%"//66EJJu%%%%""3''' .."" (  trMct|j}|tjjjjd<|xjdz c_|jr tj |jd|_||j kr@tj |j |t|j|j|_dSdS)Nr<r\) my_serial)r~rdget_selected_indexrHrIrJrfserialrr rrc add_timeoutrbr r6)rEindexs rLr=z&WbAdminConnections.update_refresh_rate~sD)<<>>??V[ #$RS q   )  $T%: ; ; ;$(D ! D, , ,$-$9$:Me:TV]^b^jx|yDWEWEWE%F%FD ! ! ! - ,rMc |j}|sdSd}|dddrd}|D]}|d} |jd||fz8#t$rE}td|ztj dd ||fzd d d Yd}~nd}~wwxYw| dS) NrrrNorzVUPDATE performance_schema.threads SET instrumented = '%s' WHERE thread_id = %d LIMIT 1z*Error enabling thread instrumentation: %s zToggle Thread Instrumentationz/Error setting instrumentation for thread %d: %sr`r^) rPrrrrr(exec_sqlrhrr#r rkr6)rEr instr_staterrrns rLrz1WbAdminConnections.enable_disable_instrumentationsb,::<<   F   & &r * * 5 5e < < K   C\\!__F  %%&~CNPVBW'WXXXX   G!KLLL ++,KM~CIKLBMNMOSVXZ\]]]  s*B  C:CCc.|dSrO)r&rQs rLrtz$WbAdminConnections.extra_tab_changeds   """""rMc |jdnP#t$rC}td|ztjdd|zdddYd}~dSd}~wwxYw||_|jrN|j |j |j |j d|_ d|_ dStddS)NzgUPDATE performance_schema.setup_instruments SET enabled='YES' WHERE name = 'wait/lock/metadata/sql/mdl'z'Error enabling MDL instrumentation: %s zEnable MDL Instrumentationz9Error enabling performance_schema MDL instrumentation. %sr`r^z7MDL instrumentation enabled, but it's still disabled!? ) r(r)rhrr#r rkr _mdl_enabledrzremovemdl_enable_button_sepmdl_enable_button)rErns rLenable_mdl_instrumentationz-WbAdminConnections.enable_mdl_instrumentations<  L ! !#L M M M M    @1D E E E   ' '(DGCFGGGIMPRTV W W W FFFFF  !7799   R   $ $T%? @ @ @   $ $T%; < < <)-D &%)D " " " P Q Q Q Q Qs A*8A%%A*c|j |_|jr$|j||_|js|jrt jd|_|j|jddt j|_ |j |j |j d|j|j dd|j d||j ddS|j d|j ddS)NzY MDL instrumentation is currently disabled. Click [Enable Instrumentation] to enable it.FTrz Hide DetailsrF)rlr-rrzr#rr/r7rr0rAr1r@rrrr&rrQs rLrz WbAdminConnections.toggle_extrassd#'#77   6 ($($?$?$A$A!$ K): K-3_>\.].]*!%%d&@%NNN)/)9););&&;;D<[\\\&//0HIII!%%d&.s-RRRCCKKMMR#++--RRRrM! /* statement may be truncated */) rPrrr}rrorr#r set_clipboard_text)rErrs rLrz%WbAdminConnections.copy_selected_infos,::<<   FyyRR=RRRSS t99s??t3355?$:L:W:W:Y:Y? 7 7D++D11111rMcfg}|d|dz|d|dz|d|dz|d|dz|d |d z|d |d z|d |dz|}t |dkr2|r|jr|dz }||d|S)Nz-- Connection Id: %s rz -- User: %s r\z -- Host: %s ruz -- DB: %s rxz-- Command: %s ryz -- Time: %s rz -- State: %s rr7r8r^) rrrrTr}rrorr)rErr<rs rL _node_textzWbAdminConnections._node_textsg ,s||A>??? OcnnQ&7&77888 OcnnQ&7&77888 MCNN1$5$55666 &):)::;;; Os||A6777 $s~~a'8'88999{{}} t99s??t3355?$:L:W:W:Y:Y? 7 7D Dwwt}}rMcj}|sdStjdfd|DdS)Nrc:g|]}|Srr;r#rrEs rLr$z4WbAdminConnections.copy_selected..s&6e6e6ePSts7K7K6e6e6erM)rPrr#r r9r)rErs` rLrz WbAdminConnections.copy_selectedsc,::<<   F++DII6e6e6e6eWd6e6e6e,f,fgggggrMcj}|sdSjj}|dfd|D|S)Nrc:g|]}|Srr>r?s rLr$z4WbAdminConnections.edit_selected..s%)X)X)X3$//#*>*>)X)X)XrM)rPrreditoraddQueryEditorreplaceContentsr)rErrBs` rLrz WbAdminConnections.edit_selectedst,::<<   F&5577tyy)X)X)X)X-)X)X)XYYZZZ rMc$|j}|sdS|}tjj|t|d| |j dSNr) rPrSrrHmodulesSQLIDEQueryAnalysisvisualExplainForConnectionrrrr)rErrBs rLrz#WbAdminConnections.explain_selecteds"4466  F##%% 'BB63s||\]K_K_adaoaoptqAbBbB C C C C CrMcR|stdddS|jstddd|_dS||rd}nd}|j}|r| |}nd}d}|| }|?|j |j |j }d}|r|j} |D]W} |r)t!| dd r.|r)t!| d d rY|j} t'| D]\} } | |jvrH t+| } n#t,$rd} YnwxYw| | | | |kr|| kr| }V| |jkrO| | | | dd n| | d | | pdt!| } | | | ֐Y |jn#|jwxYw|r|j||||jk} | sd|_| S)NruzLeave. Page is inactiveTz Leave. SQL connection is offlineFrrrySleepr!rrr^) page_activer r(is_sql_connectedrrrrPrSrrfreeze_refreshrVrirrmrrrrUrr~rhset_longrrr thaw_refresh select_noder&r$)rE query_resultr" id_columnrW old_selectedold_selected_nodeno_sleep_connections no_bg_threadsrrrrconts rLr6zWbAdminConnections.refreshst!!  a2 3 3 34|,,..  a; < < <$(D !5 !!###    ! ! III#5577  ==33LLL   0022L  #  / / 1 1 1  & & ( ( (#'#>#I#I#K#K !M##%% J $ < G G I I  4'33C+!CF 0F0Fw0O0O! $"SV)?)? )M)M"!,5577A$-cNN335 555*(+E #,***()*JJq%000$ 44a23/$"222 %0 ! Qdsd < < < < ! Q 7 7 7IIekr2222$'JJELLE2222'3 38$113333$113333  D$001BCCC  $ $ & & &T[( )$(D ! s2BK!G10K1 H=K?HB*KK c T|jsdS|j}|sdS|D]}|d}|rQ|ddr)tj dd|zddddS |j d|z#t$r1}tj dd |zdddYd}~nd}~wwxYw| dS) Nrr!rError Killing ConnectionThread %s cannot be killedr`r^zKILL CONNECTION %srr(rNrPrrrrrr#r rkr)rhr6rE selectionsrrrns rLr8z"WbAdminConnections.kill_connectionRsL|,,..  F)7799   F  C\\!__F##%% #..*;*;*F*F|*T*T  ++,FHdgmHmosvxz|}}}  %%&:6&ABBBB    ++,FqRVY[]_```  s8C D &D  Dc X|jsdS|j}|sdS|D]}|d}|rQ|ddr)tj dd|zddddS |j d|z#t$r3}tj dd ||fzdddYd}~nd}~wwxYw| dS) Nrr!rr[r\r`r^z KILL QUERY %sz+Error executing KILL QUERY on thread %d: %sr]r^s rLr:zWbAdminConnections.kill_queryisu|,,..  F)7799   F  C\\!__F##%% #..*;*;*F*F|*T*T  ++,FHdgmHmosvxz|}}}  %%of&<====    ++,FHuyBCyDIDFJMOQSTTT  s8C D (DDrOrF)&rrrr$ classmethodrrr%rrrXrr`rTrrrr&rrrrrr=rrtr1r-rrrr;rrrr6r8r:rrMrLrrsK Fjj[j##[#8!8!8!vZZZz))) &\\\8-Z-Z-Z^NNN%%%0HHH&T<T<Trgs,a````````````````` <<<<<<<<eeeeeeeeeeee ######KKKKKFKKKK^PQPQPQPQPQV\PQPQPQf#8.` ` ` ` ` ` ` ` ` ` rM