語法:
dbstat [-h] [-v] [-p [PID [PID...]]] [-m閾值] [-u] [-i區間]?{mysql,postgres}
選項:
{mysql,postgres}?#觀察什麽樣的數據庫-h,-help #顯示幫助並退出-v,-verbose?#顯示BPF程序-p [PID [PID...]],-PID [PID [PID...]]?#要觀察的進程號,用空格分隔-mThreshold,-ThresholdThreshold # Only-U對查詢延遲高於此閾值的情況進行計數,-微秒#以微秒為單位顯示延遲(默認單位:毫秒)-i interval,-interval interval?#打印摘要的時間間隔(單位:秒)
示例:
#使用sysbench執行select[root @ liuan tools]# dbstat MySQL-p ' pidof mysqld '-ut racing數據庫查詢,用於pids3350,速度低於0毫秒...c [14: 42: 26]查詢延遲(美國)?
2)數據庫變慢
功能:跟蹤MySQL/PostgreSQL的查詢時間高於閾值。
語法:
dbslower [-h] [-v] [-p [PID [PID...]]] [-x路徑] [-m閾值] {mysql,postgres}
參數:
{mysql,postgres}?#觀察什麽樣的數據庫-h,-help #顯示幫助並退出-v,-verbose?#顯示BPF程序-p [PID [PID...]],-PID [PID [PID...]]?#要觀察的進程號,用空格分隔-mthreshold,-thresholdthreshold #只計算查詢延遲高於此閾值的-xpath,-exepath #數據庫二進制文件的位置。
示例:
#使用sysbench執行update _ index[root @ liuantools]# db slower MySQL-p ` pidoff mysqld `- m2跟蹤數據庫對pids3350的查詢慢於2ms...時間PID?MS查詢1.765087?3350 ?2.996更新sbtest1設置k=k+1其中id=963 3.187147?3350 ?2.069更新sbtest1設置k=k+1其中id=628 5.945987?3350 ?2.171更新sbtest1設置k=k+1其中id=325 7.771761?3350 ?3.853更新sb test 1 set k = k+1 where id = 5955。使用限制
bcc是基於eBPF開發的(要求Linux 3.15及以上)。bcc使用的大部分內容需要Linux 4.1及更高版本。
" bcc.usdt.USDTException:無法啟用探測器' query _ _ start ';壹個可能的原因是探測器需要PID來啟用“要求MySQL具有Dtrace tracepoint”。