当前位置: 首页 > news >正文

深圳网站建设电话咨询兰州市一地发布提醒

深圳网站建设电话咨询,兰州市一地发布提醒,莱芜金点子最新招工,汉沽天津网站建设文章目录 前言trace的简单使用 前言 日志用于记录不太频繁#xff0c;比较高level的事情。trace记录频繁发生的事情#xff0c;它的开销低。 trace可以在运行时#xff0c;通过参数控制是否启用#xff1b;可以在任何时间点#xff0c;将trace记录的缓冲区保存到文件系统… 文章目录 前言trace的简单使用 前言 日志用于记录不太频繁比较高level的事情。trace记录频繁发生的事情它的开销低。 trace可以在运行时通过参数控制是否启用可以在任何时间点将trace记录的缓冲区保存到文件系统支持overwrite和discard两种trace模式操作支持字符串查找是否存在某个跟踪点支持正则或者通配符启用trace生成trace的内容格式为CTF。 本文参考Trace Library、 dpdk/app/test/test_trace.c at DPDK/dpdk 本文代码见仓库。 trace的简单使用 首先是要创建跟踪点。RTE_TRACE_POINT这个宏展开还挺麻烦我没有太搞清楚自行查看源码。后面需要进行trace记录则调用app_trace_string(const char *str)。 // trace_point.h #pragma once#include rte_trace_point.hextern int global_count; static inline void hello_trace() {global_count;printf(hello trace %d\n, global_count); }// clang-format off extern int global_count; RTE_TRACE_POINT(app_trace_string,RTE_TRACE_POINT_ARGS(const char *str),rte_trace_point_emit_string(str);hello_trace(); ) // clang-format on接着需要注册跟踪点。建议将下面内容放在c文件而不是头文件中。能不能放在头文件中呢不知道。DPDK在使用trace的时候是放在C文件中的。C语言的宏展开是烦人的不方面调试。 // trace_point_register.c #include rte_trace_point_register.h#include trace_point.hRTE_TRACE_POINT_REGISTER(app_trace_string, app.trace.string)接下来我们使用这个trace。代码比较简单 查看是否存在该trace。设置当跟踪缓冲区已满时新的跟踪事件将覆盖跟踪缓冲区中现有的捕获事件。查看这个trace是否已经允许。在代码中允许该trace。触发trace。将trace缓冲区记录到文件系统中。 // main.c #include trace_point.h #include rte_eal.h #include rte_trace.hint global_count 0;int main(int argc, char *argv[]) {if (rte_eal_init(argc, argv) 0) {rte_exit(EXIT_FAILURE, fail in init);}rte_trace_point_t *trace;trace rte_trace_point_lookup(app.trace.string);if (trace NULL) {printf(trace not found\n);return 1;}printf(trace is found\n);rte_trace_mode_set(RTE_TRACE_MODE_OVERWRITE);if (!rte_trace_point_is_enabled(__app_trace_string)) {printf(trace not enable\n);} else {printf(trace is already allowed when registering\n);}rte_trace_point_enable(__app_trace_string);if (rte_trace_point_is_enabled(__app_trace_string)) {printf(trace is enable\n);}app_trace_string(hello world);// rte_trace_metadata_dump(stdout);// rte_trace_dump(stdout);if (rte_trace_save() 0) {printf(fail to save trace to file.\n);}rte_eal_cleanup();return 0; }下面是构建代码。注意machine和ALLOW_EXPERIMENTAL_API与DPDK构建时保持一致。 cmake_minimum_required(VERSION 3.11)project(dpdk_trace_test)# arch的参数和编译dpdk时的cpu_instruction_set参数保持一致 set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} -marchcorei7) set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -marchcorei7)# 和dpdk-meson中保持一致 add_definitions(-DALLOW_EXPERIMENTAL_API)find_package(PkgConfig REQUIRED) pkg_check_modules(LIBDPDK REQUIRED libdpdk) include_directories(${LIBDPDK_STATIC_INCLUDE_DIRS}) link_directories(${LIBDPDK_STATIC_LIBRARY_DIRS})add_executable(${PROJECT_NAME} trace_point_register.c main.c) target_link_libraries(${PROJECT_NAME} PRIVATE ${LIBDPDK_STATIC_LIBRARIES})输出如下。 mkdir build cd build cmake .. -DCMAKE_BUILD_TYPEDebug -DCMAKE_PREFIX_PATHYOUR_DPDK_INSTALL_PATH make./dpdk_trace_test --trace-bufsz2M --trace-dir. hello trace 1 EAL: Detected CPU lcores: 8 EAL: Detected NUMA nodes: 1 EAL: Detected static linkage of DPDK EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode PA EAL: VFIO support initialized TELEMETRY: No legacy callbacks, legacy socket not created trace is found trace not enable trace is enable hello trace 2 EAL: Trace dir: ./rte-2024-01-18-PM-10-20-04# 查看trace babeltrace rte-2024-01-18-PM-10-20-04 [22:20:04.025673412] (?.?????????) app.trace.string: { cpu_id 0x0, name dpdk_trace_test }, { str hello world }
http://www.ho-use.cn/article/10821733.html

相关文章:

  • 宁波网站建设公司比较好注册微信小程序流程
  • cms企业网站管理系统建站公司塔山双喜
  • 企业网站背景图片千锋教育的官网
  • 柳州房地产网站建设免费制作永久企业网站
  • 昆明网站建设公司乐网免费网站推广平台排行榜
  • 保定网站seo哪家公司好福州网站建设q.479185700強
  • 舟山网站建设seo建站平台步骤详解
  • 网站开发项目系统数据库与建设网站
  • 目前国内有哪些网站做家具回收wordpress怎么搭建
  • 网站产品类别顺序如果修改哪些网站适合用自适应
  • 什么网站可以做报名系统公司网站文案推广怎么做
  • 沈阳网站外包公司东莞搜索引擎网站推广
  • 上海做网站天锐网站开发专业培训
  • 网站建设找什么工作室网站建设分享文章
  • 中文网站建设方案中文企业网站模板下载
  • 重庆建站程序星力游戏源码
  • 物流网站建设平台做放单主持的网站
  • 福建鞋子做淘宝图片网站眼镜网站源码
  • wordpress放音乐百度搜索关键词优化
  • 北京国贸网站建设公司大连网站排名公司
  • 如何建 网站问答系统网站模板
  • 地铁公司招聘信息网站wordpress搬家图片不显示
  • 做301到别人网站网站建设标准一
  • 百度如何推广网站上海自贸区注册公司
  • 知识付费网站搭建用哪个软件做网站
  • 表示商业网站的域名中小企业网络推广
  • 苏州商城网站制作企业管理app排行榜
  • 做电商哪几个设计网站比较好博客营销
  • 四川省建设厅网站首页顺德企业网站制作
  • 个人备案的网站涉及到资金如何编辑自己的网站