美文网首页perfetto 官方文档翻译
Perfetto 翻译-trace分析-PerfettoSQL

Perfetto 翻译-trace分析-PerfettoSQL

作者: David_zhou | 来源:发表于2023-11-06 09:49 被阅读0次

前言:虽然有翻译软件,虽然有chatgpt,毕竟语言隔阂,对这个工具还是一知半解,因此想通过翻译的方式和大家来一起学习下Perfetto这个强大的工具

目录

#####################以下分割线#####################
英文原文在这里

PerfettoSQL 内置查询

这些是内置于 C++ 中的函数,可减少需要用 SQL 编写的样板数量。

Profile Functions
STACK_FROM_STACK_PROFILE_FRAME
STACK_FROM_STACK_PROFILE_FRAME(frame_id)

描述 创建一个堆栈,其中仅包含引用的帧(对stack_profile_frame 表的引用 frame_id

返回类型
BYTES
参数

Argument论点 Type类型 Description描述
frame_id StackProfileFrameTable::Id 堆栈配置文件框架表::Id reference to the stack_profile_frame table 对 stack_profile_frame 表的引用
STACK_FROM_STACK_PROFILE_CALLSITE
STACK_FROM_STACK_PROFILE_CALLSITE(callsite_id)

通过获取 callsite_id (引用自 [stack_profile_callsite]](sql-tables.autogen#stack_profile_callsite) 表)并生成帧列表(通过遍历 [stack_profile_callsite]](sql-tables.autogen#stack_profile_callsite) 表)创建堆栈

返回类型

BYTES

参数

Argument Type Description
callsite_id StackProfileCallsiteTable::Id reference to the [stack_profile_callsite]](sql-tables.autogen#stack_profile_callsite) table
CAT_STACKS
CAT_STACKS(([root [[,level_1 [, ...]], leaf]])

描述
通过连接其他堆栈来创建堆栈。还接受为其生成假 Frame 的 STRING 值。Null 值将被忽略。

返回类型

BYTES

参数

Argument Type Description
root BYTES or STRING Stack or STRING for which a fake Frame is generated
... BYTES or STRING Stack or STRING for which a fake Frame is generated
leaf BYTES or STRING Stack or STRING for which a fake Frame is generated
EXPERIMENTAL_PROFILE
EXPERIMENTAL_PROFILE(stack [,sample_type, sample_units, sample_value]*)

描述

聚合函数,用于从给定样本生成 pprof 格式的profile。

返回类型

BYTES (PPROF数据)

参数

Argument Type Description
stack BYTES Stack or string for which a fake Frame is generated
sample_type STRING Type of the sample value (e.g. size, time)
sample_units STRING Units of the sample value (e.g. bytes, count)
sample_value LONG Value for the sample

可以指定多个样本。
如果仅存在参数 stack ,则 "samples" "count" 和 1会当做sample_typesample_unitssample_value 的 默认值。

示例

CPU profile

SELECT
  perf_session_id,
  EXPERIMENTAL_PROFILE(
    STACK_FROM_STACK_PROFILE_CALLSITE(callsite_id),
    'samples',
    'count',
    1) AS profile
FROM perf_sample
GROUP BY perf_session_id

Heap profile

SELECT
  EXPERIMENTAL_PROFILE(
    CAT_STACKS(heap_name, STACK_FROM_STACK_PROFILE_CALLSITE(callsite_id)),
    'count',
    'count',
    count,
    'size',
    'bytes',
    size) AS profile
FROM heap_profile_allocation
WHERE size >= 0 AND count >= 0

#####################以上分割线#####################

后记:
1 本次主要使用百度翻译,虽然被骂,但至少翻译这个工具降低了门槛。
2 英文文档中的长难句真的是又长又难,基于百度的翻译,然后自己再调整下,水平实在有限。
3 技术背景知识不够,有些专有名词不知道怎么翻译,也不知道百度翻译的是否准确,功夫在诗外。
4 万事开头难,中间难不难,还不知道。中间的事后面再说,正确一天翻译一篇。
5 虽然可能会有人不屑,但总要有人去做不起眼的小事。
6 google 厉害,这个perfetto 工具也很厉害。君子善假于物也。
7 工具的使用是最简单的入门,背后还有更多的东西值得学习。
8 水平实在有限,闻过则喜,希望有更多的人反馈,期待更好的建议

相关文章

  • Perfetto工具用法

    一、抓取trace Perfetto配置 Perfetto在Android 9以上默认预制,但没有开启开启方法: ...

  • Perfetto工具使用简介

    简介 Perfetto工具是Android下一代全新的统一的trace收集和分析框架,可以抓取平台和app的tra...

  • 性能深度分析之System Trace

    性能深度分析之System Trace性能深度分析之System Trace

  • MYSQL 8 優化之04 (通过trace分析)

    1.打开trace & 设置格式为json,并设置trace的最大能够使用内存大小 trace 分析

  • 预览卡顿丢帧的问题

    通过perfetto分析预览丢帧或者预览卡顿的问题。 看cameraservice进程,找到 frame capt...

  • 微信小程序性能测试之Trace工具

    一、Trace工具介绍 微信小程序开发工具中提供了trace工具,利用trace工具可时时监控小程序的性能。分析t...

  • TraceView

    使用代码生成.trace文件,分析代码执行时间通过Debug class 检测代码生成logs保存到.trace文...

  • ANR分析

    ANR日志分析 获取日志 trace文件解析 trace文件例子 关注主线程调用栈,断点调试若干次就可搞定了。 基...

  • go 的性能分析工具 trace

    trace 这个工具跟踪采集一段时间的信息,然后 dump 成文件,最后调用 go tool trace 分析 d...

  • 【java】java 线程在线分析工具

    jstack(查看线程)、jmap(查看内存)和jstat(性能分析) jstack - Stack Trace ...

网友评论

    本文标题:Perfetto 翻译-trace分析-PerfettoSQL

    本文链接:https://www.haomeiwen.com/subject/qaitwdtx.html