`

Android筆記-Linux Kernel Ftrace (Function Trace)解析

阅读更多

本文转自:http://blog.csdn.net/innost/article/details/9008691

在软件开发过程中,想必很多读者都遇到过系统性能问题。而解决系统性能问题的几个主要步骤是:

  • 测评:对系统进行大量有针对性的测试,以得到合适的测试数据。
  • 分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck)。
  • 性能优化:对hotspot相关的代码进行优化。

由上述步骤可知,性能优化的目标对象是hotspot。如果找到的hotspot并非真正的热点,则性能优化的结果必然是事倍功半甚至竹篮打水一场空。所以,作为Android性能调优相关知识的第一部分,本篇首先将向读者介绍Android平台中三个重要的性能测试工具,它们能很好得帮助开发者找到hotspot。

 

Traceview介绍

1.1  Traceview简介

Traceview是Android平台特有的数据采集和分析工具,它主要用于分析Android中应用程序的hotspot。Traceview本身只是一个数据分析工具,而数据的采集则需要使用Android SDK中的Debug类或者利用DDMS工具。二者的用法如下:

  • 开 发者在一些关键代码段开始前调用Android SDK中Debug类的startMethodTracing函数,并在关键代码段结束前调用stopMethodTracing函数。这两个函数运行过 程中将采集运行时间内该应用所有线程(注意,只能是Java线程)的函数执行情况,并将采集数据保存到/mnt/sdcard/下的一个文件中。开发者然 后需要利用SDK中的Traceview工具来分析这些数据。
  • 借助Android SDK中的DDMS工具。DDMS可采集系统中某个正在运行的进程的函数调用信息。对开发者而言,此方法适用于没有目标应用源代码的情况。DDMS工具中Traceview的使用如图1-1所示。

\" width=Android Project Butter分析“一文。

分享到:
评论

相关推荐

    Bird-LS-2009-Measuring-function-duration-with-ftrace.pdf

    FTrace is a relatively new kernel tool for tracing function execution in the Linux kernel. Recently, FTrace added the ability to trace function exit in addition to function entry. This allows for ...

    Finding-Origins-of-Latencies-Using-Ftrace.docx

    Ftrace作为Linux内核的一个强大工具,源自于-rt补丁中的延迟跟踪器,专门用于追踪和解析这些复杂的延迟问题。 Ftrace的核心功能之一是能够捕捉到最高优先级任务的最大唤醒延迟。这种功能使得开发者能够针对实时进程...

    Measuring-function-duration-with-ftrace.pdf

    Introduction to Ftrace  Adding function graph tracing to ARM  Duration Filtering − Optimizing the discard operation  Post-trace analysis tools  Performance impact  Resources

    开源项目-evilsocket-ftrace.zip

    `evilsocket-ftrace`库提供了接口,让Go应用程序能够接收和解析这些事件,以便进一步分析和处理。 3. **数据收集与分析**:项目提供了一套完整的工具,用于收集系统调用的详细信息,并可能包括对数据的统计、可视化...

    ftrace-kernel-hooks-2014-More than just tracing.pdf | 注释

    标题《ftrace-kernel-hooks-2014-More than just tracing》指出了本文档主要讨论的是Ftrace工具,以及内核钩子(Kernel Hooks),并强调了Ftrace不仅仅是用于追踪功能。Ftrace是Linux内核中的一个强大的调试工具,...

    ftrace-kernel-hooks-2014-More than just tracing.pdf

    2014年的文档"Ftrace-kernel-hooks-2014-More than just tracing.pdf"中,主讲人Steven Rostedt从RedHat提供了关于ftrace的深入介绍,并探讨了ftrace不仅仅局限于追踪的更多功能和使用场景。 ftrace的主要功能包括...

    cpp-ftrace简单函数调用示踪器

    在Linux系统中,`cpp-ftrace`是一种利用内核的`ftrace`功能来追踪C++程序中函数调用的技术。`ftrace`是Linux内核提供的一种强大的动态跟踪工具,它允许开发者对内核或者用户空间程序进行事件追踪,以帮助分析性能...

    ftrace-kernel-hooks-2014.pdf

    《Ftrace Kernel Hooks: More than just tracing》

    ftrace_latency.pdf

    One of the difficult tasks analyzing Real-... Ftrace also has a rich array of tracing features that can help determine if latencies are caused by the kernel, or simply are a bi-product of an application.

    tool-ftrace:促进Linux ftrace工具的执行和后处理

    Linux ftrace工具是一种强大的内核调试和性能分析工具,它允许开发者深入了解系统调用、中断、函数调用等事件的执行细节。在这个专题中,我们将深入探讨如何利用shell脚本来促进ftrace工具的执行与后处理,以优化对...

    linux kernel development 3rd

    本书"Linux Kernel Development 3rd Edition"是理解Linux内核工作原理的权威指南,由知名Linux专家Robert Love编写。第三版涵盖了最新的Linux 4.x版本的内核开发信息,为开发者提供了深入的洞察力,以了解如何构建、...

    Linux Ftrace

    - **启用跟踪功能**:通过写入特定文件来选择和开启 Ftrace 的跟踪功能,例如使用 `echo function_tracer > /sys/kernel/debug/tracing/current_tracer` 开启函数调用跟踪,`echo 1 > /sys/kernel/debug/tracing/...

    Ftrace Kernel Hooks-More than just tracing.pdf

    Ftrace 的主要组件包括 Function Tracer、Function Graph Tracer、Function Profiler、Stack Tracer 等。这些组件可以帮助开发者和系统管理员了解内核的运行机制,诊断问题和优化系统性能。 Ftrace 的功能不仅仅...

    Professional Linux Kernel Architecture.zip

    《Professional Linux Kernel Architecture》这本书是Linux内核架构的权威指南,深入探讨了Linux操作系统的核心机制。作为一本面向专业IT人员的书籍,它涵盖了从进程管理、内存管理到设备驱动等多方面的内容,对于想...

    ftrace-hook:在Linux内核中使用ftrace进行函数挂钩

    ftrace-hook Linux内核模块演示了如何使用ftrace框架进行函数挂钩:就像在挂钩函数周围执行任意代码一样。 该代码已根据许可。 如何建造 请考虑使用虚拟机(VirtulBox,VMWare,QEMU等)进行实验。 (不变的)模块...

    抓ftrace.txt

    FTRACE 抓取手机trace,连接手机后打开需要抓取的场景,使用文档内指令抓取,trace保存在同级目录trace.txt

    perf-tools:基于Linux perf_events(aka perf)和ftrace的性能分析工具

    Linux ftrace和perf_events(又称“ perf”命令)的各种开发中和不受支持的性能分析工具。 ftrace和perf都是内核源代码中包含Linux核心跟踪工具。 您的系统可能已经有ftrace,并且perf通常只是一个软件包添加(请...

    ftrace手册

    Linux内核中的ftrace(Function Trace)是一种强大的动态追踪工具,它允许开发者和系统管理员对内核行为进行详细的分析和调试。ftrace提供了一个灵活的框架,可以追踪各种内核事件,包括函数调用、定时事件、中断...

Global site tag (gtag.js) - Google Analytics