mco_calc_get_class_info
收集指定类的内存统计信息。
此函数会为传入的数据库计算器 calc
中注册的单个类收集内存信息。
MCO_RET mco_calc_get_class_info(
/*IN*/ mco_calc_t * calc,
/*IN*/ mco_cc_t class,
/*OUT*/ mco_cc_info_t * info
);
参数
calc
mco_calc_t *
初始化的数据库计算器对象的句柄。
class
mco_cc_t
一个用于标识所请求信息所属类别的类结构体
info
mco_cc_info_t *
用于接收类信息的类信息结构体的地址。
返回
MCO_S_OK
类信息收集成功。
MCO_E_INVALID_HANDLE
在 calc
或 class
中传入了一个无效的句柄。
示例
/* 应用程序代码片段 */
const char * dbname = "calc_db";
static mco_cc_t my_classes[] =
{
MCO_CALC_DEFINE_CLASS("class1", 10000),
MCO_CALC_DEFINE_CLASS("class2", 20000),
MCO_CALC_CLASSES_END,
};
int main(int argc, char* argv[])
{
MCO_RET rc;
mco_device_t dev;
mco_db_params_t db_params;
mco_calc_t calc;
mco_cc_info_t info;
mco_runtime_start();
...
mco_calc_init(&calc, calc_db_get_dictionary());
...
rc = mco_db_open_dev( dbname, simple_get_dictionary(), &dev, 1, &db_params );
if ( MCO_S_OK != rc )
{
rc = mco_db_connect( dbname, &calc.db );
...
rc = mco_calc_class_add(&calc, my_classes[0]);
rc = mco_calc_class_add(&calc, my_classes[1]);
...
rc = mco_calc_fill_db(&calc);
...
rc = mco_calc_get_class_info(&calc, my_classes[0], &info);
...
/* 在断开数据库连接之前,必须先关闭计算器。 */
mco_calc_deinit(&calc);
mco_db_disconnect(calc.db);
}
}
有关实现细节,请参阅SDK示例 samples/native/core/17-statistics/dbcalc。
文件
- 头文件:
mcodbcalc.h
- 源文件:
mcodbcalc.c
- 库:
libmcodbcalc.a