Commit ca3afcc
Support for hosting Perfetto in a Theia Electron application
- enable generating .d.ts files. Some types had to be exported that
previously weren't in order for TypeScript to be able to correctly
resolve its generated type definitions
- prevent loading sidebar and other unnecessary parts of UI
- add other global flags to externally control Perfetto functionality
- support loading the trace database from a stream provided by the
host application (such as from a remote Theia backend)
- optionally copy the Perfetto CSS and WASM Engine in the build for
bundling in an Electron application
- adjust routing to work with applications that use hashes already
(such as in Theia for for opening workspaces)
- introduce routing that uses url search params and keeps existing
values for the hash that are not params
- if a new route has no page/subpage at all, don't reacting to
the route change
- allow unsafe inline CSS via configuration option (required for Theia)
- allow to control cache keys because chromium only allows to cache
http-family protocols. In Electron we have file:// however, so we may
use a prefix to fake this.
- allow file CORS origins for Electron-based applications
- ensure we preserve empty strings in URL creation
- support opening multiple traces in same Electron application by
making the port customizable on a per-AppImpl basis (using the window
URL is impractical in a Theia application)
- support multiple instantiation of Perfetto. Add an optional build step
to copy the transpiled code into the package so that it can be
installed multiple times in an application without sharing one copy
via symlink (and also because Theia's yarn build breaks the symlink
when copying the package into the node_modules/ directory)
- make @types/mithril a dev dependency
- remove unused dependencies from package.json (#65)
- explicitly define which location TS @types should be read from.
Otherwise the tsc compiler possibly finds the types in a parent's
folder node_modules/@types directory, which then causes build failures
in the host Theia/Electron application, as those files are not ignored
like the local node_modules is
- support opening Perfetto pages such as the Trace Info page in separate
subtrees of the DOM (in a Theia application, in different widget-tabs)
via a new optional ViewOpener configured in the AppImpl. Employ this
view opener in the Errors (info) button in the topbar
- Scope key handling to the viewer page so that it doesn't get key
events from other UI elements in the host Theia/Electron application
- current script is null also in a Theia application, not just tests
- fix macro redef warning in trace processor build for macOS 15.4 SDK
- fill holes in painting the overview timeline panel (evident in Theia
colour themes)
- allow embedding of the Perfetto UI via an explicit CSS class on its
main element in addition to the default DOM nesting position
- implement a means to suppress the built-in handling of trace file drop
- add to the context a prop suppressing the dialog that prompts to open
a trace already loaded in the trace_processor_shell, for applications
that manage this externally
- provide API to remove all registered error handlers. An embedding
application often has its own error handling so provide an API for
such application to remove all registered error handlers and then it
can supply its own
- return showHelp's showModal promise. This allows a host application to
track whether the help dialog is (still) showing
Co-authored-by: Johannes Faltermeier <jfaltermeier@eclipsesource.com>
Co-authored-by: Martin Fleck <mfleck@eclipsesource.com>
Co-authored-by: Warren Paul <w.paul@samsung.com>
Co-authored-by: dfriederich <109323095+dfriederich@users.noreply.github.com>
Co-authored-by: Andrew Levans <121060410+ALevansSamsung@users.noreply.github.com>
Signed-off-by: Christian W. Damus <cdamus.ext@eclipsesource.com>1 parent 6d3ea2e commit ca3afcc
File tree
137 files changed
+1443
-1033
lines changed- ui/src
- base
- components
- details
- query_table
- tracks
- widgets
- charts
- sql
- details
- pivot_table
- table
- core_plugins
- commands
- example_traces
- flags_page
- settings_page
- track_utils
- core
- frontend
- viewer_page
- plugins
- dev.perfetto.AndroidLog
- dev.perfetto.CpuFreq
- dev.perfetto.CpuProfile
- dev.perfetto.CriticalPath
- dev.perfetto.ExplorePage
- data_visualiser
- query_builder/sources
- dev.perfetto.Ftrace
- dev.perfetto.HeapProfile
- dev.perfetto.InstrumentsSamplesProfile
- dev.perfetto.LinuxPerf
- dev.perfetto.ProcessSummary
- dev.perfetto.RecordTraceV2
- adb/webusb
- config
- pages
- traced_over_websocket
- dev.perfetto.Sched
- dev.perfetto.SqlModules
- dev.perfetto.TimelineSync
- dev.perfetto.TraceMetadata
- dev.perfetto.TraceProcessorTrack
- dev.perfetto.WidgetsPage
- org.chromium.ChromeCriticalUserInteractions
- org.chromium.ChromeScrollJank
- org.chromium.OpenTableCommands
- org.kernel.SuspendResumeLatency
- public
- trace_processor
- widgets
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
137 files changed
+1443
-1033
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
22 | 24 | | |
23 | | - | |
24 | | - | |
| 25 | + | |
| 26 | + | |
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
16 | 15 | | |
17 | 16 | | |
18 | 17 | | |
| |||
72 | 71 | | |
73 | 72 | | |
74 | 73 | | |
| 74 | + | |
| 75 | + | |
75 | 76 | | |
76 | 77 | | |
77 | | - | |
| 78 | + | |
78 | 79 | | |
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
83 | 84 | | |
84 | | - | |
85 | | - | |
| 85 | + | |
| 86 | + | |
86 | 87 | | |
87 | 88 | | |
88 | 89 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| 25 | + | |
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
134 | | - | |
| 134 | + | |
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
16 | 15 | | |
| 16 | + | |
17 | 17 | | |
18 | | - | |
19 | | - | |
20 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
| 23 | + | |
25 | 24 | | |
26 | 25 | | |
27 | 26 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
82 | | - | |
| 82 | + | |
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
| 90 | + | |
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
95 | 96 | | |
96 | 97 | | |
97 | 98 | | |
98 | 99 | | |
99 | | - | |
| 100 | + | |
100 | 101 | | |
101 | 102 | | |
102 | 103 | | |
103 | | - | |
| 104 | + | |
104 | 105 | | |
105 | 106 | | |
106 | 107 | | |
107 | 108 | | |
108 | | - | |
| 109 | + | |
109 | 110 | | |
110 | 111 | | |
111 | 112 | | |
| |||
133 | 134 | | |
134 | 135 | | |
135 | 136 | | |
136 | | - | |
| 137 | + | |
137 | 138 | | |
138 | 139 | | |
139 | 140 | | |
| |||
143 | 144 | | |
144 | 145 | | |
145 | 146 | | |
146 | | - | |
| 147 | + | |
147 | 148 | | |
148 | 149 | | |
149 | 150 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
| 60 | + | |
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| |||
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
166 | | - | |
| 166 | + | |
167 | 167 | | |
168 | 168 | | |
169 | 169 | | |
| |||
251 | 251 | | |
252 | 252 | | |
253 | 253 | | |
| 254 | + | |
254 | 255 | | |
255 | 256 | | |
256 | 257 | | |
257 | 258 | | |
258 | 259 | | |
| 260 | + | |
259 | 261 | | |
260 | 262 | | |
261 | 263 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
255 | 255 | | |
256 | 256 | | |
257 | 257 | | |
258 | | - | |
259 | | - | |
| 258 | + | |
| 259 | + | |
260 | 260 | | |
261 | 261 | | |
262 | 262 | | |
| |||
272 | 272 | | |
273 | 273 | | |
274 | 274 | | |
275 | | - | |
| 275 | + | |
276 | 276 | | |
277 | 277 | | |
278 | 278 | | |
| |||
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
| 293 | + | |
293 | 294 | | |
294 | 295 | | |
295 | 296 | | |
| |||
299 | 300 | | |
300 | 301 | | |
301 | 302 | | |
| 303 | + | |
302 | 304 | | |
303 | 305 | | |
304 | 306 | | |
| |||
316 | 318 | | |
317 | 319 | | |
318 | 320 | | |
319 | | - | |
| 321 | + | |
320 | 322 | | |
321 | 323 | | |
322 | 324 | | |
| |||
334 | 336 | | |
335 | 337 | | |
336 | 338 | | |
| 339 | + | |
337 | 340 | | |
338 | 341 | | |
339 | 342 | | |
| |||
342 | 345 | | |
343 | 346 | | |
344 | 347 | | |
| 348 | + | |
345 | 349 | | |
346 | 350 | | |
347 | 351 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
116 | 117 | | |
117 | 118 | | |
118 | 119 | | |
119 | | - | |
| 120 | + | |
120 | 121 | | |
121 | | - | |
| 122 | + | |
122 | 123 | | |
123 | 124 | | |
124 | 125 | | |
125 | 126 | | |
126 | | - | |
| 127 | + | |
127 | 128 | | |
128 | 129 | | |
129 | 130 | | |
130 | 131 | | |
131 | 132 | | |
132 | 133 | | |
133 | | - | |
| 134 | + | |
134 | 135 | | |
135 | 136 | | |
136 | 137 | | |
137 | 138 | | |
138 | | - | |
| 139 | + | |
139 | 140 | | |
140 | 141 | | |
141 | 142 | | |
142 | 143 | | |
| 144 | + | |
143 | 145 | | |
144 | 146 | | |
145 | 147 | | |
| |||
149 | 151 | | |
150 | 152 | | |
151 | 153 | | |
152 | | - | |
| 154 | + | |
153 | 155 | | |
154 | 156 | | |
0 commit comments