Skip to content
Open
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
3b0ad6a
feat: allow multiple tabs to use the HTTP RPC accelerator
WangJialin547 Aug 19, 2025
7fc623c
attempt to solve problem 1
WangJialin547 Aug 20, 2025
b8b0964
attempt to solve problem 1
WangJialin547 Aug 22, 2025
2847b92
added thread pruning mechanic
WangJialin547 Aug 23, 2025
589f7fd
Merge branch 'problem1'
WangJialin547 Aug 23, 2025
ce0ae70
temp save
WangJialin547 Aug 25, 2025
55511f0
changed proto, added modal
WangJialin547 Aug 25, 2025
4c6ad28
temp save
WangJialin547 Aug 25, 2025
c63b538
format code
WangJialin547 Aug 25, 2025
c455bb4
fix modal 2
WangJialin547 Aug 25, 2025
2a30a36
solved problem 2
WangJialin547 Aug 25, 2025
f91b34e
format files
WangJialin547 Aug 25, 2025
b14364f
fixed missing file name bug
WangJialin547 Aug 26, 2025
9d19600
added missing message handling
WangJialin547 Aug 27, 2025
13bfbdf
fixed segfault issue
WangJialin547 Aug 27, 2025
d7ba3d5
update comments
WangJialin547 Aug 27, 2025
38a32b5
fix typo
WangJialin547 Aug 28, 2025
e822bda
remove unneccessary timeout_mins parameter
WangJialin547 Aug 28, 2025
f479da7
changed UuidRpcThread to a class
WangJialin547 Aug 28, 2025
fab1acc
renamed IsUuidHandshake function to PascalCase
WangJialin547 Aug 28, 2025
c0f5ed7
replaced magic numbers with constexprs kMillisecondPerMinute and kNan…
WangJialin547 Aug 28, 2025
9f8b218
renamed firstStatus into firstTpStatus
WangJialin547 Aug 28, 2025
33b1524
modify sendTraceTitle method
WangJialin547 Aug 28, 2025
d452b41
added mutex protection for /status/all endpoint
WangJialin547 Aug 29, 2025
82f3a67
changed default string into a constant
WangJialin547 Aug 29, 2025
49d30f3
changed it and it2 to descriptive var name
WangJialin547 Aug 29, 2025
b5b96fe
removed unneccessary size 5 check
WangJialin547 Aug 29, 2025
8ebd0c0
changed while loop in cleanUpInactiveInstances to for loop
WangJialin547 Aug 29, 2025
3aec78e
added uuid local variable in the loop inside of cleanUpInactiveInetances
WangJialin547 Aug 29, 2025
c5e16b0
fix
WangJialin547 Aug 29, 2025
a26267b
changed atoi to base::StringToInt32
WangJialin547 Aug 29, 2025
a885164
removed wrapper function isUuidHandshake
WangJialin547 Aug 29, 2025
297d758
fixed comment
WangJialin547 Aug 29, 2025
2fa49f1
modified comments
WangJialin547 Aug 29, 2025
ce2c631
updated build.gn for httpd to include ../../base:version
WangJialin547 Aug 31, 2025
8c485de
supports parsing uuid from message using json_utils.h
WangJialin547 Aug 31, 2025
ce2eb59
fix
WangJialin547 Aug 31, 2025
45c3e6e
addressed issue 2: the preloaded trace using trace_processor_shell ge…
WangJialin547 Aug 31, 2025
3d599dd
added a hasActiveTab field to the status message
WangJialin547 Aug 31, 2025
b7d9cd4
new version of popup modal
WangJialin547 Aug 31, 2025
26dec05
made processors with active tabs accessible, but display warning
WangJialin547 Aug 31, 2025
f1c2f6e
addressed problems 1, 3 and 4 by introducing a new modal
WangJialin547 Aug 31, 2025
90db9a3
fixed race condition that cuases a segfault
WangJialin547 Aug 31, 2025
cee2299
moved the buttons to the bottom like the old version of the dialog
WangJialin547 Aug 31, 2025
a66763b
format code
WangJialin547 Aug 31, 2025
27560db
fix
WangJialin547 Aug 31, 2025
97c1dd5
fixed warning message
WangJialin547 Aug 31, 2025
9e318be
added a mouse hover effect on the file selection buttons
WangJialin547 Sep 1, 2025
c2a989f
fixed bug: now trace_processor_shell with no preloaded trace won't cr…
WangJialin547 Sep 1, 2025
8ecee5e
attempt to solve CI failure by including json folder in build.gn
WangJialin547 Sep 1, 2025
d626381
update comment
WangJialin547 Sep 1, 2025
3fe21d6
fixed proto file
WangJialin547 Sep 9, 2025
05ef013
shows the trace processor selection modal in all situations
WangJialin547 Sep 9, 2025
bd665c0
removed /status/all endpoint
WangJialin547 Sep 9, 2025
342acf6
when websocket disconnects, removes tp instance if it has no trace lo…
WangJialin547 Sep 9, 2025
cb3d231
fixed the problem where tools/format-sources is complaining
WangJialin547 Sep 9, 2025
f30c3a0
apply changes to the modal
WangJialin547 Sep 10, 2025
0ce2f6e
fixed rpc_http_dialog
WangJialin547 Sep 10, 2025
956440f
added new endpoints for websocket
WangJialin547 Sep 10, 2025
7824e8a
solved the race condition problem when closing laptop lid by adding a…
WangJialin547 Sep 11, 2025
5148f16
cleanup work, removing unused functions and clarifying comments
WangJialin547 Sep 11, 2025
98653ff
changed uuid to monotonic id for tps
WangJialin547 Sep 11, 2025
efc72f1
fixed eslint issues when formatting
WangJialin547 Sep 11, 2025
427845c
fixed presubmit issues
WangJialin547 Sep 11, 2025
5d58355
fixed version mismatch error
WangJialin547 Sep 12, 2025
6adfea5
fixed backcomp issue by sending the uuid wrapped in a protobuf messag…
WangJialin547 Sep 13, 2025
a8d83c6
modified modal to fit the requirements
WangJialin547 Sep 13, 2025
d25b399
moved rpcPolicy
WangJialin547 Sep 14, 2025
36b41a1
moved inline styles to a style sheet
WangJialin547 Sep 14, 2025
ac0cdc3
removed unneccessary include
WangJialin547 Sep 14, 2025
3a762cf
'New Instance...' won't show if there are no tp instances detected as…
WangJialin547 Sep 14, 2025
786620b
format code
WangJialin547 Sep 14, 2025
e77b2a8
fix presubmit issue
WangJialin547 Sep 14, 2025
ee89530
solved segfault issue caused by sending rpc chunk to nonexistent conn…
WangJialin547 Sep 15, 2025
266555d
added a /close http endpoint that kills unused tps
WangJialin547 Sep 15, 2025
9ae2c07
changed modal id sorting from descending to ascending
WangJialin547 Sep 15, 2025
30100a5
kills the respective ws connection when /close request is sent, preve…
WangJialin547 Sep 17, 2025
4c6bb7d
fix
WangJialin547 Sep 17, 2025
ca315e1
case fix
WangJialin547 Sep 17, 2025
7bddd2a
fix
WangJialin547 Sep 17, 2025
e7e7bca
change rpc_ to unique_ptr
WangJialin547 Sep 17, 2025
325ee60
remove json dependency as no longer needed
WangJialin547 Sep 17, 2025
e23e4d7
added detailed comment explaining the self-repeating cleanup task
WangJialin547 Sep 17, 2025
8f97186
renamed has_active_tab to is_attached_ and added getters and setters
WangJialin547 Sep 17, 2025
47e17e5
format code
WangJialin547 Sep 17, 2025
46fa2d5
fixed presubmit issues
WangJialin547 Sep 17, 2025
e587e25
changed trace_processor_shell comment
WangJialin547 Sep 18, 2025
c9e3212
also closes inactive WS connection in CleaUpInactiveInstances()
WangJialin547 Sep 18, 2025
edff7ab
moved sendTraceTitle next to restoreInitialtables
WangJialin547 Sep 18, 2025
aab3eb5
removed window.location.hostname:9001 from rpcPolicy
WangJialin547 Sep 18, 2025
e281e88
reverted change in http_rpc_engine.hostAndPort()
WangJialin547 Sep 18, 2025
64bf3f6
removed redundant RedrawModal() function and replaced with m.redraw()
WangJialin547 Sep 18, 2025
c4b68a8
removed unneccessary m.redraw
WangJialin547 Sep 18, 2025
ef316f2
Revert "moved sendTraceTitle next to restoreInitialtables"
WangJialin547 Sep 18, 2025
7142ba1
used widgets and flexible style and pruned unneccessary styles
WangJialin547 Sep 18, 2025
fb50c6d
format code
WangJialin547 Sep 19, 2025
d78a5fd
change trace_processsor_id to camelCase
WangJialin547 Sep 23, 2025
4e4bd17
removed unneccessary undefined handling in http_rpc_engine.ts constru…
WangJialin547 Sep 23, 2025
d3ac67b
utilize classNames utility
WangJialin547 Sep 23, 2025
fa8db57
improved generic css class names to specific ones, e.g. pf-rpc-http-d…
WangJialin547 Sep 23, 2025
0ee49a9
ui: Allow any key-value pairs to be passed to (most) widgets (#3062)
stevegolton Sep 23, 2025
a9e8392
removed unneccessary Card as unknown as string after implementing #3062
WangJialin547 Sep 23, 2025
ae14898
shows 'New Instance...' if there are no traces loaded for consistency
WangJialin547 Sep 23, 2025
0842f5a
removed unneccessary try catch clause
WangJialin547 Sep 23, 2025
7718086
added copyright header to preloaded_trace_dialog.scss
WangJialin547 Sep 23, 2025
dc54dc9
deleted 'strong' inside the cards
WangJialin547 Sep 23, 2025
2373afd
combined the x button with the stack
WangJialin547 Sep 23, 2025
ab597cb
removed keyboard ux
WangJialin547 Sep 23, 2025
eee44e7
removed side effects of useRpcWithPreloadedtrace and returns everything
WangJialin547 Sep 24, 2025
0522b9f
clicking the cards will now directly connect to the respective instance
WangJialin547 Sep 24, 2025
493fbf1
updated modal
WangJialin547 Sep 24, 2025
5a0a30f
deleted preloaded_trace_dialog and uses default Card widget style
WangJialin547 Sep 24, 2025
29f15ca
removed the deleted file from perfetto.scss
WangJialin547 Sep 24, 2025
1c48959
changed null to undefined
WangJialin547 Sep 24, 2025
3cf6d9d
format code
WangJialin547 Sep 24, 2025
8313745
changed integer instance IDs to string UUIDs
WangJialin547 Nov 26, 2025
057a2be
format code
WangJialin547 Nov 26, 2025
e6b97ed
attempt to address back comp issues
WangJialin547 Nov 27, 2025
e52992e
Merge remote-tracking branch 'upstream/main'
WangJialin547 Nov 27, 2025
cce0452
pulled recent additions and made changes accordingly
WangJialin547 Nov 27, 2025
3336585
bug fix
WangJialin547 Nov 27, 2025
f7623b2
fix presubmit issues
WangJialin547 Nov 27, 2025
a70bf6e
loaded the trace_processor_shell instance onto a separate thread
WangJialin547 Dec 17, 2025
711fa11
solved autoreconnection issue by keep track of uuids of closed connec…
WangJialin547 Dec 17, 2025
d885b99
fixed backcomp issues
WangJialin547 Dec 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 32 additions & 3 deletions protos/perfetto/trace_processor/trace_processor.proto
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ message TraceProcessorRpc {
TPM_REGISTER_SQL_PACKAGE = 13;
TPM_ANALYZE_STRUCTURED_QUERY = 14;
TPM_SUMMARIZE_TRACE = 15;
TPM_SET_TRACE_TITLE = 16;
}

oneof type {
Expand Down Expand Up @@ -147,6 +148,8 @@ message TraceProcessorRpc {
AnalyzeStructuredQueryArgs analyze_structured_query_args = 109;
// For TPM_SUMMARIZE_TRACE.
TraceSummaryArgs trace_summary_args = 110;
// For TPM_SET_TRACE_TITLE.
SetTraceTitleArgs set_trace_title_args = 111;

// TraceProcessorMethod response args.
// For TPM_APPEND_TRACE_DATA.
Expand Down Expand Up @@ -257,9 +260,11 @@ message StatusArgs {}

// Output for the /status endpoint.
message StatusResult {
// If present and not empty, a trace is already loaded already. This happens
// when using the HTTP+RPC mode nad passing a trace file to the shell, via
// trace_processor_shell -D trace_file.pftrace .
// If present and not empty, a trace is already loaded already in one or more
// trace processors. This happens when using the HTTP+RPC mode and passing a
// trace file to the shell, via trace_processor_shell -D trace_file.pftrace .

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: remove the .

// or opening a trace processor in a separate
// get_thread_state_summary_for_interval
Comment thread
WangJialin547 marked this conversation as resolved.
Resolved
optional string loaded_trace_name = 1;

// Typically something like "v11.0.123", but could be just "v11" or "unknown",
Expand Down Expand Up @@ -358,6 +363,10 @@ message ResetTraceProcessorArgs {
optional ParsingMode parsing_mode = 5;
}

message SetTraceTitleArgs {
required string title = 1;
}

message RegisterSqlPackageArgs {
message Module {
optional string name = 1;
Expand Down Expand Up @@ -414,3 +423,23 @@ message TraceSummaryResult {
}
optional string error = 3;
}

// Request message for the /status/all endpoint
message StatusAllArgs {}

// Individual status entry for a specific trace processor
// Contains both the UUID identifier and the actual status
message TraceProcessorStatus {
// UUID of the trace processor ("default" for global/default processor)
optional string uuid = 1;

// Status information for this trace processor
optional StatusResult status = 2;
}

// Response message for the /status/all endpoint
// Contains status information for all available trace processors
message StatusAllResult {
// List of all trace processor statuses
repeated TraceProcessorStatus trace_processor_statuses = 1;
}
Loading