1 下载dpicode
https://eco.dameng.com/document/dm/zh-cn/app-dev/c_c++_dpi.html
将DPIext.h DPI.h DPItypes.h文件拷贝至代码目录下面,cp /home/dmdba/dm_old/drivers/dpi/libdmdpi.so /usr/lib
2 编译源代码
make -f makefile
编译后多了可执行文件
3 开启dpi_trace
[root@dm dpi_code]# cat /etc/dm_svc.conf
TIME_ZONE=(480)
LANGUAGE=(cn)
DPI_TRACE=(1)
4 执行程序
./dpi_conn会在当前目录下面生成dpi_trace.log
5 使用dpi日志分析工具
dpiTraceFilePath=/root/dpi_code
doDpiData=1
truncateDpiDataTable=1
dpiDataTableName=DPI_LOG
doDpiMergeData=1
truncateDpiMergeDataTable=1
dpiMergeDataTableName=DPI_MERGE_LOG
dataBatchSize=20000
[db_info]
dbUrl=jdbc:dm://192.168.18.33
dbUser = SYSDBA
dbPasswd =SYSDBA
dbDriver = dm.jdbc.driver.DmDriver
6 分析dpi日志
java -jar dpi_parse_tool.jar
7 查看分析结果
select DPIFILENAME,
DPIFUNCNAME,
count(*) FUNCNAME_COUNT,
max(DPIFUNCINTERVAL),
avg(DPIFUNCINTERVAL)
from DPI_MERGE_LOG
group by DPIFILENAME,
DPIFUNCNAME
order by DPIFUNCNAME,
DPIFILENAME asc;
文章
阅读量
获赞