Shortcut¶
注意
此文档中列出的为 moprofiler
对外提供功能的捷径说明,从而缩短调用路径
提供针对时间、内存的分析器,以及秒表日志打点工具
-
class
moprofiler.
TimeProfiler
(_function=None, stream=None, output_unit=None, stripzeros=False, **kwargs)[源代码] 基类:
moprofiler.base.ProfilerClassDecorator
时间分析器的类装饰器
逐行分析被装饰函数每行的执行时间
参数: -
profiler_factory
line_profiler.line_profiler.LineProfiler
的别名
-
print_stats
()[源代码] 打印统计结果
-
-
class
moprofiler.
MemoryProfiler
(_function=None, stream=None, precision=1, backend='psutil', **kwargs)[源代码] 基类:
moprofiler.base.ProfilerClassDecorator
内存分析器的类装饰器
参数: -
profiler_factory
MemoryProfilerWrapper
的别名
-
print_stats
()[源代码] 打印统计结果
-
-
class
moprofiler.
StopwatchMixin
[源代码] 基类:
moprofiler.base.ProfilerMixin
秒表 Mixin 类
用以提供复杂的秒表功能,如:
- 针对需要多次调用的方法进行累加记录的场景
- 在一次代码执行流程中同时记录多个方法,并灵活控制记录结果的输出
-
moprofiler.
stopwatch
(_function=None, print_args=False, logger=None, print_mem=False, fmt='', name='', logging_level=20, **dkwargs)[源代码] 返回秒表监控下的函数或方法
通过额外的关键字参数,支持配置自定义的值到输出模板中
日志输出模板中可使用变量如下:
name
: 当前秒表名称args
: 被装饰函数/方法的位置参数kwargs
: 被装饰函数/方法time_use
: 函数/方法执行耗时mem_use
: 函数/方法执行内存
参数: - _function (types.FunctionType or types.MethodType) – 被封装的对象,由解释器自动传入,不需关心
- print_args (bool) – 是否打印被装饰函数的参数列表,若含有较长的参数,可能造成日志过长,开启时请注意
- logger (logging.Logger) – 可传入指定的日志对象,便于统一输出样式,默认使用该模块中的全局 logger
- print_mem (bool) – 是否在方法退出时打印内存信息,默认为 False
- fmt (str) – 用于格式化输出的模板,可在了解所有内置参数变量后自行定制输出样式,若指定该参数则会忽略 print_args
- name (str) – 关键字参数,被装饰方法代理生成的 stopwatch 所使用的名称,默认为使用被装饰方法的方法名
- logging_level (int) – 打印日志的级别,默认为 INFO
返回: 装饰后的函数
返回类型: types.FunctionType or types.MethodType
-
moprofiler.
time_profiler
此变量是为了向后兼容旧版本的命名
-
moprofiler.
memory_profiler
此变量是为了向后兼容旧版本的命名