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,87 @@
1
+ #!/usr/bin/env ruby -w
2
+
3
+ require "webrick"
4
+ require "json"
5
+ require "cgi"
6
+
7
+ root = File.expand_path File.join(__dir__, "..")
8
+ HTTP_ROOT = File.expand_path File.join(__dir__, "..", "dist")
9
+
10
+ # This came from src/app-logic/constants.js
11
+ # export const PROFILER_SERVER_ORIGIN = 'http://localhost:5252';
12
+ PORT = 5252
13
+
14
+ server = WEBrick::HTTPServer.new :Port => PORT,
15
+ :DocumentRoot => HTTP_ROOT,
16
+ :StartCallback => lambda {
17
+ should_get = "http://localhost:#{PORT}/from-url/" + CGI.escape("http://localhost:#{PORT}/profile")
18
+ system("open #{should_get}")
19
+ }
20
+
21
+ class Source < WEBrick::HTTPServlet::AbstractServlet
22
+ def initialize server, valid_files
23
+ super(server)
24
+ @valid_files = valid_files
25
+ end
26
+
27
+ def do_GET request, response
28
+ file = request.path[/(?<=^\/source).*/]
29
+ if @valid_files.include? file
30
+ response.status = 200
31
+ response['Content-Type'] = 'text/plain'
32
+ response.body = File.binread(file)
33
+ else
34
+ response.status = 404
35
+ response['Content-Type'] = 'text/plain'
36
+ response.body = "Not Found"
37
+ end
38
+ end
39
+ end
40
+
41
+ class GetIndex < WEBrick::HTTPServlet::AbstractServlet
42
+ def do_GET request, response
43
+ response.status = 200
44
+ response['Content-Type'] = 'text/html'
45
+ response.body = File.binread(File.join(HTTP_ROOT, "index.html"))
46
+ end
47
+ end
48
+
49
+ class Profile < WEBrick::HTTPServlet::AbstractServlet
50
+ def initialize server, profile, parsed_profile
51
+ super(server)
52
+ @profile = profile
53
+ @parsed_profile = parsed_profile
54
+ end
55
+
56
+ def do_GET request, response
57
+ response.status = 200
58
+ response['Content-Type'] = 'text/html'
59
+ response.body = JSON.dump(@parsed_profile)
60
+ end
61
+ end
62
+
63
+ trap 'INT' do server.shutdown end
64
+
65
+ server.mount "/from-url", GetIndex
66
+
67
+ profile = ARGV[0]
68
+ if profile
69
+ valid_files = Set.new
70
+ full_path = File.expand_path profile
71
+ parsed_file = JSON.parse File.read full_path
72
+ parsed_file["threads"].each do |thread|
73
+ thread["stringArray"].map! do |str|
74
+ if str.start_with?("/") && File.exist?(str)
75
+ valid_files << str
76
+ "http://localhost:#{PORT}/source#{str}"
77
+ else
78
+ str
79
+ end
80
+ end
81
+ end
82
+
83
+ server.mount "/profile", Profile, full_path, parsed_file
84
+ server.mount "/source", Source, valid_files
85
+ end
86
+
87
+ server.start
metadata ADDED
@@ -0,0 +1,281 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: profile-viewer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Aaron Patterson
8
+ autorequire:
9
+ bindir: ruby-bin
10
+ cert_chain: []
11
+ date: 2023-08-11 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: This gem packages the Mozilla Profiler so that you can run it locally
14
+ email: tenderlove@ruby-lang.org
15
+ executables:
16
+ - profile-viewer
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - dist/022efb839d22fa54a716.svg
21
+ - dist/0c510afd6169a0a83f97.svg
22
+ - dist/0d5cf282780cd1a5ec64.svg
23
+ - dist/119.cc58ce313e67f80f50f3.bundle.js
24
+ - dist/119.cc58ce313e67f80f50f3.bundle.js.map
25
+ - dist/11c5dca6d97c9e10e5b7.svg
26
+ - dist/131.c21d348572deab4ece66.bundle.js
27
+ - dist/131.c21d348572deab4ece66.bundle.js.map
28
+ - dist/18e7fdd45099134897d2.svg
29
+ - dist/2d4b477bc424d35a0245.svg
30
+ - dist/2e43ad991eb141fc017f.svg
31
+ - dist/2ea5b50b7361e6de561c.svg
32
+ - dist/308.4d236ce7e6451807cb54.bundle.js
33
+ - dist/308.4d236ce7e6451807cb54.bundle.js.map
34
+ - dist/31fe933f3a12be1aa7f3.svg
35
+ - dist/390aa266f451c1005f61.svg
36
+ - dist/3c3fda7c08bcc9544c64.svg
37
+ - dist/4260d5db8309a6f83637.svg
38
+ - dist/4536fd0738f36c3463bc.svg
39
+ - dist/490065792b7e903c9f3e.svg
40
+ - dist/49da6a2153f62ef73d17.svg
41
+ - dist/4d26f0e38c22eedde178.jpg
42
+ - dist/4ecb077d8715f89c0f87.svg
43
+ - dist/524e896f487119a0b832.svg
44
+ - dist/58c5415e952fb6dddd6b.png
45
+ - dist/6bd0589a27236471fdab.svg
46
+ - dist/6c6b49af3a86dfdd44e6.svg
47
+ - dist/6c8063be3afa1d95c902.svg
48
+ - dist/71730566d6c47ffdc965.svg
49
+ - dist/7273fadce89da05535e5.svg
50
+ - dist/731673c749e57bf6f544.svg
51
+ - dist/76e5b29823c9fd62d90d.svg
52
+ - dist/7853c71223701f30d495.svg
53
+ - dist/79856ce399cb305fafb8.svg
54
+ - dist/79eaad4fc0c398100809.svg
55
+ - dist/7c7ac3c7df370340cfd2.svg
56
+ - dist/7e3ac9afb25cfe809520.svg
57
+ - dist/81762b0b1aacd3686a6b.svg
58
+ - dist/86e81402ef76d28ff55f.svg
59
+ - dist/8aae7b979b04407f71a4.svg
60
+ - dist/8b8b909e42722172d494.svg
61
+ - dist/8dab2a6ba757bcc6e9a5.svg
62
+ - dist/9.071a712ea648c8b30416.bundle.js
63
+ - dist/9.071a712ea648c8b30416.bundle.js.map
64
+ - dist/9103e94f1d34c15d44be.svg
65
+ - dist/914.b9bc213d93173ce6b0cb.bundle.js
66
+ - dist/914.b9bc213d93173ce6b0cb.bundle.js.map
67
+ - dist/9a7bd6ec36312a2baa7e.svg
68
+ - dist/9d858d1a3ab57f8ee2e1.svg
69
+ - dist/9eb1fab2684d1e1f0e26.svg
70
+ - dist/_headers
71
+ - dist/_redirects
72
+ - dist/a3196e840709b18a3119.svg
73
+ - dist/aa867391c311267af5a9.svg
74
+ - dist/acb8393f3fb9c59b15c9.svg
75
+ - dist/ad13da76642d8099fe70.module.wasm
76
+ - dist/b45b29da558efa211628.jpg
77
+ - dist/b5698a02eef37ce29146.svg
78
+ - dist/b805360fcc91834556c9.svg
79
+ - dist/before-load.js
80
+ - dist/c3432220f657733ed05f.svg
81
+ - dist/ca2af827049e9039ef9c.svg
82
+ - dist/contribute.json
83
+ - dist/d09537c705fb0878eb63.svg
84
+ - dist/d9c199b3e3e469cc5713.svg
85
+ - dist/da1f21c60c7217745dd8.svg
86
+ - dist/docs/README.md
87
+ - dist/docs/_navbar.md
88
+ - dist/docs/_sidebar.md
89
+ - dist/docs/advanced-topics.md
90
+ - dist/docs/bunny-2.md
91
+ - dist/docs/bunny.md
92
+ - dist/docs/case-studies.md
93
+ - dist/docs/css/style-overrides.css
94
+ - dist/docs/css/vue_v4.12.2.min.css
95
+ - dist/docs/gitpod.md
96
+ - dist/docs/guide-android-profiling.md
97
+ - dist/docs/guide-filtering-call-trees.md
98
+ - dist/docs/guide-getting-started.md
99
+ - dist/docs/guide-perf-profiling.md
100
+ - dist/docs/guide-profiler-fundamentals.md
101
+ - dist/docs/guide-profiling-android-directly-on-device.md
102
+ - dist/docs/guide-profiling-firefox-android.md
103
+ - dist/docs/guide-remote-profiling.md
104
+ - dist/docs/guide-removing-profiler.md
105
+ - dist/docs/guide-stack-samples-and-call-trees.md
106
+ - dist/docs/guide-startup-shutdown.md
107
+ - dist/docs/guide-ui-tour-panels.md
108
+ - dist/docs/guide-ui-tour-timeline.md
109
+ - dist/docs/images/about-debugging-remote-profiling-panel.png
110
+ - dist/docs/images/about-debugging-remote.png
111
+ - dist/docs/images/about-url.png
112
+ - dist/docs/images/allocation-calltree-2019-12-11.png
113
+ - dist/docs/images/allocation-feature.png
114
+ - dist/docs/images/allocation-flame-graph-2019-12-11.png
115
+ - dist/docs/images/allocation-js.png
116
+ - dist/docs/images/allocation-track.png
117
+ - dist/docs/images/bunny-analysis/bunny.png
118
+ - dist/docs/images/bunny-analysis/clone-flame-content.png
119
+ - dist/docs/images/bunny-analysis/clone-flame-worker.png
120
+ - dist/docs/images/bunny-analysis/clone-thread-list.png
121
+ - dist/docs/images/bunny-analysis/fillstyle-thread-list-measure.png
122
+ - dist/docs/images/bunny-analysis/fillstyle-thread-list.png
123
+ - dist/docs/images/bunny-analysis/flame-graph-content.png
124
+ - dist/docs/images/bunny-analysis/flame-graph-set-fillstyle.png
125
+ - dist/docs/images/bunny-analysis/flame-graph-worker.png
126
+ - dist/docs/images/bunny-analysis/focus-subtree.png
127
+ - dist/docs/images/bunny-analysis/threads-list-measure.png
128
+ - dist/docs/images/bunny-analysis/threads-list.png
129
+ - dist/docs/images/bunny-analysis/threads-parallel.png
130
+ - dist/docs/images/bunny-analysis/threads-sync.png
131
+ - dist/docs/images/bunny-analysis/threads-work-parallel.png
132
+ - dist/docs/images/bunny-analysis/threads-work-sync.png
133
+ - dist/docs/images/call-tree-running-time.svg
134
+ - dist/docs/images/call-tree-self-time.svg
135
+ - dist/docs/images/call-tree.svg
136
+ - dist/docs/images/favicon.svg
137
+ - dist/docs/images/filter-search.svg
138
+ - dist/docs/images/getting-started-delete-profile.png
139
+ - dist/docs/images/getting-started-devtools-panel.png
140
+ - dist/docs/images/getting-started-enable-popup.png
141
+ - dist/docs/images/getting-started-list-uploaded-profiles.png
142
+ - dist/docs/images/getting-started-naming-profiles.png
143
+ - dist/docs/images/getting-started-popup.png
144
+ - dist/docs/images/getting-started-upload-permalink.webm
145
+ - dist/docs/images/getting-started-upload.png
146
+ - dist/docs/images/getting-started-use-icon.webm
147
+ - dist/docs/images/getting-started-use-popup.webm
148
+ - dist/docs/images/implementation-2022-06-16.png
149
+ - dist/docs/images/implementation-filter.svg
150
+ - dist/docs/images/interval-2020-05.png
151
+ - dist/docs/images/invert-2022-06-16.png
152
+ - dist/docs/images/invert-after.svg
153
+ - dist/docs/images/invert-before.svg
154
+ - dist/docs/images/invert-call-tree.svg
155
+ - dist/docs/images/ipc-messages-feature.png
156
+ - dist/docs/images/ipc-messages-io-threads.png
157
+ - dist/docs/images/ipc-messages-popup.png
158
+ - dist/docs/images/popup.png
159
+ - dist/docs/images/qr-gve-nightly.gif
160
+ - dist/docs/images/qr-reference-browser-nightly.gif
161
+ - dist/docs/images/samples.svg
162
+ - dist/docs/images/screenshot-2022-04-25.png
163
+ - dist/docs/images/search-2022-06-16.png
164
+ - dist/docs/images/secret-menu-toast.png
165
+ - dist/docs/images/settings-menu.png
166
+ - dist/docs/images/simple-call-tree-self-time.svg
167
+ - dist/docs/images/simple-call-tree.svg
168
+ - dist/docs/images/simple-stacks-self-time.svg
169
+ - dist/docs/images/simple-stacks.svg
170
+ - dist/docs/images/start-profiler.png
171
+ - dist/docs/images/transform-collapse-direct-recursion.svg
172
+ - dist/docs/images/transform-collapse-resource.svg
173
+ - dist/docs/images/transform-focus-function.svg
174
+ - dist/docs/images/transform-focus-node.svg
175
+ - dist/docs/images/transform-merge-function.svg
176
+ - dist/docs/images/transform-merge-node.svg
177
+ - dist/docs/images/transforms-2022-06-16.png
178
+ - dist/docs/images/ui-tour-activity-graph.png
179
+ - dist/docs/images/ui-tour-panels-call-tree.png
180
+ - dist/docs/images/ui-tour-panels-flame-graph.png
181
+ - dist/docs/images/ui-tour-panels-marker-chart.png
182
+ - dist/docs/images/ui-tour-panels-network-chart.png
183
+ - dist/docs/images/ui-tour-panels-stack-chart.png
184
+ - dist/docs/images/ui-tour-panels.png
185
+ - dist/docs/images/ui-tour-ranges.png
186
+ - dist/docs/images/ui-tour-selection.webm
187
+ - dist/docs/images/ui-tour-timeline-markers.png
188
+ - dist/docs/images/ui-tour-timeline-memory.png
189
+ - dist/docs/images/ui-tour-timeline-network.png
190
+ - dist/docs/images/ui-tour-timeline-screenshots.png
191
+ - dist/docs/images/ui-tour-timeline-track-selection.png
192
+ - dist/docs/images/ui-tour-timeline.png
193
+ - dist/docs/index.html
194
+ - dist/docs/ipc-messages.md
195
+ - dist/docs/js/docsify_v4.12.2+.min.js
196
+ - dist/docs/js/ga_v4.12.2.min.js
197
+ - dist/docs/js/init.js
198
+ - dist/docs/js/search_v4.12.2.min.js
199
+ - dist/docs/memory-allocations.md
200
+ - dist/docs/videos-call-tree-1.md
201
+ - dist/docs/videos-call-tree-2.md
202
+ - dist/docs/videos-call-tree-3.md
203
+ - dist/docs/videos-intro.md
204
+ - dist/docs/videos-samples-markers.md
205
+ - dist/docs/videos-threads.md
206
+ - dist/docs/videos.md
207
+ - dist/e4ed50222911c5af9a32.svg
208
+ - dist/e70722c0fe0ac3d4227b.svg
209
+ - dist/f0599659345cf76717cd.svg
210
+ - dist/f8e25c2ebeb0a0725a9e.svg
211
+ - dist/favicon.png
212
+ - dist/fcb532a05dd4b09c2d08.svg
213
+ - dist/fd040fb5f4e7a515bb3c.svg
214
+ - dist/index.html
215
+ - dist/locales/README.md
216
+ - dist/locales/be/app.ftl
217
+ - dist/locales/de/app.ftl
218
+ - dist/locales/el/app.ftl
219
+ - dist/locales/en-GB/app.ftl
220
+ - dist/locales/en-US/app.ftl
221
+ - dist/locales/es-CL/app.ftl
222
+ - dist/locales/fr/app.ftl
223
+ - dist/locales/fy-NL/app.ftl
224
+ - dist/locales/ia/app.ftl
225
+ - dist/locales/it/app.ftl
226
+ - dist/locales/kab/app.ftl
227
+ - dist/locales/nl/app.ftl
228
+ - dist/locales/pt-BR/app.ftl
229
+ - dist/locales/ru/app.ftl
230
+ - dist/locales/sv-SE/app.ftl
231
+ - dist/locales/uk/app.ftl
232
+ - dist/locales/zh-CN/app.ftl
233
+ - dist/locales/zh-TW/app.ftl
234
+ - dist/main.8208fda2d35ddbe38d55.bundle.js
235
+ - dist/main.8208fda2d35ddbe38d55.bundle.js.LICENSE.txt
236
+ - dist/main.8208fda2d35ddbe38d55.bundle.js.map
237
+ - dist/photon/31fe933f3a12be1aa7f3.svg
238
+ - dist/photon/49da6a2153f62ef73d17.svg
239
+ - dist/photon/6bd0589a27236471fdab.svg
240
+ - dist/photon/6c8063be3afa1d95c902.svg
241
+ - dist/photon/76e5b29823c9fd62d90d.svg
242
+ - dist/photon/8aae7b979b04407f71a4.svg
243
+ - dist/photon/8dab2a6ba757bcc6e9a5.svg
244
+ - dist/photon/9103e94f1d34c15d44be.svg
245
+ - dist/photon/aa867391c311267af5a9.svg
246
+ - dist/photon/f0599659345cf76717cd.svg
247
+ - dist/photon/index.html
248
+ - dist/photon/main.8c8260452e7439ec6df9.bundle.js
249
+ - dist/photon/main.8c8260452e7439ec6df9.bundle.js.map
250
+ - dist/service-worker-compat.js
251
+ - dist/sw.js
252
+ - dist/sw.js.map
253
+ - dist/workbox-27b29e6f.js
254
+ - dist/workbox-27b29e6f.js.map
255
+ - dist/zee-worker.js
256
+ - ruby-bin/profile-viewer
257
+ homepage: https://rubygems.org/gems/example
258
+ licenses:
259
+ - MPL-2.0
260
+ metadata:
261
+ source_code_uri: https://github.com/tenderlove/profiler/tree/ruby
262
+ post_install_message:
263
+ rdoc_options: []
264
+ require_paths:
265
+ - lib
266
+ required_ruby_version: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - ">="
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
271
+ required_rubygems_version: !ruby/object:Gem::Requirement
272
+ requirements:
273
+ - - ">="
274
+ - !ruby/object:Gem::Version
275
+ version: '0'
276
+ requirements: []
277
+ rubygems_version: 3.5.0.dev
278
+ signing_key:
279
+ specification_version: 4
280
+ summary: Ruby Gem that packages the Mozilla Profiler
281
+ test_files: []