Perfetto概览

news2024/11/16 3:21:20

1、Perfetto 简介

Perfetto是谷歌提供的一个用于性能检测和 trace 文件抓取分析的生产级开源工具包。它可以帮助我们进行应用层面以及系统层面的 trace 文件抓取、native/java 内存剖析。它还提供了一个强大的库能够帮助我们在 web 网页上对抓取的trace 文件进行可视化分析,并使用 SQL 语句对大GB trace 进行查询分析。
在这里插入图片描述

2、trace采集

2.1、动态配置

支持开发者通过动态配置的方式抓取自己所关注的性能 trace 文件。

2.2、Android/Linux 平台系统级 trace 采集

在 Android 和 Linux 平台上, Perfetto 通过不同的系统接口来采集详细的性能数据并打包成多个数据源。如:
Kernel tracing:Perfetto 整合了 Linux’s ftrace ,支持抓取 kernel events (如scheduling events, syscalls)。
/proc and /sys pollers:支持采样一段时间内进程和系统的 Cpu 、内存的状态。
battery and energy-usage counters:整合了 Android HAL 层相关模块,采集电池和耗电的情况。
Native heap profiling:一种低开销的heap profiler ,独立于被测进程,通过 hook 内存 malloc/free/new/delete 事件并关联内存调用堆栈分析 native 内存。
Java heap profiling:独立于被测进程,通过 Android Runtime 机制获取 java 堆内存快照,dump出完整的堆内容,分析 java 内存使用情况。

2.3、Tracing SDK

Perfetto 提供的 Tracing SDK 允许 C++ 开发人员使用特定的跟踪点来追踪应用程序的相关 trace。可以使用 Track Event Library 来自定义你想要追踪的事件类型以及相应数据源。

3、trace分析

Perfetto 除了提供 trace 采集的功能,还支持导入、解析、查询 trace 。Trace Processor 基于 SQLite 引擎向外提供表存储能力(SQL tables),能够将 trace 文件保存在数据表中,并让用户可以通过 SQL 语句进行查询分析。可以将 trace 文件解析后的结果通过 JSON 或者 protobuf 的形式输出。

3.1、Trace 可视化

可视化工具 Perfetto UI可以打开和查询已经抓好的 trace 文件。基于 Trace Processor 和SQLite,它支持分析和查询trace文件。

Perfetto UI 打开1次后,就可以离线工作。通过Perfetto UI 打开trace文件后,浏览器在本地解析文件,不需要与服务器交互。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/730934.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java项目之农产品供销服务系统(ssm+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的农产品供销服务系统。 开发环境: 后端: 开发语言:Java 框架:ssm,mybatis JDK…

关于chrome禁止混合内容造成的问题

混合内容 chrome 对混合内容的定义 是指 存储于http协议下的静态资源与https协议下的资源混用 Chrome官方相关说明 chrome 通过安全策略将 http强制转换为https 这会导致存储于http协议下的 文件出现协议问题从而无法访问 例: 从http文件服务器中引用一张图片到配…

LinearAlgebraMIT2_1_TheColumnSpaceOfAContainsAllVectorsAx

对于Axb,我们要迅速想到线性组合,如下, 我们也可以使用rank秩来反应一个矩阵的特征,如果满秩则可以表示整个向量空间,如上只有两个independent column,它的rank2,表达一个plane平面。 接下来我…

一款玩法十分经典的RPG游戏《QQ宠物大乐斗2》

文章目录 介绍界面介绍游戏主界面:出城界面: 战斗系统主动战斗被动战斗 技能系统主动技能被动技能五神技狂龙傲天拳惊天混元掌灵气寒霜指道威无极真气八卦迷踪腿 道具系统装备系统装备品质装备展示装备获得方式 玩家升级系统通过升级增加属性点使用道具更…

MySQL复习指南

1.数据类型 【数值型】 int或者integer,大小为4个字节,范围:(大约)-21.5亿~21.5亿; bigint,大小为8个字节; float大小为4个字节; double大小为8个字节; …

为什么要做海外应用市场排名

谷歌和苹果iOS应用商店的算法关键指标,都是基于确保应用商店推荐的应用可以满足大部分用户的需求。基于此,应用覆盖的关键词,应用评分和评论,和应用获取的下载量所体现的用户体验数据,对我们的应用能否获得商店高排名都…

Ajax简介和实例

目录 什么是 AJAX ? AJAX实例 ajax-get无参 ajax-get有参 对象和查询字符串的互转 ajax-post ajax-post 表单 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 什么是 AJAX ? 菜鸟教程是这样介绍的&#xff1a…

MySQL数据修改和插入数据

1.创建表: 创建员工表employee,字段如下: id(员工编号),name(员工名字),gender(员工性别),salary(员工薪资) …

华为、阿里巴巴、字节跳动 100+ Python 面试问题总结(二)

系列文章目录 个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python面试专栏:《Python面试》此专栏面向准备面试的2024届毕业生。欢迎阅读,一起进步!🌟🌟🌟 …

Python基础综合案例-数据可视化(柱状图)

今天给大家带来的是Python综合实战开发的数据可视化操作 通过python实现对数据的分析、可视化 数据来源:线上公布数据,需要可私信 前期准备工作:Python可视化准备工作 前期模块安装等前期基础的准备工作大家可以看我之前的文章讲解,有问题可…

ROS-Moveit-ABORTED CONTROL_FAILED

问题 当我使用python程序控制机械臂作笛卡尔空间运动时,让其轨迹在空间中画一个正方形,具体程序如下 #!/usr/bin/env python # -*- coding: utf-8 -*-import rospy, sys import moveit_commander from moveit_commander import MoveGroupCommander fro…

IDEA 2023.1.3最新版安装教程

目录 一、前言 一、下载 二、安装 总结 一、前言 常常学东西都是从头学起,然后学了几天就没然后了。这不久前把电脑重新安装了系统,磁盘的东西也一股脑的全清掉了。心里只想让电脑干干净净的,放的东西也可以做到分门别类,井然…

工频耐压试验装置的产品特点

产品特点: 1、具有高压电压、低压电流、零位指示、电源指示、工作指示、计时指示;过流保护、零位启动保护、声光语言报警提醒等功能。 2、采用新型时间继电器,新型电流继电器 计时范围更广(1S~99H)更精确、…

Element-UI 时间选择器 el-time-picker 禁用 秒 选项

文章目录 默认格式 HH:mm:ss禁用 秒 选项el-time-picker 设置日期和时间组合自定义时间格式 默认格式 HH:mm:ss 时间选择器 format 标签默认为 HH:mm:ss <el-time-picker v-model"value"is-rangerange-separator"-"format"HH:mm:ss"start-p…

Docker学习笔记25

Docker swarm 应用&#xff1a; 镜像准备&#xff1a; 参照Docker学习笔记13&#xff0c;创建centos-nginx:v1的镜像&#xff1a; [rootswarm-1 nginxtest]# docker build -t centos-nginx:v1 . [] Building 211.5s (12/13) [] Building 211.7s (12/13) [] Building 211.8s (…

HTML 基础篇

本章内容&#xff1a; 简介 HTML定义标签定义和属性HTML5基本结构HTML5字符集 <head>标签 <title><base/><link/>&#xff08;rel、href、type&#xff09;<meta/>&#xff08;http-equiv、name、content&#xff09; <body>标签 块级标…

逻辑漏洞-密码找回

声明&#xff1a;本实验教程仅供研究学习使用&#xff0c;请勿用于非法用途&#xff0c;违者一律自行承担所有风险和责任&#xff01; 实验目的 利用密码找回漏洞&#xff0c;实现任意用户的密码重置。理解漏洞发生的场景。 实验环境 操作系统&#xff1a;CENTOS 7 软件&am…

【Centos】crontab系统定时配置加载用户环境变量

使用linux系统crontab默认是没有加载用户的环境变量的&#xff0c;所以有些命令是用不了的。 打开任务计划 crontab -e添加环境变量信息 开头加入如下内容&#xff1a; SHELL/bin/bash PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin完整内容示例如下&am…

基于单片机的语音识别智能垃圾桶垃圾分类的设计与实现

功能介绍 以51单片机作为主控系统&#xff1b;液晶显示当前信息和状态&#xff1b;通过语音识别模块对当前垃圾种类进行语音识别&#xff1b; 通过蜂鸣器进行声光报警提醒垃圾桶已满&#xff1b;采用舵机控制垃圾桶打开关闭&#xff1b;超声波检测当前垃圾桶满溢程度&#xff1…

直击WAIC2023|英码正式加入华为昇腾APN,共同携手引领AI向实而生!

7月6日&#xff0c;以“智联世界&#xff0c;生成未来”为主题的世界人工智能大会&#xff08;以下简称&#xff1a;WAIC2023&#xff09;在上海世博中心盛大开幕。本届AI盛会将举办科学前沿和产业发展2场全体会议、10场主题论坛&#xff0c;以及多场生态论坛及活动&#xff1b…