<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
#!/opt/cloudlinux/venv/bin/python3 -bb
# -*- coding: utf-8 -*-

# cloudlinux-limits Utility to set/get any Cloudlinux limits
#
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2022 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT

# pylint: disable=import-outside-toplevel

import sys

from cllimits.lib.limits import CloudlinuxLimits
from clcommon.utils import is_root_or_exit


_PROFILING_REPORT_FILENSME = 'cloudlinux-limits-profiling.bin'
_ret_code = 0


def work():
    global _ret_code
    cll = CloudlinuxLimits()
    _ret_code = cll.run(sys.argv[1:])


def main():
    """
    Main run function
    """
    is_root_or_exit()
    is_profiling = '--profiling' in sys.argv
    if is_profiling:
        sys.argv.remove('--profiling')
        # Profiling mode
        profiler_log = _PROFILING_REPORT_FILENSME
        import profile
        profile.run('work()', profiler_log)
        print("Profiling end; result saved to " + profiler_log)
        # Profiler result decode
        import pstats
        p = pstats.Stats(profiler_log)
        print('--------------------------------------')
        print()
        # p.sort_stats('calls').print_stats(500)
        p.sort_stats('time').print_stats(500)
    else:
        # Work without profiler
        work()


if __name__ == "__main__":
    main()
    sys.exit(_ret_code)
