Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.21.46.13
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/cloudlinux/venv/lib64/python3.11/site-packages/lvestats/lib/chart/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/cloudlinux/venv/lib64/python3.11/site-packages/lvestats/lib/chart/dbgovchartmain.py
# coding=utf-8
#
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT

from lvestats.lib import lveinfolib_gov
from lvestats.lib.chart import ChartMain
from lvestats.lib.commons import dateutil, sizeutil

VERSION = '0.10'


def _io_units(v):
    """
    Get string representation of value;
    :param int v: value in megabytes
    :return str: humanized value

    >>> _io_units(1)
    '1MB'
    >>> _io_units(1024)
    '1GB'
    """
    return sizeutil.convert_bytes_for_graph(v * 1024 * 1024)


class DbGovChart(ChartMain):
    def __init__(self, config=None):
        super().__init__('dbgovchart',
                         'Creates a chart representing usage pattern for LVE/user',
                         config)

    @staticmethod
    def get_version():
        return VERSION

    def get_chart_data(self, engine, from_ts, to_ts, server, user_id=None, show_all=False):
        utc_from = dateutil.local_to_gm(from_ts)
        utc_to = dateutil.local_to_gm(to_ts)

        dt = utc_to - utc_from
        period_sec = dt.total_seconds()
        show_columns = ('ts', 'cpu', 'lcpu', 'read', 'lread', 'write', 'lwrite')
        data = lveinfolib_gov.HistoryShowDBGov(
            engine,
            utc_from,
            utc_to,
            uid=user_id,
            server_id=server,
            show_columns=show_columns,
            cfg=self.cfg
        ).history_dbgov_show()
        data_collected = DbGovChart.convert_dbdata_to_dict(data, show_columns)
        times = data_collected['ts']
        del data_collected['ts']
        return data_collected, times, period_sec

    def customize_parser(self, parser):
        parser.add_argument('--user',
                            help='mysql username',
                            dest='user_name',
                            required=True)
        return parser

    def add_graphs(self, renderer, data_collected, times, lve_version, show_all, is_user=False):
        if any(data_collected['lcpu']) or show_all:
            if is_user and self.is_normalized_user_cpu:
                # Magnify aCPU, lCPU to 100%
                # New user's data and limits
                a_cpu_new = []
                l_cpu_new = []
                for idx in range(0, len(data_collected['lcpu'])):
                    l_cpu = data_collected['lcpu'][idx]
                    a_cpu = data_collected['cpu'][idx]
                    # New limit
                    l_cpu_new.append(100.0)
                    # New average
                    a_cpu_new.append(a_cpu * 100.0 / l_cpu)
                # Store new data
                data_collected['lcpu'] = l_cpu_new
                data_collected['cpu'] = a_cpu_new
            renderer.add_graph(data_collected, 'CPU Usage',
                               legend={
                                   'cpu': ('CPU', 'green', int),
                                   'lcpu': ('limit', 'red'),
                               }, x_values=times, min_y=0, max_y=100, unit='%', y_legend_converter=int)
        if any(data_collected['lread']) or show_all:
            renderer.add_graph(data_collected, 'Read Usage',
                               legend={
                                   'read': ('READ', 'green',),
                                   'lread': ('limit', 'red'),
                               }, x_values=times, min_y=0, y_legend_converter=_io_units, unit='/s')
        if any(data_collected['lwrite']) or show_all:
            renderer.add_graph(data_collected, 'Write Usage',
                               legend={
                                   'write': ('WRITE', 'green',),
                                   'lwrite': ('limit', 'red'),
                               }, x_values=times, min_y=0, y_legend_converter=_io_units, unit='/s')

        if not show_all and not any(data_collected.values()):
            # if no data available draw text box
            renderer.add_text_box("No data")

        renderer.add_common_x_legend(times, 6)

# Uncomment this if you want to test it.
# if __name__ == "__main__":
#     DbGovChart(config_for_debug={
#         'db_type': 'sqlite',
#         'sqlite_db_path': '/home/shaman/workspace/cloudlinux/dbgovdb/lvestats2.db',
#         'server_id': 'localhost',
#     }).main('--from', '2015-03-12 00:00', '--to', '2015-04-01 00:00', '--user', 'mysqldd', '--output', '/tmp/1.svg')

Youez - 2016 - github.com/yon3zu
LinuXploit