o
    O6uf}  ã                   @   s&   d dl mZmZ G dd„ deeƒZdS )é    )ÚPluginÚIndependentPluginc                   @   s    e Zd ZdZdZdZdd„ ZdS )ÚNvidiazNvidia GPU informationÚnvidia)z
nvidia-smic                 C   sd   g d¢}|   d¡ |  dd„ |D ƒ¡ d}d}|  d|› d�¡ |  d	|› d�¡ | jd
dd� d S )N)z--list-gpusz-q -d PERFORMANCEz-q -d SUPPORTED_CLOCKSz-q -d PAGE_RETIREMENTz-qz	-q -d ECCz	nvlink -sz	nvlink -eznvidia-persistencedc                 S   s   g | ]}d |› �‘qS )znvidia-smi © )Ú.0Úcmdr   r   ú;/usr/lib/python3/dist-packages/sos/report/plugins/nvidia.pyÚ
<listcomp>"   s    z Nvidia.setup.<locals>.<listcomp>zžgpu_name,gpu_bus_id,vbios_version,temperature.gpu,utilization.gpu,memory.total,memory.free,memory.used,clocks.applications.graphics,clocks.applications.memoryzRtimestamp,gpu_bus_id,gpu_serial,gpu_uuid,retired_pages.address,retired_pages.causeznvidia-smi --query-gpu=z --format=csvz!nvidia-smi --query-retired-pages=r   )ÚbootÚ
identifier)Úadd_service_statusÚadd_cmd_outputÚadd_journal)ÚselfÚsubcmdsÚqueryÚ
querypagesr   r   r	   Úsetup   s   

ÿzNvidia.setupN)Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚcommandsr   r   r   r   r	   r      s
    r   N)Úsos.report.pluginsr   r   r   r   r   r   r	   Ú<module>   s   