




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1SystemTap第2SystemTap章第4章語言(script)介關于第5probe詳?shù)?probe中常用函數(shù)一附第 1.1關于 作和 1
準備階第
析調試信息。信息。SystemTap需要通過內核調試信息(kernel-2.22.2第 3.1stap3.1.1命令簡stap[OPTIONS]FILENAMEstap[OPTIONS]-stap[OPTIONS]eSCRIPT ARGUMENTS:參數(shù) probebegin }
#stapo-world.stpoWorld!#
(2)stapOPTIONS–eSCRIPTARGUMENTS]的例子:此方法直接在命令行輸入(script)命令。此時,必須且(script)命令必須用兩個單引號“‘‘”引起來#stap–e‘probebegin{ o#
詳解3.1.3ARGUMENTS詳,stap[OPTIONS]FILENAMEttsts1{argstr1=@1;argstr2=argint3=}
probetimer.ms(1000)#after1000{printf(“argstr1=%s,argstr2=%s,argint3=%d\n”,argstr1,}
globalargstr1,argstr2,arg-tssTR1R217BEGINNOW!
argstr1=STR1,argstr2=STR2,argint3=173.2staprun3.2.1命令簡staprun O塊ODULE詳本章學結及問題staprun操作的內核模塊是如何保存下來的?在將程序翻譯成C代碼編譯成內核模塊之后,是否可以在此時將操作中止(PASS4階段??)并將生成內核模塊保存下來,以便后面使用staprun進第章語言介4.1關于Probepoint Probepoint
probehandle probehandle“probepoint”是probe動作的時機。(也就是probe程序監(jiān)視的某點, “probehandle是當probe插入內核后所做的具體動作。當這個動作完成probeprobe-Point{statement例t#cattprobe t}
probepointstatement 上例中,有gi和end兩個btegin是SystemTaptp時直probe程序并沒有結束。按下[Ctrl+C]rlS]stemTapstT此時處理end這個probe-Poitd執(zhí)行完成后ys后Sta例BeginNow!EndNow!
e且命令需要用一對單對單proberoint間4.2script程序的基本語 語言的變 局部變量:在的probe /......C++語言風/*...*/C語言風 間可以用”;“分隔開,也可以不用。一行代碼可分多行寫。(c.)if語 (e.) (i.)delete語語delete 語delete4.2.3(1)“.”連如str1“abc”str2“def”則:str1.str2為(2)比較運算符也可以使用在字符串比較時。如上面的str1str2(3)[條件[statement14.2.4 4.2.5輸操作符和方法 global (2)關說所均globalx{ #stapoperation.stp1020vg%d=sum%d/count%d\n”,@avg(x),@sum(x),}4.2.7嵌入C語言代語言中可以嵌入C代碼。要嵌入的C代碼必須以“%{” 4.2.8關于 4.3 probe{}4.3.3聯(lián)合數(shù)組 第
SystemTap結束時的動作。5.1 (targetvariables$”賦值的變量為#catbegin-end-test.stpprobebegin{}5.2 #catbegin-end-test.stpprobeend{printf(“EndNow}#stap 只(sequencenumber)來控制執(zhí) #Inatapsetprobebegin(-1000)#Inauser
小于userfile的順rfile的執(zhí)行數(shù)為默認的0),5.3 5.4 rneljiffiestimer)定義[jiffiestime] t 個隨機數(shù)位于[-M…+M]之間)將會與N相加。 秒s納 timer.ns(N)ii.(N).randomize(M)5.5//該系列探測點對kernel、module、program等使用象征性 modu 只包含內聯(lián)函數(shù)(inlinedFunct 內聯(lián)函數(shù)(inlinedFuncti kernel.function(“*init*”),kernel.function(“*exit*”) module()lsatement(0xc 5.6 ( penalty)和空間penal 它用。(timepenalty:為一個 一個數(shù)據(jù)結構在指定的部位。) #includeintkfunc(structinode*i,int{intrc=0; //returncodetrace_mark(kfunc_entry,"inode%pop%d",i,op);//...bulkofkfunc()here...trace_marknrxitunc_exit,"r;}
d",如何在SystemTa中使用‘kernel.mark(“NAME’stprobekernel.mark("kfunc_entry"){printf("kfunc_entrymarkerhiprobekernel.mark("kfunc_exit"){printf("kfunc_exitmark 如 probe intf("kfunc_entrymarkerhit:%s,%p,第 章
ame(),tid(),pid(),ppid(),uid(),euid(),gid()regs(),backtrace(),print_stack(),print_backtrace(),robefunc(),probemod(),target(),is_return()qs_wait(),qs_run(),qs_done(),qsq_start(),qsq_print(),qsq_utilization(),qsq_blocked(),qsq_wait_queue_length(),qsq_service_time(),qsq_wait_time(),qsq_throughput()6.1 6.2
6.3substirg(str:string,start:long,6.4 年月日時開始至今的納秒數(shù)
年月日時開始至今的毫秒數(shù) 年月日時開始至今的微秒數(shù) 年月日時開始至今的秒數(shù)6.5(1) 表緩存(registerdump???)。 選-x-c 66.7queue_statstapset提供了一些函數(shù),這些函數(shù)當接收到隊 ,執(zhí) queueaverage itqueuervicearequestftimethewaitqueuewastageoftimeanyrequestwasbeingqsq_service_time:long(qname:string,scale:long)為單位)。(qs_wait6.8 、進程名、 delta 值作為 6.9 6.106.11形式,如“WedJun3021:49:0082006”的形式。6.12
實 加(1)Pass (2)Pass 注:如果用戶指定“-p2”選項,則在Pass2階段執(zhí)行完后便停止,然 (3)Passa翻譯成C語言代 翻(4)Passa
加載內核模注:可以通 (1)-k#stap-ktest3.stpBeginnow TueMay1915:21:17End temporarydirectory指定-k選 (2)-b#stap-vPass1:parseduserscriptand38libraryscript(s)in570usr/10sys/582realPass2:yzedscript:2probe(s),3function(s),1embed(s),1global(s)in10usr/0sys/12realms.Pass3:usingcached/root/.systemtap/cache/18/stap_183dfd83c271f99a1b46fd35932be177_3183.cPass4:usingcached/root/.systemtap/cache/18/stap_183dfd83c271f99a1b46fd35932be177_3183.koPass5:startingrun.Begin TueMay1915:33:03EndPass5:runcompletedin60usr/40sys/2792real -b選項會解析、編譯#stap-b-vPass1:parseduserscriptand38libraryscript(s)in550usr/20sys/579realPass2:yzedscript:2probe(s),3function(s),1embed(s),1global(s)in10usr/0sys/11realms.Pass3:usingcached/root/.systemtap/cache/8e/stap_8e244751d660a4840ef0fff5fa0e5693_3183.cPass4:usingcached/root/.systemtap/cache/8e/stap_8e244751d660a4840ef0fff5fa0e5693_3183.koPass5startingrun.(3)-m選項#stap-mTempName-k-vtest3.stpWarning:using'-m'disablescachesupport.Pass1:parseduserscriptand38libraryscript(s)in560usr/20sys/583realPass2: yzedscript:2probe(s),3function(s),1embed(s),1global(s)in10usr/0sys/13realms.Pass3:translatedtoCinto"/tmp/stapZZzjTY/TempName.c"in10usr/0sys/2realms.Pass4:compiledCinto"TempName.ko"in6280usr/750sys/7050realms.Pass5:startingrun.Begin TueMay1915:48:14End Pass5:runcompletedin60usr/60sys/1959realms.Keetemporarydirectory"/tmp/stapZZzjTY"#ls-l/tmp/stapZZzjTY/total580-rw-r--r--1root 1407May1923:48-rw-r--r--1root 0May192
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉儲設備租賃合同協(xié)議書
- 人工智能技術應用研發(fā)合作協(xié)議
- 鋼筋焊接施工承包合同
- 工程承包合同單價合同
- 企業(yè)信息化戰(zhàn)略規(guī)劃與實施
- 工廠場地租賃合同
- 電子商務購銷合同
- 數(shù)據(jù)安全與信息保密服務協(xié)議
- 血液(第二課時)課件2024-2025學年北師大版生物七年級下冊
- 關于調整辦公環(huán)境的申請通知
- 2025年全國國家版圖知識競賽題庫及答案(中小學組)
- 科技助力野生動植物保護-創(chuàng)新技術與方法探討
- 《紅巖》中考試題(截至2024年)
- 2025年合肥職業(yè)技術學院單招職業(yè)適應性測試題庫完整版
- 2025年黑龍江旅游職業(yè)技術學院單招職業(yè)傾向性測試題庫匯編
- 2025年哈爾濱電力職業(yè)技術學院單招職業(yè)技能測試題庫完整版
- 2025年湖南城建職業(yè)技術學院單招職業(yè)技能測試題庫新版
- 2024年國家危險化學品生產(chǎn)單位安全管理人員考試題庫(含答案)
- 三打白骨精英文話劇劇本(原創(chuàng))
- 2019第五版新版PFMEA 注塑實例
- 李雁鳴循環(huán)理論
評論
0/150
提交評論