| Server IP : 23.254.227.96 / Your IP : 216.73.216.183 Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64 User : viralblo ( 1001) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/self/root/lib/python3.6/site-packages/cloudinit/analyze/__pycache__/ |
Upload File : |
3
��b�# � @ s� d dl Z d dlZd dlZd dlmZ d dlmZ ddlmZmZ ddd�Z dd � Z
d
d� Zdd
� Zdd� Z
dd� Zdd� Zedkr�e � Zej� Zej\ZZeee� dS )� N)�datetime)�
json_dumps� )�dump�showc C sh | st jddd�} | jddd�}d|_|jdd d
�}|jddd
dddd� |jddd
dddd� |jdtfd� |jddd
�}|jddd
dddd� |jddd
dddd� |jddd
dddd� |jdtfd� |jd d!d
�}|jddd
ddd"d� |jddd
dddd� |jd t fd� |jd#d$d
�}|jddd
ddd"d� |jddd
dddd� |jd#t
fd� | S )%Nzcloudinit-analyzez,Devel tool: Analyze cloud-init logs and data)�prog�descriptionZSubcommandsZ
subcommand)�title�destTZblamez5Print list of executed stages ordered by time to init)�helpz-iz--infileZstore�infilez/var/log/cloud-init.logzspecify where to read input.)�actionr
�defaultr z-oz --outfile�outfile�-zspecify where to write output. )r
r z.Print list of in-order events during executionz-fz--format�print_formatz%I%D @%Es +%dszspecify formatting of output.zspecify where to write output.r z%Dump cloud-init events in JSON formatzspecify where to read input. Zbootz2Print list of boot times for kernel and cloud-init)�argparse�ArgumentParserZadd_subparsersZrequiredZ
add_parser�add_argumentZset_defaults�
analyze_blame�analyze_show�analyze_dump�analyze_boot)�parserZ
subparsersZparser_blameZparser_showZparser_dumpZparser_boot� r �/usr/lib/python3.6/__main__.py�
get_parser s�
r c C s� t |�\}}tj� }|\}}}}tj|�} tj|�}
tj|�}y(dd� t|�D �d
}tj|d �}
W n tk
r� d}
tj}Y nX d}d}d}tj|tj|tj |i}|| }|| }| |
|||||||
d � }|j
|| jf |�� |S )a� Report a list of how long different boot operations took.
For Example:
-- Most Recent Boot Record --
Kernel Started at: <time>
Kernel ended boot at: <time>
Kernel time to boot (seconds): <time>
Cloud-init activated by systemd at: <time>
Time between Kernel end boot and Cloud-init activation (seconds):<time>
Cloud-init start: <time>
c S s( g | ] }|d dkrd|d kr|�qS )�namez
init-localzstarting searchr r )�.0�er r r �
<listcomp>� s z analyze_boot.<locals>.<listcomp>r Z timestampz4Could not find init-local log-line in cloud-init.logz�Your Linux distro or container does not support this functionality.
You must be running a Kernel Telemetry supported distro.
Please check https://cloudinit.readthedocs.io/en/latest/topics/analyze.html for more information on supported distros.
a* -- Most Recent Boot Record --
Kernel Started at: {k_s_t}
Kernel ended boot at: {k_e_t}
Kernel time to boot (seconds): {k_r}
Cloud-init activated by systemd at: {ci_sysd_t}
Time between Kernel end boot and Cloud-init activation (seconds): {bt_r}
Cloud-init start: {ci_start}
z�-- Most Recent Container Boot Record --
Container started at: {k_s_t}
Cloud-init activated by systemd at: {ci_sysd_t}
Cloud-init start: {ci_start}
) Zk_s_tZk_e_tZk_rZbt_rZk_eZk_sZci_sysdZ ci_sysd_t�ci_start���)�configure_ior Zdist_check_timestampr Zutcfromtimestamp�_get_events�
IndexErrorZ FAIL_CODEZCONTAINER_CODEZSUCCESS_CODE�write�format)r �args�infh�outfhZkernel_infoZstatus_codeZkernel_startZ
kernel_endZ
ci_sysd_startZkernel_start_timestampZkernel_end_timestampZci_sysd_start_timestampZlast_init_localr! ZFAILURE_MSGZSUCCESS_MSGZ
CONTAINER_MSGZ
status_mapZkernel_runtimeZbetween_process_runtime�kwargsr r r r t sB
r c C s� t |�\}}d}tjdtj�}xdttjt|�|��D ]L\}}tt |j
|�dd�}|jd|d � |jdj|�d � |jd� q4W |jd|d � d S )
az Report a list of records sorted by largest time delta.
For example:
30.210s (init-local) searching for datasource
8.706s (init-network) reading and applying user-data
166ms (modules-config) ....
807us (modules-final) ...
We generate event records parsing cloud-init logs, formatting the output
and sorting by record data ('delta')
z
%ds (%n)z(^\s+\d+\.\d+)T)�reversez-- Boot Record %02d --
r �
z%d boot records analyzed
N)
r# �re�compile� MULTILINE� enumerater �show_eventsr$ �sorted�filter�matchr&