profile-viewer 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. checksums.yaml +7 -0
  2. data/dist/022efb839d22fa54a716.svg +28 -0
  3. data/dist/0c510afd6169a0a83f97.svg +14 -0
  4. data/dist/0d5cf282780cd1a5ec64.svg +8 -0
  5. data/dist/119.cc58ce313e67f80f50f3.bundle.js +2 -0
  6. data/dist/119.cc58ce313e67f80f50f3.bundle.js.map +1 -0
  7. data/dist/11c5dca6d97c9e10e5b7.svg +9 -0
  8. data/dist/131.c21d348572deab4ece66.bundle.js +2 -0
  9. data/dist/131.c21d348572deab4ece66.bundle.js.map +1 -0
  10. data/dist/18e7fdd45099134897d2.svg +8 -0
  11. data/dist/2d4b477bc424d35a0245.svg +25 -0
  12. data/dist/2e43ad991eb141fc017f.svg +9 -0
  13. data/dist/2ea5b50b7361e6de561c.svg +11 -0
  14. data/dist/308.4d236ce7e6451807cb54.bundle.js +2 -0
  15. data/dist/308.4d236ce7e6451807cb54.bundle.js.map +1 -0
  16. data/dist/31fe933f3a12be1aa7f3.svg +4 -0
  17. data/dist/390aa266f451c1005f61.svg +10 -0
  18. data/dist/3c3fda7c08bcc9544c64.svg +6 -0
  19. data/dist/4260d5db8309a6f83637.svg +10 -0
  20. data/dist/4536fd0738f36c3463bc.svg +1 -0
  21. data/dist/490065792b7e903c9f3e.svg +6 -0
  22. data/dist/49da6a2153f62ef73d17.svg +7 -0
  23. data/dist/4d26f0e38c22eedde178.jpg +0 -0
  24. data/dist/4ecb077d8715f89c0f87.svg +13 -0
  25. data/dist/524e896f487119a0b832.svg +13 -0
  26. data/dist/58c5415e952fb6dddd6b.png +0 -0
  27. data/dist/6bd0589a27236471fdab.svg +4 -0
  28. data/dist/6c6b49af3a86dfdd44e6.svg +4 -0
  29. data/dist/6c8063be3afa1d95c902.svg +3 -0
  30. data/dist/71730566d6c47ffdc965.svg +12 -0
  31. data/dist/7273fadce89da05535e5.svg +4 -0
  32. data/dist/731673c749e57bf6f544.svg +13 -0
  33. data/dist/76e5b29823c9fd62d90d.svg +3 -0
  34. data/dist/7853c71223701f30d495.svg +19 -0
  35. data/dist/79856ce399cb305fafb8.svg +19 -0
  36. data/dist/79eaad4fc0c398100809.svg +6 -0
  37. data/dist/7c7ac3c7df370340cfd2.svg +7 -0
  38. data/dist/7e3ac9afb25cfe809520.svg +1 -0
  39. data/dist/81762b0b1aacd3686a6b.svg +12 -0
  40. data/dist/86e81402ef76d28ff55f.svg +15 -0
  41. data/dist/8aae7b979b04407f71a4.svg +3 -0
  42. data/dist/8b8b909e42722172d494.svg +7 -0
  43. data/dist/8dab2a6ba757bcc6e9a5.svg +3 -0
  44. data/dist/9.071a712ea648c8b30416.bundle.js +2 -0
  45. data/dist/9.071a712ea648c8b30416.bundle.js.map +1 -0
  46. data/dist/9103e94f1d34c15d44be.svg +6 -0
  47. data/dist/914.b9bc213d93173ce6b0cb.bundle.js +2 -0
  48. data/dist/914.b9bc213d93173ce6b0cb.bundle.js.map +1 -0
  49. data/dist/9a7bd6ec36312a2baa7e.svg +1 -0
  50. data/dist/9d858d1a3ab57f8ee2e1.svg +4 -0
  51. data/dist/9eb1fab2684d1e1f0e26.svg +13 -0
  52. data/dist/_headers +37 -0
  53. data/dist/_redirects +2 -0
  54. data/dist/a3196e840709b18a3119.svg +1 -0
  55. data/dist/aa867391c311267af5a9.svg +4 -0
  56. data/dist/acb8393f3fb9c59b15c9.svg +20 -0
  57. data/dist/ad13da76642d8099fe70.module.wasm +0 -0
  58. data/dist/b45b29da558efa211628.jpg +0 -0
  59. data/dist/b5698a02eef37ce29146.svg +10 -0
  60. data/dist/b805360fcc91834556c9.svg +4 -0
  61. data/dist/before-load.js +1 -0
  62. data/dist/c3432220f657733ed05f.svg +10 -0
  63. data/dist/ca2af827049e9039ef9c.svg +8 -0
  64. data/dist/contribute.json +37 -0
  65. data/dist/d09537c705fb0878eb63.svg +4 -0
  66. data/dist/d9c199b3e3e469cc5713.svg +10 -0
  67. data/dist/da1f21c60c7217745dd8.svg +1 -0
  68. data/dist/docs/README.md +7 -0
  69. data/dist/docs/_navbar.md +3 -0
  70. data/dist/docs/_sidebar.md +27 -0
  71. data/dist/docs/advanced-topics.md +9 -0
  72. data/dist/docs/bunny-2.md +78 -0
  73. data/dist/docs/bunny.md +281 -0
  74. data/dist/docs/case-studies.md +5 -0
  75. data/dist/docs/css/style-overrides.css +160 -0
  76. data/dist/docs/css/vue_v4.12.2.min.css +858 -0
  77. data/dist/docs/gitpod.md +39 -0
  78. data/dist/docs/guide-android-profiling.md +46 -0
  79. data/dist/docs/guide-filtering-call-trees.md +87 -0
  80. data/dist/docs/guide-getting-started.md +115 -0
  81. data/dist/docs/guide-perf-profiling.md +76 -0
  82. data/dist/docs/guide-profiler-fundamentals.md +33 -0
  83. data/dist/docs/guide-profiling-android-directly-on-device.md +34 -0
  84. data/dist/docs/guide-profiling-firefox-android.md +7 -0
  85. data/dist/docs/guide-remote-profiling.md +90 -0
  86. data/dist/docs/guide-removing-profiler.md +4 -0
  87. data/dist/docs/guide-stack-samples-and-call-trees.md +57 -0
  88. data/dist/docs/guide-startup-shutdown.md +108 -0
  89. data/dist/docs/guide-ui-tour-panels.md +95 -0
  90. data/dist/docs/guide-ui-tour-timeline.md +76 -0
  91. data/dist/docs/images/about-debugging-remote-profiling-panel.png +0 -0
  92. data/dist/docs/images/about-debugging-remote.png +0 -0
  93. data/dist/docs/images/about-url.png +0 -0
  94. data/dist/docs/images/allocation-calltree-2019-12-11.png +0 -0
  95. data/dist/docs/images/allocation-feature.png +0 -0
  96. data/dist/docs/images/allocation-flame-graph-2019-12-11.png +0 -0
  97. data/dist/docs/images/allocation-js.png +0 -0
  98. data/dist/docs/images/allocation-track.png +0 -0
  99. data/dist/docs/images/bunny-analysis/bunny.png +0 -0
  100. data/dist/docs/images/bunny-analysis/clone-flame-content.png +0 -0
  101. data/dist/docs/images/bunny-analysis/clone-flame-worker.png +0 -0
  102. data/dist/docs/images/bunny-analysis/clone-thread-list.png +0 -0
  103. data/dist/docs/images/bunny-analysis/fillstyle-thread-list-measure.png +0 -0
  104. data/dist/docs/images/bunny-analysis/fillstyle-thread-list.png +0 -0
  105. data/dist/docs/images/bunny-analysis/flame-graph-content.png +0 -0
  106. data/dist/docs/images/bunny-analysis/flame-graph-set-fillstyle.png +0 -0
  107. data/dist/docs/images/bunny-analysis/flame-graph-worker.png +0 -0
  108. data/dist/docs/images/bunny-analysis/focus-subtree.png +0 -0
  109. data/dist/docs/images/bunny-analysis/threads-list-measure.png +0 -0
  110. data/dist/docs/images/bunny-analysis/threads-list.png +0 -0
  111. data/dist/docs/images/bunny-analysis/threads-parallel.png +0 -0
  112. data/dist/docs/images/bunny-analysis/threads-sync.png +0 -0
  113. data/dist/docs/images/bunny-analysis/threads-work-parallel.png +0 -0
  114. data/dist/docs/images/bunny-analysis/threads-work-sync.png +0 -0
  115. data/dist/docs/images/call-tree-running-time.svg +82 -0
  116. data/dist/docs/images/call-tree-self-time.svg +82 -0
  117. data/dist/docs/images/call-tree.svg +131 -0
  118. data/dist/docs/images/favicon.svg +4 -0
  119. data/dist/docs/images/filter-search.svg +78 -0
  120. data/dist/docs/images/getting-started-delete-profile.png +0 -0
  121. data/dist/docs/images/getting-started-devtools-panel.png +0 -0
  122. data/dist/docs/images/getting-started-enable-popup.png +0 -0
  123. data/dist/docs/images/getting-started-list-uploaded-profiles.png +0 -0
  124. data/dist/docs/images/getting-started-naming-profiles.png +0 -0
  125. data/dist/docs/images/getting-started-popup.png +0 -0
  126. data/dist/docs/images/getting-started-upload-permalink.webm +0 -0
  127. data/dist/docs/images/getting-started-upload.png +0 -0
  128. data/dist/docs/images/getting-started-use-icon.webm +0 -0
  129. data/dist/docs/images/getting-started-use-popup.webm +0 -0
  130. data/dist/docs/images/implementation-2022-06-16.png +0 -0
  131. data/dist/docs/images/implementation-filter.svg +101 -0
  132. data/dist/docs/images/interval-2020-05.png +0 -0
  133. data/dist/docs/images/invert-2022-06-16.png +0 -0
  134. data/dist/docs/images/invert-after.svg +161 -0
  135. data/dist/docs/images/invert-before.svg +144 -0
  136. data/dist/docs/images/invert-call-tree.svg +113 -0
  137. data/dist/docs/images/ipc-messages-feature.png +0 -0
  138. data/dist/docs/images/ipc-messages-io-threads.png +0 -0
  139. data/dist/docs/images/ipc-messages-popup.png +0 -0
  140. data/dist/docs/images/popup.png +0 -0
  141. data/dist/docs/images/qr-gve-nightly.gif +0 -0
  142. data/dist/docs/images/qr-reference-browser-nightly.gif +0 -0
  143. data/dist/docs/images/samples.svg +116 -0
  144. data/dist/docs/images/screenshot-2022-04-25.png +0 -0
  145. data/dist/docs/images/search-2022-06-16.png +0 -0
  146. data/dist/docs/images/secret-menu-toast.png +0 -0
  147. data/dist/docs/images/settings-menu.png +0 -0
  148. data/dist/docs/images/simple-call-tree-self-time.svg +41 -0
  149. data/dist/docs/images/simple-call-tree.svg +41 -0
  150. data/dist/docs/images/simple-stacks-self-time.svg +96 -0
  151. data/dist/docs/images/simple-stacks.svg +118 -0
  152. data/dist/docs/images/start-profiler.png +0 -0
  153. data/dist/docs/images/transform-collapse-direct-recursion.svg +47 -0
  154. data/dist/docs/images/transform-collapse-resource.svg +83 -0
  155. data/dist/docs/images/transform-focus-function.svg +81 -0
  156. data/dist/docs/images/transform-focus-node.svg +86 -0
  157. data/dist/docs/images/transform-merge-function.svg +95 -0
  158. data/dist/docs/images/transform-merge-node.svg +96 -0
  159. data/dist/docs/images/transforms-2022-06-16.png +0 -0
  160. data/dist/docs/images/ui-tour-activity-graph.png +0 -0
  161. data/dist/docs/images/ui-tour-panels-call-tree.png +0 -0
  162. data/dist/docs/images/ui-tour-panels-flame-graph.png +0 -0
  163. data/dist/docs/images/ui-tour-panels-marker-chart.png +0 -0
  164. data/dist/docs/images/ui-tour-panels-network-chart.png +0 -0
  165. data/dist/docs/images/ui-tour-panels-stack-chart.png +0 -0
  166. data/dist/docs/images/ui-tour-panels.png +0 -0
  167. data/dist/docs/images/ui-tour-ranges.png +0 -0
  168. data/dist/docs/images/ui-tour-selection.webm +0 -0
  169. data/dist/docs/images/ui-tour-timeline-markers.png +0 -0
  170. data/dist/docs/images/ui-tour-timeline-memory.png +0 -0
  171. data/dist/docs/images/ui-tour-timeline-network.png +0 -0
  172. data/dist/docs/images/ui-tour-timeline-screenshots.png +0 -0
  173. data/dist/docs/images/ui-tour-timeline-track-selection.png +0 -0
  174. data/dist/docs/images/ui-tour-timeline.png +0 -0
  175. data/dist/docs/index.html +21 -0
  176. data/dist/docs/ipc-messages.md +44 -0
  177. data/dist/docs/js/docsify_v4.12.2+.min.js +1 -0
  178. data/dist/docs/js/ga_v4.12.2.min.js +1 -0
  179. data/dist/docs/js/init.js +1 -0
  180. data/dist/docs/js/search_v4.12.2.min.js +1 -0
  181. data/dist/docs/memory-allocations.md +70 -0
  182. data/dist/docs/videos-call-tree-1.md +5 -0
  183. data/dist/docs/videos-call-tree-2.md +5 -0
  184. data/dist/docs/videos-call-tree-3.md +5 -0
  185. data/dist/docs/videos-intro.md +7 -0
  186. data/dist/docs/videos-samples-markers.md +5 -0
  187. data/dist/docs/videos-threads.md +5 -0
  188. data/dist/docs/videos.md +32 -0
  189. data/dist/e4ed50222911c5af9a32.svg +12 -0
  190. data/dist/e70722c0fe0ac3d4227b.svg +10 -0
  191. data/dist/f0599659345cf76717cd.svg +4 -0
  192. data/dist/f8e25c2ebeb0a0725a9e.svg +12 -0
  193. data/dist/favicon.png +0 -0
  194. data/dist/fcb532a05dd4b09c2d08.svg +10 -0
  195. data/dist/fd040fb5f4e7a515bb3c.svg +15 -0
  196. data/dist/index.html +1 -0
  197. data/dist/locales/README.md +26 -0
  198. data/dist/locales/be/app.ftl +1003 -0
  199. data/dist/locales/de/app.ftl +994 -0
  200. data/dist/locales/el/app.ftl +1013 -0
  201. data/dist/locales/en-GB/app.ftl +1018 -0
  202. data/dist/locales/en-US/app.ftl +1125 -0
  203. data/dist/locales/es-CL/app.ftl +948 -0
  204. data/dist/locales/fr/app.ftl +942 -0
  205. data/dist/locales/fy-NL/app.ftl +1018 -0
  206. data/dist/locales/ia/app.ftl +1007 -0
  207. data/dist/locales/it/app.ftl +936 -0
  208. data/dist/locales/kab/app.ftl +557 -0
  209. data/dist/locales/nl/app.ftl +1018 -0
  210. data/dist/locales/pt-BR/app.ftl +947 -0
  211. data/dist/locales/ru/app.ftl +1032 -0
  212. data/dist/locales/sv-SE/app.ftl +1013 -0
  213. data/dist/locales/uk/app.ftl +1019 -0
  214. data/dist/locales/zh-CN/app.ftl +931 -0
  215. data/dist/locales/zh-TW/app.ftl +930 -0
  216. data/dist/main.8208fda2d35ddbe38d55.bundle.js +199 -0
  217. data/dist/main.8208fda2d35ddbe38d55.bundle.js.LICENSE.txt +92 -0
  218. data/dist/main.8208fda2d35ddbe38d55.bundle.js.map +1 -0
  219. data/dist/photon/31fe933f3a12be1aa7f3.svg +4 -0
  220. data/dist/photon/49da6a2153f62ef73d17.svg +7 -0
  221. data/dist/photon/6bd0589a27236471fdab.svg +4 -0
  222. data/dist/photon/6c8063be3afa1d95c902.svg +3 -0
  223. data/dist/photon/76e5b29823c9fd62d90d.svg +3 -0
  224. data/dist/photon/8aae7b979b04407f71a4.svg +3 -0
  225. data/dist/photon/8dab2a6ba757bcc6e9a5.svg +3 -0
  226. data/dist/photon/9103e94f1d34c15d44be.svg +6 -0
  227. data/dist/photon/aa867391c311267af5a9.svg +4 -0
  228. data/dist/photon/f0599659345cf76717cd.svg +4 -0
  229. data/dist/photon/index.html +214 -0
  230. data/dist/photon/main.8c8260452e7439ec6df9.bundle.js +2 -0
  231. data/dist/photon/main.8c8260452e7439ec6df9.bundle.js.map +1 -0
  232. data/dist/service-worker-compat.js +1 -0
  233. data/dist/sw.js +2 -0
  234. data/dist/sw.js.map +1 -0
  235. data/dist/workbox-27b29e6f.js +2 -0
  236. data/dist/workbox-27b29e6f.js.map +1 -0
  237. data/dist/zee-worker.js +1 -0
  238. data/ruby-bin/profile-viewer +87 -0
  239. metadata +281 -0
@@ -0,0 +1,96 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="410" height="328" viewBox="0 0 410 328">
2
+ <g fill="none" fill-rule="evenodd">
3
+ <text fill="#FF0039" font-family="Helvetica-Bold, Helvetica" font-size="17" font-weight="bold">
4
+ <tspan x="175.965" y="67">Merge</tspan> <tspan x="171.25" y="87">Node C</tspan>
5
+ </text>
6
+ <path fill="#FF0039" stroke="#FF0039" stroke-linecap="square" stroke-width="3" d="M163.5 37.5L238.506666 37.5M238.506666 37.5L227.706666 34.5 227.706666 40.5 238.506666 37.5z"/>
7
+ <g transform="translate(22 24)">
8
+ <ellipse cx="42" cy="141.5" stroke="#FF0039" stroke-width="3" rx="19" ry="19.5"/>
9
+ <ellipse cx="70" cy="77.5" stroke="#0A84FF" stroke-width="3" rx="19" ry="19.5"/>
10
+ <path fill="#4A4A4A" stroke="#4A4A4A" stroke-linecap="square" d="M69.5 27.5L69.5 62.5M69.5 62.5L72.5 51.7 66.5 51.7 69.5 62.5zM13.5 219.5L13.5 254.5M13.5 254.5L16.5 243.7 10.5 243.7 13.5 254.5zM70.5 219.5L70.5 254.5M70.5 254.5L73.5 243.7 67.5 243.7 70.5 254.5zM70.5 76.5L48.5 128.5M48.5 128.5L55.4710137 119.722474 49.9452101 117.384634 48.5 128.5zM42.5 139.5L20.5 191.5M20.5 191.5L27.4710137 182.722474 21.9452101 180.384634 20.5 191.5z"/>
11
+ <path fill="#4A4A4A" stroke="#4A4A4A" stroke-linecap="square" d="M91.5,76.5 L69.5,128.5" transform="matrix(-1 0 0 1 161 0)"/>
12
+ <path fill="#4A4A4A" stroke="#4A4A4A" stroke-linecap="square" d="M69.5,128.5 L76.4710137,119.722474 L70.9452101,117.384634 L69.5,128.5 Z"/>
13
+ <path fill="#4A4A4A" stroke="#4A4A4A" stroke-linecap="square" d="M63.5,139.5 L41.5,191.5" transform="matrix(-1 0 0 1 105 0)"/>
14
+ <path fill="#4A4A4A" stroke="#4A4A4A" stroke-linecap="square" d="M41.5,191.5 L48.4710137,182.722474 L42.9452101,180.384634 L41.5,191.5 Z"/>
15
+ <path fill="#4A4A4A" stroke="#4A4A4A" stroke-linecap="square" d="M119.5,139.5 L97.5,191.5" transform="matrix(-1 0 0 1 217 0)"/>
16
+ <path fill="#4A4A4A" stroke="#4A4A4A" stroke-linecap="square" d="M97.5,191.5 L104.471014,182.722474 L98.9452101,180.384634 L97.5,191.5 Z"/>
17
+ <circle cx="70" cy="14" r="14" fill="#D7D7DB" stroke="#737373"/>
18
+ <circle cx="70" cy="78" r="14" fill="#D7D7DB" stroke="#737373"/>
19
+ <circle cx="42" cy="142" r="14" fill="#D7D7DB" stroke="#737373"/>
20
+ <circle cx="14" cy="206" r="14" fill="#D7D7DB" stroke="#737373"/>
21
+ <circle cx="70" cy="206" r="14" fill="#D7D7DB" stroke="#737373"/>
22
+ <circle cx="70" cy="270" r="14" fill="#D7D7DB" stroke="#737373"/>
23
+ <circle cx="14" cy="270" r="14" fill="#D7D7DB" stroke="#737373"/>
24
+ <circle cx="98" cy="142" r="14" fill="#D7D7DB" stroke="#737373"/>
25
+ <circle cx="126" cy="206" r="14" fill="#D7D7DB" stroke="#737373"/>
26
+ <text fill="#000" font-family="Helvetica" font-size="17">
27
+ <tspan x="64.331" y="19">A</tspan>
28
+ </text>
29
+ <text fill="#000" font-family="Helvetica" font-size="17">
30
+ <tspan x="64.331" y="83">B</tspan>
31
+ </text>
32
+ <text fill="#000" font-family="Helvetica" font-size="17">
33
+ <tspan x="35.862" y="147">C</tspan>
34
+ </text>
35
+ <text fill="#000" font-family="Helvetica" font-size="17">
36
+ <tspan x="7.862" y="211">D</tspan>
37
+ </text>
38
+ <text fill="#000" font-family="Helvetica" font-size="17">
39
+ <tspan x="64.808" y="211">F</tspan>
40
+ </text>
41
+ <text fill="#000" font-family="Helvetica" font-size="17">
42
+ <tspan x="63.388" y="275">G</tspan>
43
+ </text>
44
+ <text fill="#000" font-family="Helvetica" font-size="17">
45
+ <tspan x="8.331" y="275">E</tspan>
46
+ </text>
47
+ <text fill="#000" font-family="Helvetica" font-size="17">
48
+ <tspan x="91.862" y="147">H</tspan>
49
+ </text>
50
+ <text fill="#000" font-family="Helvetica" font-size="17">
51
+ <tspan x="119.862" y="211">C</tspan>
52
+ </text>
53
+ <path fill="#FF0039" stroke="#FF0039" stroke-linecap="square" stroke-width="2" d="M43.5 121.5L55 98M55 98L47.5581789 106.382082 52.9474792 109.019399 55 98z"/>
54
+ </g>
55
+ <g transform="translate(242 24)">
56
+ <ellipse cx="70" cy="77.5" stroke="#0A84FF" stroke-width="3" rx="19" ry="19.5"/>
57
+ <path fill="#4A4A4A" stroke="#4A4A4A" stroke-linecap="square" d="M69.5 27.5L69.5 62.5M69.5 62.5L72.5 51.7 66.5 51.7 69.5 62.5zM13.5 169.5L13.5 204.5M13.5 204.5L16.5 193.7 10.5 193.7 13.5 204.5zM70.5 169.5L70.5 204.5M70.5 204.5L73.5 193.7 67.5 193.7 70.5 204.5zM126.5 169.5L126.5 204.5M126.5 204.5L129.5 193.7 123.5 193.7 126.5 204.5zM66.5 81.5L20.5 141.5M20.5 141.5L29.4518798 134.754346 24.6902416 131.103757 20.5 141.5z"/>
58
+ <path fill="#4A4A4A" stroke="#4A4A4A" stroke-linecap="square" d="M69.5,92.5 L69.5,140.5" transform="matrix(-1 0 0 1 139 0)"/>
59
+ <path fill="#4A4A4A" stroke="#4A4A4A" stroke-linecap="square" d="M69.5,140.5 L72.5,129.7 L66.5,129.7 L69.5,140.5 Z"/>
60
+ <path fill="#4A4A4A" stroke="#4A4A4A" stroke-linecap="square" d="M119.5,81.5 L73.5,141.5" transform="matrix(-1 0 0 1 193 0)"/>
61
+ <path fill="#4A4A4A" stroke="#4A4A4A" stroke-linecap="square" d="M73.5,141.5 L82.4518798,134.754346 L77.6902416,131.103757 L73.5,141.5 Z"/>
62
+ <circle cx="70" cy="14" r="14" fill="#D7D7DB" stroke="#737373"/>
63
+ <circle cx="70" cy="78" r="14" fill="#D7D7DB" stroke="#737373"/>
64
+ <circle cx="14" cy="156" r="14" fill="#D7D7DB" stroke="#737373"/>
65
+ <circle cx="70" cy="156" r="14" fill="#D7D7DB" stroke="#737373"/>
66
+ <circle cx="70" cy="220" r="14" fill="#D7D7DB" stroke="#737373"/>
67
+ <circle cx="126" cy="219" r="14" fill="#D7D7DB" stroke="#737373"/>
68
+ <circle cx="14" cy="220" r="14" fill="#D7D7DB" stroke="#737373"/>
69
+ <circle cx="126" cy="156" r="14" fill="#D7D7DB" stroke="#737373"/>
70
+ <text fill="#000" font-family="Helvetica" font-size="17">
71
+ <tspan x="64.331" y="19">A</tspan>
72
+ </text>
73
+ <text fill="#000" font-family="Helvetica" font-size="17">
74
+ <tspan x="64.331" y="83">B</tspan>
75
+ </text>
76
+ <text fill="#000" font-family="Helvetica" font-size="17">
77
+ <tspan x="7.862" y="161">D</tspan>
78
+ </text>
79
+ <text fill="#000" font-family="Helvetica" font-size="17">
80
+ <tspan x="64.808" y="161">F</tspan>
81
+ </text>
82
+ <text fill="#000" font-family="Helvetica" font-size="17">
83
+ <tspan x="63.388" y="225">G</tspan>
84
+ </text>
85
+ <text fill="#000" font-family="Helvetica" font-size="17">
86
+ <tspan x="119.862" y="224">C</tspan>
87
+ </text>
88
+ <text fill="#000" font-family="Helvetica" font-size="17">
89
+ <tspan x="8.331" y="225">E</tspan>
90
+ </text>
91
+ <text fill="#000" font-family="Helvetica" font-size="17">
92
+ <tspan x="119.862" y="161">H</tspan>
93
+ </text>
94
+ </g>
95
+ </g>
96
+ </svg>
Binary file
Binary file
@@ -0,0 +1,21 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <title>Firefox Profiler - Documentation</title>
6
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
7
+ <meta name="description" content="Documentation related to the Firefox Profiler, a tool to record and visualize profile.">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1">
9
+ <link rel="stylesheet" href="css/vue_v4.12.2.min.css">
10
+ <link rel="stylesheet" href="css/style-overrides.css">
11
+ </head>
12
+ <body>
13
+ <div id="app"></div>
14
+ <script src='js/init.js'></script>
15
+ <!-- This includes a fix in docsify for pages with more than 1 video.
16
+ See https://github.com/docsifyjs/docsify/pull/1824 -->
17
+ <script src="js/docsify_v4.12.2+.min.js"></script>
18
+ <script src="js/ga_v4.12.2.min.js"></script>
19
+ <script src="js/search_v4.12.2.min.js"></script>
20
+ </body>
21
+ </html>
@@ -0,0 +1,44 @@
1
+ # IPC Messages
2
+
3
+ The Firefox Profiler supports recording IPC messages for any actively-profiled
4
+ thread. During profiling, each IPC message is recorded with 5 events:
5
+
6
+ 1. When the `SendXXX` function is called on the origin thread
7
+ 2. When the sender's IO thread begins sending bytes over the IPC channel
8
+ 3. When the sender's IO thread finishes sending bytes over the IPC channel
9
+ 4. When the recipient's IO thread finishes receiving bytes from the IPC channel
10
+ 5. When the `RecvXXX` function is called on the destination thread
11
+
12
+ ## IPC Track
13
+
14
+ After collecting a profile with IPC messages, there will be a new track in the
15
+ timeline showing the outgoing (blue) and incoming (purple) IPC messages.
16
+ Hovering over a marker for an IPC message will provide more details about it:
17
+
18
+ ![A screenshot of the popup UI for an IPC message.](images/ipc-messages-popup.png)
19
+
20
+ Each IPC message has several durations associated with it, corresponding to the
21
+ spans of time between consecutive IPC message phases as described above:
22
+
23
+ * *Send thread latency*: the time between `SendXXX` being called and the first
24
+ byte sent over the IPC channel
25
+ * *IPC send duration*: the time taken to send all the bytes over the IPC channel
26
+ * *IPC recv latency*: the time between the last byte being sent over the IPC
27
+ channel and the last byte being *received*
28
+ * *Recv thread latency*: the time between the last byte being received from the
29
+ IPC channel and the `RecvXXX` function being called
30
+
31
+ ## Enabling the Feature
32
+
33
+ In `about:profiling`, scroll down to the `Features` section and enable the
34
+ `IPC Messages` checkbox.
35
+
36
+ ![A screenshot of the UI to turn on IPC messages.](images/ipc-messages-feature.png)
37
+
38
+ ### Profiling the IO Threads
39
+
40
+ By default, the sender's and recipient's IO threads aren't included in a
41
+ profile. To include these, add `Gecko_IOThread` and `Chrome_ChildThread` to the
42
+ list of threads to be profiled.
43
+
44
+ ![A screenshot of the UI to profile the IO threads](images/ipc-messages-io-threads.png)