
    0Fie                    r   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6 d d	l7m8Z8 d d
l9m:Z: i de3de0de2de6de(de'de:de4de1de.de/de)de*de5ded e+e"ddd          d e+e!dd !          i d" e+ed#          d$ e+ed#          d% e+e d#          d& e+e$d          d' e+ed          d( e+e%d          d) e+edd*+          d, e+edd-+          d. e+ed          d/ e+e&d0          d1 e+ed          d2 e+ed0          d3 e+ed0          d4 e+e#d0d5+          d6 e+e#d0d7+          d8 e+ed0d5+          d9 e+ed0d:+           e+ed0d;+           e+ed0d7+           e+ed0           e+ed0           e+ed0           e+ed0           e+ed0           e+ed0          e,e-eeed<Z;ed=             Z<dAd?Z=d@S )B    )annotations)urljoin)memoize)web)IOLoop)gpu_docgpu_memory_docgpu_utilization_doc)rmm_memory_doc)&AggregateActionBandwidthTypesBandwidthWorkersClusterMemoryComputePerKey
ContentionCurrentLoadExceptionsTableFinePerformanceMetricsMemoryByKey	OccupancySystemMonitorSystemTimeseries	TaskGraphTaskGroupGraphTaskGroupProgressTaskProgress
TaskStreamWorkerNetworkBandwidthWorkersMemoryWorkersTransferBytesWorkerTable
events_docexceptions_doc	graph_dochardware_docindividual_docindividual_profile_docindividual_profile_server_docprofile_docprofile_server_docshuffling_doc
status_docstealing_docsystemmonitor_doc	tasks_doctg_graph_docworkers_doc)BokehApplication)counters_docz/systemz/shufflez	/stealingz/workersz/exceptionsz/eventsz	/countersz/tasksz/statusz/profilez/profile-serverz/graphz	/hardwarez/groupsz/gpuz/individual-task-streamd   i  10s)n_rectanglesclear_intervalz/individual-progress   )heightz/individual-graph   z/individual-groupsz/individual-group-progressz/individual-workers-memoryz/individual-cluster-memoryz"/individual-workers-transfer-bytesz/individual-cpu
cpu_figure)fig_attrz/individual-nprocessingprocessing_figurez/individual-occupancyz/individual-workersi  z/individual-exceptionsz/individual-bandwidth-typesz/individual-bandwidth-workersz/individual-workers-network	bandwidthz/individual-workers-diskdiskz&/individual-workers-network-timeseriesz"/individual-workers-cpu-timeseriescpumemory)z%/individual-workers-memory-timeseriesz#/individual-workers-disk-timeseriesz/individual-memory-by-keyz /individual-compute-time-per-keyz%/individual-aggregate-time-per-actionz/individual-scheduler-systemz/individual-contentionz$/individual-fine-performance-metricsz/individual-profilez/individual-profile-serverz/individual-gpu-memoryz/individual-gpu-utilizationz/individual-rmm-memoryc                    ddl m} ddddg |            dk    rdgng dd	d
dd t          D             ddddddgz   | j        d}t	          |d         d           |d<   |S )Nr   )device_get_countstatusworkerstaskssystemgpuprofilegraphgroupsinfoc                d   g | ]}d |v |                     d          d                    |                     d                              d          dd                                                                       dd                              dd	                              d
d          dS )
individual/ -   NCpuCPUGpuGPURmmRMMurlname)stripjoinsplittitlereplace).0xs     ?lib/python3.11/site-packages/distributed/dashboard/scheduler.py
<listcomp>z&template_variables.<locals>.<listcomp>   s     
 
 
 q   wws||!3!3C!8!8!<==&&&&&&  !      hardwareHardwarerY   shuffleShuffle)pagesplotsjupyterrk   c                    | d         S )Nr[    )ds    rc   <lambda>z$template_variables.<locals>.<lambda>   s
    1V9 re   )key)distributed.diagnostics.nvmlrC   applicationsrl   sorted)	schedulerrC   template_variabless      rc   rv   rv   }   s    ====== 	


 *)++a//uggR

 

 

 

 


 
 "
 
 
 
33y11

  $9 < #)7#)<)<# # #w re    c                   t          t          ||t          |                    }|                     |           |                    t          j                               |                    ddt          j	        dt          |pd                    d          dz   d          ifg           |                                 d S )N)prefixrv   z.*rO   rZ   rw   rD   )r2   rs   rv   add_application
initializer   currentadd_handlersr   RedirectHandlerr   r\   start)applicationhttp_serverru   ry   	bokeh_apps        rc   connectr      s     -i88	  I 	***))*** #2 4 4S 9 9C ?KKL	
	 	 	 OOre   N)rw   )>
__future__r   urllib.parser   tlzr   tornador   tornado.ioloopr   %distributed.dashboard.components.nvmlr   r	   r
   $distributed.dashboard.components.rmmr   *distributed.dashboard.components.schedulerr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   distributed.dashboard.corer2   distributed.dashboard.workerr3   rs   rv   r   rn   re   rc   <module>r      si   " " " " " "                         ! ! ! ! ! !         
 @ ? ? ? ? ?' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'P 8 7 7 7 7 7 5 5 5 5 5 5@ @@ @ 	@
 >@ z@ @ i@ z@ @ )@ i@ @ |@ G@  ~~Cd5     !@& NN<SIII'@ @( 	377)@* ..==+@, !..1BC"H"H-@. !.."D"D/@0 !.."D"D1@2 )..9Ms*S*S3@4 ~~k3NNN5@6 ~~S#6     7@< ^^Is;;=@> >>+s;;?@@ nn_dCCA@B ">>.##F#FC@D $^^4Dc%J%JE@F ">>k$ $ $G@L f! ! !M@R -nn#/ / /S@X )..#+ + +Y@ @^ .<^#. . . ,:>#, , , "0S!A!A(6}c(J(J-;^OS-Q-Q$2N=#$F$F,nZ==,:N;QSV,W,W1"?,#6,@ @ @F 	$ $ 	$N     re   