吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux ftrace工具宏定義

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:嵌入式Linux系統開 ? 2023-07-20 11:18 ? 次閱讀

宏定義

在使用 ftrace 之前,需要確保內核配置編譯了其配置選項。

CONFIG_FTRACE=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_FUNCTION_TRACER=Y
CONFIG_IRQSOFF_TRACER=y
CONFIG_SCHED_TRACER=y
CONFIG_ENABLE_DEFAULT_TRACERS=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_PREEMPT_TRACER=y

而后在 /sys/kernel/debug/trace 目錄下提供了各種跟蹤器(tracer)和 event 事件,一些常用的選項如下。

available_tracers:列出當前系統支持的跟蹤器。

available_events:列出當前系統支持的 event 事件。

current_tracer:設置和顯示當前正在使用的跟蹤器。使用 echo 命令可以把跟蹤器的名字寫入該文件,即可以切換不同的跟蹤器。默認為
nop,即不做任何跟蹤操作。

trace:讀取跟蹤信息。通過 cat 命令查看 ftrace 記錄下來的跟蹤信息。

tracing_on:用于開始或暫停跟蹤。

trace_options:設置 ftrace 的一些相關選項。

ftrace 當前包含多個跟蹤器,很方便用戶用來跟蹤不同類型的信息,例如進程睡眠喚醒、搶占延遲的信息。查看 available_tracers
可以知道當前系統支持哪些跟蹤器,如果系統支持的跟蹤器上沒有用戶想要的,那就必須在配置內核時自行打開,然后重新編譯內核。常用的 ftrace 跟蹤器如下。

nop:不跟蹤任何信息。將 nop 寫入 current_tracer 文件可以清空之前收集到的跟蹤信息。

function:跟蹤內核函數執行情況。

function_graph:可以顯示類似 C 語言的函數調用關系圖,比較直觀。

wakeup:跟蹤進程喚醒信息。

irqsoff:跟蹤關閉中斷信息,并記錄關閉的最大時長。

preemptoff:跟蹤關閉禁止搶占信息,并記錄關閉的最大時長。

preemptirqsoff:綜合了 irqoff 和 preemptoff 兩個功能。

sched_switch:對內核中的進程調度活動進行跟蹤。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210405
  • 宏定義
    +關注

    關注

    0

    文章

    51

    瀏覽量

    9051
收藏 人收藏

    評論

    相關推薦

    C語言定義使用技巧

    寫好C語言,漂亮的定義很重要,使用定義可以防止出錯,提高可移植性,可讀性,方便性等等。下面列舉一些成熟軟件中常用的
    發表于 07-29 09:35 ?1135次閱讀

    C語言定義使用技巧

    寫好C語言,漂亮的定義很重要,使用定義可以防止出錯,提高可移植性,可讀性,方便性 等等。下面列舉一些成熟軟件中常用得
    發表于 11-13 12:04 ?36次下載

    內聯函數和定義的區別介紹

    定義是C語言提供的三種預處理功能的其中一種,這三種預處理包括:定義、文件包含、條件編譯。定義
    發表于 12-15 15:33 ?2354次閱讀
    內聯函數和<b class='flag-5'>宏</b><b class='flag-5'>定義</b>的區別介紹

    基于linuxFtrace簡介、案例、結果讀法以及用vim進行Ftrace折疊的解析

    Ftrace簡介,Ftrace案例,Ftrace結果怎么讀, vim進行Ftrace折疊。
    的頭像 發表于 01-24 14:14 ?4415次閱讀
    基于<b class='flag-5'>linux</b>的<b class='flag-5'>Ftrace</b>簡介、案例、結果讀法以及用vim進行<b class='flag-5'>Ftrace</b>折疊的解析

    不帶參數的定義是什么?不帶參數的定義的資料介紹詳細過程概述

    c語言中有一個定義,其中有一類就是不帶參數的定義定義是C提供的三種預處理功能的其中一
    發表于 09-04 15:38 ?5次下載

    ARM Linux中一些重要的及地址定義

    ARM Linux中一些重要的及地址定義
    的頭像 發表于 06-22 17:02 ?2774次閱讀

    Linux內核ftrace的學習

    目錄 1. 前言 2. ARM64棧幀結構 3. 編譯階段 3.1 未開啟ftrace時的blk_update_request 3.2 開啟ftrace時的blk_update_request 4.
    的頭像 發表于 08-13 17:33 ?3195次閱讀
    <b class='flag-5'>Linux</b>內核<b class='flag-5'>ftrace</b>的學習

    對于定義與重復定義的問題

    對于定義與重復定義的問題
    發表于 11-29 18:21 ?1次下載
    對于<b class='flag-5'>宏</b><b class='flag-5'>定義</b>與重復<b class='flag-5'>定義</b>的問題

    使用Ftrace研究Linux內核

    Ftrace通過tracefs文件系統的控制文件來進行調試。如果內核構建階段配置ftrace,默認會掛載tracefs到/sys/kernel/tracing,也可以在運行環境手動掛載
    的頭像 發表于 05-05 10:00 ?1726次閱讀

    Linux內核】從小小的定義窺探Linux內核的精妙設計

    Linux內核】從小小的定義窺探Linux內核的精妙設計
    的頭像 發表于 08-31 13:30 ?2004次閱讀

    C語言中的定義

    #define命令是C語言中的一個定義命令,它用來將一個標識符定義為一個字符串,該標識符被稱為名,被定義的字符串稱為替換文本。命令有兩種
    的頭像 發表于 09-28 16:05 ?3514次閱讀
    C語言中的<b class='flag-5'>宏</b><b class='flag-5'>定義</b>

    Linux ftrace簡介與分析

    最近遇到 i2c 傳輸慢的問題,正常一筆 i2c 傳輸 52 bytes 應該在 1ms 內返回,但是偶爾出現 6 ~ 7ms 才返回,不滿足要求,因此研究一下 ftrace 工具,分析 i2c
    的頭像 發表于 07-20 11:17 ?892次閱讀

    c語言定義可以嵌套嗎?

    c語言定義可以嵌套嗎? C語言定義可以嵌套,也就是一個定義可以包含另一個
    的頭像 發表于 09-04 17:38 ?3281次閱讀

    c語言帶參數的定義

    c語言帶參數的定義? C語言定義是一種替換機制,它可以將一個標識符替換為一個代碼片段。
    的頭像 發表于 09-04 17:45 ?2495次閱讀

    define定義

    define定義 以#號開頭的都是編譯預處理指令,它們不是C語言的成分,但是C程序離不開它們,#define用來定義一個,程序在預處理階段將用define
    的頭像 發表于 11-24 15:35 ?946次閱讀
    网络百家乐官网会输钱的多吗| 百家乐官网赌场牌路分析| 百家乐官网的最佳玩| 百家乐庄家抽水| 网上百家乐软件大全酷| 大发888赌场娱乐网规则| 百家乐官网视频多开| 百家乐官网国际娱乐场开户注册| 百家乐赌博娱乐城大全| 958棋牌游戏| 百盛百家乐官网软件| 太阳城百家乐网址--| 新奥博娱乐城体育投注| 百家乐官网赌博娱乐| 广州百家乐筹码| 365外围网| 百家乐官网娱乐网77scs| 真人百家乐游戏软件| 新郑市| 太阳城百家乐群| 威尼斯人娱乐城是真的吗| 太阳城百家乐官网优惠| 百家乐有人赢过吗| bet365合法吗| 银河百家乐官网的玩法技巧和规则| 百家百家乐视频游戏世界| 百家乐官网数学规律| 百家乐斗地主在哪玩| 一二博网| 百家乐庄闲的冷热| 澳门娱乐城官网| 加多宝百家乐官网的玩法技巧和规则| 碧桂园太阳城户型图| 极速百家乐官网真人视讯| 免费百家乐计划工具| 关于百家乐官网概率的书| 百家乐自动算牌软件| 大发888游戏注册送98| 娱百家乐官网下载| 大发888游戏黄金之旅| 百家乐官网必赢术|