Skip to content

Commit 5673b3b

Browse files
Merge branch 'main' into dev/jernej-google/jank_columns
2 parents 4626d76 + a475c14 commit 5673b3b

393 files changed

Lines changed: 19482 additions & 5238 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/finalize-release.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,9 @@ jobs:
238238
--title "Update ai-agents skills bundle ($VERSION)" \
239239
--body "$(cat <<EOF
240240
Automated agent-skills bundle for **$VERSION** (RFC-0026): this tag's
241-
\`skills/\` plus the freshly rolled \`bin/trace_processor\` and the
242-
per-agent manifests.
241+
skill tree (with the freshly rolled \`trace_processor\` wrapper
242+
bundled inside it at \`plugins/perfetto/skills/perfetto/bin/\`) and
243+
the per-agent manifests.
243244
The version pin \`refs/ai-agent-tag/$VERSION\` already points at this
244245
bundle commit (\`$BUNDLE_SHA\`). On merge, \`ai-agents\` advances and
245246
installed agents pick up the update through their normal channels.

Android.bp

Lines changed: 541 additions & 17 deletions
Large diffs are not rendered by default.

Android.bp.extras

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ gensrcs {
226226
"&& $(location aprotoc) " +
227227
"--plugin=$(location protoc-gen-javastream) " +
228228

229-
"--javastream_opt=include_filter:perfetto.protos.TracePacket,perfetto.protos.ShellTransition,perfetto.protos.ShellHandlerMappings,perfetto.protos.ProtoLogMessage,perfetto.protos.ProtoLogViewerConfig,perfetto.protos.ShellHandlerMapping,perfetto.protos.ShellHandlerMappings,perfetto.protos.ProtoLogGroup,perfetto.protos.ProtoLogConfig,perfetto.protos.DataSourceConfig,perfetto.protos.InternedString,perfetto.protos.InternedData,perfetto.protos.ProtoLogLevel,perfetto.protos.TestEvent,perfetto.protos.TestEvent.TestPayload,perfetto.protos.TestConfig,perfetto.protos.TestConfig.DummyFields,perfetto.protos.WinscopeExtensionsImpl,perfetto.protos.ViewCapture,perfetto.protos.AppWakelocksConfig,perfetto.protos.AppWakelockInfo,perfetto.protos.AppWakelockBundle," +
229+
"--javastream_opt=include_filter:perfetto.protos.TracePacket,perfetto.protos.ShellTransition,perfetto.protos.ShellHandlerMappings,perfetto.protos.ProtoLogMessage,perfetto.protos.ProtoLogViewerConfig,perfetto.protos.ShellHandlerMapping,perfetto.protos.ShellHandlerMappings,perfetto.protos.ProtoLogGroup,perfetto.protos.ProtoLogConfig,perfetto.protos.DataSourceConfig,perfetto.protos.InternedString,perfetto.protos.InternedData,perfetto.protos.ProtoLogLevel,perfetto.protos.TestEvent,perfetto.protos.TestEvent.TestPayload,perfetto.protos.TestConfig,perfetto.protos.TestConfig.DummyFields,perfetto.protos.WinscopeExtensionsImpl,perfetto.protos.ViewCapture,perfetto.protos.AppWakelocksConfig,perfetto.protos.AppWakelockInfo,perfetto.protos.AppWakelockBundle,perfetto.protos.DisplayVideoConfig," +
230230

231231
// IME protos
232232
"perfetto.protos.ClientSideProto,perfetto.protos.DisplayCutoutProto,perfetto.protos.EditorInfoProto,perfetto.protos.ImeFocusControllerProto,perfetto.protos.InputConnectionCallProto,perfetto.protos.InputConnectionProto,perfetto.protos.InputMethodClientsTraceProto,perfetto.protos.InputMethodClientsTraceFileProto,perfetto.protos.InputMethodConfig,perfetto.protos.InputMethodManagerProto,perfetto.protos.InputMethodManagerServiceProto,perfetto.protos.InputMethodManagerServiceTraceProto,perfetto.protos.InputMethodManagerServiceTraceFileProto,perfetto.protos.InputMethodServiceProto,perfetto.protos.InputMethodServiceTraceProto,perfetto.protos.InputMethodServiceTraceFileProto,perfetto.protos.InsetsAnimationControlImplProto,perfetto.protos.InsetsControllerProto,perfetto.protos.InsetsProto,perfetto.protos.InsetsFrameProviderProto,perfetto.protos.InsetsSizeOverrideProto,perfetto.protos.InsetsSourceConsumerProto,perfetto.protos.InsetsSourceControlProto,perfetto.protos.InsetsSourceProto,perfetto.protos.InsetsStateProto,perfetto.protos.RectProto,perfetto.protos.SoftInputWindowProto,perfetto.protos.SurfaceControlProto,perfetto.protos.ViewRootImplProto,perfetto.protos.WindowLayoutParamsProto," +

BUILD

Lines changed: 226 additions & 3 deletions
Large diffs are not rendered by default.

CHANGELOG

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,28 @@ Unreleased:
88
* Added a client-server mode to `trace_processor_shell`: start a server
99
over a unix socket (`server unix`) or WebSocket (`server http`) and
1010
connect a thin client with `--remote`.
11+
* Added trace merging: a ZIP or TAR archive containing several traces
12+
imports as one merged trace on a single timeline, with per-machine
13+
attribution. An optional `perfetto_manifest` JSON file in the archive
14+
configures the merge (machine names, clock relations, fixed offsets).
15+
See https://perfetto.dev/docs/analysis/merging-traces.
16+
* Added `trace_processor_shell util merge`: packs traces and an optional
17+
manifest into a merged-trace archive and sanity-checks the result.
1118
UI:
12-
*
19+
* Opening multiple trace files is now supported by default: the "Open
20+
multiple trace files" sidebar item (or multi-selecting / dropping
21+
several files) opens a dialog to configure how the traces merge onto
22+
a shared timeline, warns if any events would be dropped, and can
23+
export the merged set as a self-contained .tar archive.
1324
SDK:
1425
*
1526

27+
v57.1 - 2026-07-02:
28+
AI:
29+
* Fixed the AI skill missing its bundled `trace_processor` wrapper.
30+
The wrapper now ships inside the skill directory itself, for every
31+
install method and agent.
32+
1633
v57.0 - 2026-06-19:
1734
Tracing service and probes:
1835
* Scoped the RelayPort IPC service so it is only exposed on producer

OWNERS

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,14 @@ primiano@google.com
77

88
# Trace Processor, metrics, infra.
99
lalitm@google.com
10-
mayzner@google.com
1110

1211
# Ftrace interop, traced_probes, protozero, Android internals.
1312
# Callstack / memory profilers, traced_probes & Linux internals.
14-
ddiproietto@google.com
1513
rsavitski@google.com
1614

1715
# Horizontal work
1816
sashwinbalaji@google.com
19-
ktimofeev@google.com
17+
safayat@google.com
2018

2119
# UI
2220
stevegolton@google.com
@@ -27,6 +25,5 @@ ilkos@google.com
2725
# Chromium-related things and tracing SDK.
2826
eseckler@google.com
2927
nuskos@google.com
30-
oysteine@google.com
3128

3229
include platform/system/core:main:/janitors/OWNERS #{LAST_RESORT_SUGGESTION}

ai/extensions/README.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,27 @@ for how users install.
1818
```
1919
ai/extensions/
2020
├── claude-code/
21-
│ ├── plugin.json → plugins/perfetto/.claude-plugin/plugin.json
21+
│ ├── plugin.json → .claude-plugin/plugin.json
2222
│ └── marketplace.json → .claude-plugin/marketplace.json
2323
└── codex/
24-
├── plugin.json → plugins/perfetto/.codex-plugin/plugin.json
24+
├── plugin.json → .codex-plugin/plugin.json
2525
└── marketplace.json → .agents/plugins/marketplace.json
2626
```
2727

2828
The arrows show where each file lands on the `ai-agents` branch. Claude Code
2929
and Codex are the only agents that need a per-agent manifest. Every other
30-
agent (OpenCode, Pi, Antigravity, …) is a fallback consumer of the root
31-
`skills/` tree, installed via `tools/agents-install` (served at
30+
agent (OpenCode, Pi, Antigravity, …) is a fallback consumer installed via
31+
`tools/agents-install` (served at
3232
<https://get.perfetto.dev/agents-install>) — no manifest required.
3333

34-
The one content difference between the two consumers is the environment
35-
setup the bundler resolves into the skill: plugin consumers
36-
(`plugins/perfetto/skills/`) get the bundled-`trace_processor` variant,
37-
fallback consumers (root `skills/`) get the standalone fetch-it-yourself
38-
variant. See [`ai/skills/README.md`](../skills/README.md) for how the
39-
bundler assembles the single skill.
34+
The skill tree is emitted exactly once, at `plugins/perfetto/skills/`:
35+
plugin installs consume the `plugins/perfetto/` subdir, and fallback
36+
consumers (OpenCode's `index.json` URL, `tools/agents-install`) read the
37+
same tree at its full path. Every install gets the identical assembled
38+
skill, which carries the `trace_processor` wrapper at `bin/` inside the
39+
skill, so `$SKILL_ROOT/bin/trace_processor` resolves everywhere. See
40+
[`ai/skills/README.md`](../skills/README.md) for how the bundler
41+
assembles the single skill.
4042

4143
## Versioning
4244

ai/extensions/claude-code/marketplace.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://json.schemastore.org/claude-code-marketplace.json",
33
"name": "perfetto",
4-
"version": "v56.1",
4+
"version": "v57.1",
55
"description": "Perfetto skills for Claude Code: query traces with PerfettoSQL, install trace_processor, and run guided investigation workflows.",
66
"owner": {
77
"name": "Perfetto",

ai/extensions/claude-code/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "perfetto",
3-
"version": "v56.1",
3+
"version": "v57.1",
44
"description": "Perfetto skills for trace analysis: query traces, install trace_processor, and run guided investigation workflows.",
55
"author": {
66
"name": "Perfetto",

ai/extensions/codex/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "perfetto",
3-
"version": "v56.1",
3+
"version": "v57.1",
44
"description": "Perfetto skills for trace analysis: query traces, install trace_processor, and run guided investigation workflows.",
55
"author": {
66
"name": "Perfetto",

0 commit comments

Comments
 (0)