函数逻辑报告 |
Source Code:kernel\trace\trace_events_hist.c |
Create Date:2022-07-27 13:42:32 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:event_hist_trigger
函数原型:static void event_hist_trigger(struct event_trigger_data *data, void *rec, struct ring_buffer_event *rbe)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct event_trigger_data * | data | |
| void * | rec | |
| struct ring_buffer_event * | rbe |
| 5322 | hist_data等于private_data |
| 5323 | use_compound_key等于n_keys大于1 |
| 5327 | struct tracing_map_elt * elt = NULL |
| 5330 | void * key = NULL |
| 5333 | memset(compound_key, 0, key_size) |
| 5338 | 如果flags按位与HIST_FIELD_FL_STACKTRACE则 |
| 5339 | memset(entries, 0, HIST_STACKTRACE_SIZE) |
| 5343 | 否则 |
| 5345 | 如果flags按位与HIST_FIELD_FL_STRING则 |
| 5346 | key等于field_contents |
| 5347 | use_compound_key = true |
| 5348 | 否则key = (void * ) & field_contents |
| 5352 | 如果use_compound_key则add_to_key(compound_key, key, key_field, rec) |
| 5356 | 如果use_compound_key则key等于compound_key |
| 5359 | 如果n_var_refs且非resolve_var_refs(hist_data, key, var_ref_vals, false)则返回 |
| 5364 | 如果非elt则返回 |
| 5367 | hist_trigger_elt_update(hist_data, elt, rec, rbe, var_ref_vals) |
| 5369 | 如果resolve_var_refs(hist_data, key, var_ref_vals, true)则hist_trigger_actions(hist_data, elt, rec, rbe, key, var_ref_vals) |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |