ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::tools::consume Class Reference

资源消耗跟踪和耗时校验辅助工具 More...

#include <tools_consume.h>

Public Member Functions

 consume (std::string &&aname)
 构造函数,开始计时
 consume (const std::string &aname)
 构造函数,开始计时
 ~consume ()
 析构函数,自动结束计时并记录日志
void start ()
 手动开始计时
void finish ()
 手动结束计时并记录日志

Detailed Description

资源消耗跟踪和耗时校验辅助工具

RAII 风格的耗时跟踪器,用于记录慢操作日志。 构造时自动开始计时,析构时自动结束并记录耗时。 支持手动控制计时的开始和结束。

Note
禁止拷贝和默认构造,确保每个实例唯一跟踪一个操作。
// 自动耗时跟踪
{
ngl::tools::consume timer("slow_operation");
// 执行慢操作
// 析构时自动记录耗时
}
// 手动控制计时
ngl::tools::consume timer("manual_control");
timer.start();
// ... 执行操作 ...
timer.finish(); // 手动结束计时

Constructor & Destructor Documentation

◆ consume() [1/2]

ngl::tools::consume::consume ( std::string && aname)

构造函数,开始计时

移动语义构造函数

Parameters
aname诊断标签名称(右值引用)
aname资源名称(右值引用,将被移动)

使用移动语义避免字符串拷贝,同时记录起始时间戳

◆ consume() [2/2]

ngl::tools::consume::consume ( const std::string & aname)

构造函数,开始计时

拷贝语义构造函数

Parameters
aname诊断标签名称(常量引用)
aname资源名称(const引用)

使用拷贝语义,同时记录起始时间戳

◆ ~consume()

ngl::tools::consume::~consume ( )

析构函数,自动结束计时并记录日志

析构函数

自动调用finish()记录耗时,确保异常安全

Note
即使发生异常也会尝试记录耗时信息

Member Function Documentation

◆ finish()

void ngl::tools::consume::finish ( )

手动结束计时并记录日志

完成测量并记录耗时

Note
如果已经调用过 finish(),此调用将被忽略

计算从start()到finish()的时间差 如果超过sysconfig::consumings()阈值,记录错误日志 否则记录信息日志

Note
慢操作会以错误级别记录,便于生产环境监控告警

◆ start()

void ngl::tools::consume::start ( )

手动开始计时

重置计时器开始时间

Note
如果已经调用过 start()finish(),此调用将被忽略

将m_beg重置为当前时间,m_finished设为false 用于重复测量同一操作的耗时


The documentation for this class was generated from the following files: