如何分析trace文件

如何分析trace文件,第1张

Oracle-trace文件分析

如果一个系统的执行效率比较低,一个比较好的方法是通过跟踪用户的会话并且使用tkprof工具使用排序功能格式化输出,从而找出有问题的SQL语句。

例如首先从os上利用top命令找到当前占用cpu资源最高的一个进程的PID号9999;

然后在数据库中根据PID号找到相应的sid和serial#

select s.sid,s.serial# from v$session s,v$process p where s.paddr=p.addr and p.spid='9999'

然后通过exec dbms_monitor.session_trace_enable(sid,serial#)开启trace;

最后利用tkprof察看trace输出。

开启Trace文件输出

可以通过以下方法开启Trace文件输出(需要ALTER SESSION系统权限):

1) alter session/system set sql_trace=true

2) exec dbms_monitor.session_trace_enable/dbms_monitor.database_trace_enable

3) alter session set events '10046 trace name context forever, level 12'

Trace文件的位置

1.TraceView

官方说明文档:

https://developer.android.google.cn/studio/profile/cpu-profiler

android CPU profiler

CPU profiler可以实时检查应用的CPU使用率和线程activity,并记录函数跟踪,以便于您可以优化和调试您的应用程序.

Flame Chart如果出现问题 颜色也会加深

2.systrace

简介:

systrace是Android4.1版本之后推出的,对系统Performance分析的工具。systrace的功能包括跟踪系统I/O *** 作,内核工作队列,CPU负载以及Android各个子系统的运行状况等。

主要由三部分构成:

1.内核部分

systrace采用了linux Kernel的ftrace功能,所以如果要使用systrace的话,必须开启Kernel和ftrace相关的模块.

2.数据采集部分

Android中定义了一个trace类,应用程序可以使用该类把统计信息输出给trace,同时,android有一个atrace程序,它可以从ftrace中读取统计信息然后交给数据分析工具来处理.

3.数据分析工具

Android提供一个systrace.py用来配置数据采集的方法(如采集数据的标签,输出文件名等)和收集ftrace统计数据并生成一个结果网页文件供用户查看。

简单的说,当机器以60帧/秒显示,用户会感知机器流畅。如果出现显示时丢帧的情况,就需要知道系统在做什么?Systrace是用来收集系统和应用的数据信息和一些中间生成数据的细节,在Android4.1和4.2系统之后出现。Systrace在分析一些显示问题上特别有用,如应用画图慢,显示动作或者动画时变形。

抓取systrace

进入本地Android/Sdk/platform-tools/systrace目录下,执行python systrace.py view --time = 10

python脚本的option


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7922666.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存