profile-viewer 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/dist/136.4ad3301b8aacf759ea70.bundle.js +2 -0
  3. data/dist/136.4ad3301b8aacf759ea70.bundle.js.map +1 -0
  4. data/dist/171.621b9df5978342be5662.bundle.js +2 -0
  5. data/dist/171.621b9df5978342be5662.bundle.js.map +1 -0
  6. data/dist/18a5d1d99f1c65c33b71.png +0 -0
  7. data/dist/1ddbc3ce40af8c7a648b.svg +6 -0
  8. data/dist/280.b4210a48e650408000c3.bundle.js +2 -0
  9. data/dist/280.b4210a48e650408000c3.bundle.js.map +1 -0
  10. data/dist/556.2be67a37a0c61fdc2485.bundle.js +2 -0
  11. data/dist/{914.b9bc213d93173ce6b0cb.bundle.js.map → 556.2be67a37a0c61fdc2485.bundle.js.map} +1 -1
  12. data/dist/874.2a087b9b5a296a9c3fcd.bundle.js +2 -0
  13. data/dist/874.2a087b9b5a296a9c3fcd.bundle.js.map +1 -0
  14. data/dist/_headers +1 -2
  15. data/dist/contribute.json +31 -35
  16. data/dist/d6df0017c0241dfe86ff.svg +6 -0
  17. data/dist/docs/_sidebar.md +1 -0
  18. data/dist/docs/advanced-topics.md +1 -0
  19. data/dist/docs/async-posix-signal-control.md +102 -0
  20. data/dist/docs/guide-startup-shutdown.md +7 -7
  21. data/dist/docs/js/init.js +1 -1
  22. data/dist/index.html +1 -1
  23. data/dist/locales/README.md +1 -0
  24. data/dist/locales/be/app.ftl +42 -6
  25. data/dist/locales/de/app.ftl +109 -3
  26. data/dist/locales/el/app.ftl +110 -4
  27. data/dist/locales/en-CA/app.ftl +1125 -0
  28. data/dist/locales/en-GB/app.ftl +110 -4
  29. data/dist/locales/en-US/app.ftl +123 -6
  30. data/dist/locales/es-CL/app.ftl +110 -4
  31. data/dist/locales/fr/app.ftl +66 -4
  32. data/dist/locales/fur/app.ftl +1093 -0
  33. data/dist/locales/fy-NL/app.ftl +109 -3
  34. data/dist/locales/ia/app.ftl +109 -3
  35. data/dist/locales/it/app.ftl +109 -3
  36. data/dist/locales/kab/app.ftl +32 -2
  37. data/dist/locales/nl/app.ftl +110 -4
  38. data/dist/locales/pt-BR/app.ftl +111 -5
  39. data/dist/locales/ru/app.ftl +109 -3
  40. data/dist/locales/sv-SE/app.ftl +109 -3
  41. data/dist/locales/tr/app.ftl +907 -0
  42. data/dist/locales/uk/app.ftl +110 -4
  43. data/dist/locales/zh-CN/app.ftl +112 -6
  44. data/dist/locales/zh-TW/app.ftl +109 -3
  45. data/dist/main.ac7130d34ce3b872712a.bundle.js +201 -0
  46. data/dist/{main.8208fda2d35ddbe38d55.bundle.js.LICENSE.txt → main.ac7130d34ce3b872712a.bundle.js.LICENSE.txt} +1 -30
  47. data/dist/main.ac7130d34ce3b872712a.bundle.js.map +1 -0
  48. data/dist/photon/index.html +3 -2
  49. data/dist/photon/main.aafbcdad3fb08c7ae5b4.bundle.js +2 -0
  50. data/dist/photon/main.aafbcdad3fb08c7ae5b4.bundle.js.map +1 -0
  51. data/dist/robots.txt +4 -0
  52. data/dist/sw.js +1 -1
  53. data/dist/sw.js.map +1 -1
  54. data/dist/{workbox-27b29e6f.js → workbox-e3490c72.js} +2 -2
  55. data/dist/{workbox-27b29e6f.js.map → workbox-e3490c72.js.map} +1 -1
  56. data/dist/zee-worker.js +1 -1
  57. data/ruby-bin/profile-viewer +53 -16
  58. data/ruby-bin/profile-viewer-version.rb +3 -0
  59. metadata +60 -25
  60. data/dist/119.cc58ce313e67f80f50f3.bundle.js +0 -2
  61. data/dist/119.cc58ce313e67f80f50f3.bundle.js.map +0 -1
  62. data/dist/131.c21d348572deab4ece66.bundle.js +0 -2
  63. data/dist/131.c21d348572deab4ece66.bundle.js.map +0 -1
  64. data/dist/308.4d236ce7e6451807cb54.bundle.js +0 -2
  65. data/dist/308.4d236ce7e6451807cb54.bundle.js.map +0 -1
  66. data/dist/9.071a712ea648c8b30416.bundle.js +0 -2
  67. data/dist/9.071a712ea648c8b30416.bundle.js.map +0 -1
  68. data/dist/914.b9bc213d93173ce6b0cb.bundle.js +0 -2
  69. data/dist/b45b29da558efa211628.jpg +0 -0
  70. data/dist/before-load.js +0 -1
  71. data/dist/main.8208fda2d35ddbe38d55.bundle.js +0 -199
  72. data/dist/main.8208fda2d35ddbe38d55.bundle.js.map +0 -1
  73. data/dist/photon/main.8c8260452e7439ec6df9.bundle.js +0 -2
  74. data/dist/photon/main.8c8260452e7439ec6df9.bundle.js.map +0 -1
  75. /data/dist/{ad13da76642d8099fe70.module.wasm → 2f37d1addc2d2f5b699e.module.wasm} +0 -0
@@ -3,20 +3,11 @@
3
3
  require "webrick"
4
4
  require "json"
5
5
  require "cgi"
6
+ require "optparse"
7
+ require "socket"
6
8
 
7
9
  HTTP_ROOT = File.expand_path File.join(__dir__, "..", "dist")
8
10
 
9
- # This came from src/app-logic/constants.js
10
- # export const PROFILER_SERVER_ORIGIN = 'http://localhost:5252';
11
- PORT = 5252
12
-
13
- server = WEBrick::HTTPServer.new :Port => PORT,
14
- :DocumentRoot => HTTP_ROOT,
15
- :StartCallback => lambda {
16
- should_get = "http://localhost:#{PORT}/from-url/" + CGI.escape("http://localhost:#{PORT}/profile")
17
- system("open #{should_get}")
18
- }
19
-
20
11
  class Source < WEBrick::HTTPServlet::AbstractServlet
21
12
  def initialize server, valid_files
22
13
  super(server)
@@ -59,27 +50,73 @@ class Profile < WEBrick::HTTPServlet::AbstractServlet
59
50
  end
60
51
  end
61
52
 
53
+ o = OptionParser.new do |opts|
54
+ opts.banner = "Usage: profile-viewer profile.json"
55
+
56
+ opts.on("-v", "Show version") do |v|
57
+ require_relative "profile-viewer-version"
58
+ puts "Profile Viewer Version: #{ProfileViewer::VERSION}"
59
+ puts
60
+ end
61
+
62
+ opts.on_tail("-h", "--help", "Show this message") do
63
+ puts opts
64
+ exit
65
+ end
66
+ end
67
+ o.parse!
68
+
69
+ unless ARGV[0]
70
+ $stderr.puts o
71
+ exit(2)
72
+ end
73
+
74
+ unless File.exist?(ARGV[0])
75
+ $stderr.puts "no such file #{ARGV[0]}"
76
+ $stderr.puts
77
+ $stderr.puts o
78
+ exit(2)
79
+ end
80
+
81
+ port = 0
82
+ profile_paths = []
83
+ server = WEBrick::HTTPServer.new :Port => port,
84
+ :DocumentRoot => HTTP_ROOT,
85
+ :StartCallback => lambda {
86
+ port = server.config[:Port]
87
+ profile_paths.each do |path|
88
+ should_get = "http://localhost:#{port}/from-url/" + CGI.escape("http://localhost:#{port}#{path}")
89
+ system("open #{should_get}")
90
+ end
91
+ }
92
+
62
93
  trap 'INT' do server.shutdown end
63
94
 
64
95
  server.mount "/from-url", GetIndex
65
96
 
66
- profile = ARGV[0]
67
- if profile
68
- valid_files = Set.new
97
+ valid_files = Set.new
98
+
99
+ ARGV.each.with_index do |profile, index|
69
100
  full_path = File.expand_path profile
70
101
  parsed_file = JSON.parse File.read full_path
71
102
  parsed_file["threads"].each do |thread|
72
103
  thread["stringArray"].map! do |str|
73
104
  if str.start_with?("/") && File.exist?(str)
74
105
  valid_files << str
75
- "http://localhost:#{PORT}/source#{str}"
106
+ "http://localhost:#{port}/source#{str}"
76
107
  else
77
108
  str
78
109
  end
79
110
  end
80
111
  end
81
112
 
82
- server.mount "/profile", Profile, full_path, parsed_file
113
+ uri_path = "/profile#{index unless ARGV.size == 1}"
114
+ $stderr.puts "Mounting #{full_path} at #{uri_path}"
115
+ server.mount uri_path, Profile, full_path, parsed_file
116
+ profile_paths << uri_path
117
+ end
118
+
119
+ unless valid_files.empty?
83
120
  server.mount "/source", Source, valid_files
84
121
  end
85
122
 
@@ -0,0 +1,3 @@
1
+ module ProfileViewer
2
+ VERSION = "0.0.3"
3
+ end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: profile-viewer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Patterson
8
8
  autorequire:
9
9
  bindir: ruby-bin
10
10
  cert_chain: []
11
- date: 2023-08-11 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2024-12-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: webrick
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: optparse
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  description: This gem packages the Mozilla Profiler so that you can run it locally
14
42
  email: tenderlove@ruby-lang.org
15
43
  executables:
@@ -20,17 +48,20 @@ files:
20
48
  - dist/022efb839d22fa54a716.svg
21
49
  - dist/0c510afd6169a0a83f97.svg
22
50
  - dist/0d5cf282780cd1a5ec64.svg
23
- - dist/119.cc58ce313e67f80f50f3.bundle.js
24
- - dist/119.cc58ce313e67f80f50f3.bundle.js.map
25
51
  - dist/11c5dca6d97c9e10e5b7.svg
26
- - dist/131.c21d348572deab4ece66.bundle.js
27
- - dist/131.c21d348572deab4ece66.bundle.js.map
52
+ - dist/136.4ad3301b8aacf759ea70.bundle.js
53
+ - dist/136.4ad3301b8aacf759ea70.bundle.js.map
54
+ - dist/171.621b9df5978342be5662.bundle.js
55
+ - dist/171.621b9df5978342be5662.bundle.js.map
56
+ - dist/18a5d1d99f1c65c33b71.png
28
57
  - dist/18e7fdd45099134897d2.svg
58
+ - dist/1ddbc3ce40af8c7a648b.svg
59
+ - dist/280.b4210a48e650408000c3.bundle.js
60
+ - dist/280.b4210a48e650408000c3.bundle.js.map
29
61
  - dist/2d4b477bc424d35a0245.svg
30
62
  - dist/2e43ad991eb141fc017f.svg
31
63
  - dist/2ea5b50b7361e6de561c.svg
32
- - dist/308.4d236ce7e6451807cb54.bundle.js
33
- - dist/308.4d236ce7e6451807cb54.bundle.js.map
64
+ - dist/2f37d1addc2d2f5b699e.module.wasm
34
65
  - dist/31fe933f3a12be1aa7f3.svg
35
66
  - dist/390aa266f451c1005f61.svg
36
67
  - dist/3c3fda7c08bcc9544c64.svg
@@ -41,6 +72,8 @@ files:
41
72
  - dist/4d26f0e38c22eedde178.jpg
42
73
  - dist/4ecb077d8715f89c0f87.svg
43
74
  - dist/524e896f487119a0b832.svg
75
+ - dist/556.2be67a37a0c61fdc2485.bundle.js
76
+ - dist/556.2be67a37a0c61fdc2485.bundle.js.map
44
77
  - dist/58c5415e952fb6dddd6b.png
45
78
  - dist/6bd0589a27236471fdab.svg
46
79
  - dist/6c6b49af3a86dfdd44e6.svg
@@ -56,14 +89,12 @@ files:
56
89
  - dist/7e3ac9afb25cfe809520.svg
57
90
  - dist/81762b0b1aacd3686a6b.svg
58
91
  - dist/86e81402ef76d28ff55f.svg
92
+ - dist/874.2a087b9b5a296a9c3fcd.bundle.js
93
+ - dist/874.2a087b9b5a296a9c3fcd.bundle.js.map
59
94
  - dist/8aae7b979b04407f71a4.svg
60
95
  - dist/8b8b909e42722172d494.svg
61
96
  - dist/8dab2a6ba757bcc6e9a5.svg
62
- - dist/9.071a712ea648c8b30416.bundle.js
63
- - dist/9.071a712ea648c8b30416.bundle.js.map
64
97
  - dist/9103e94f1d34c15d44be.svg
65
- - dist/914.b9bc213d93173ce6b0cb.bundle.js
66
- - dist/914.b9bc213d93173ce6b0cb.bundle.js.map
67
98
  - dist/9a7bd6ec36312a2baa7e.svg
68
99
  - dist/9d858d1a3ab57f8ee2e1.svg
69
100
  - dist/9eb1fab2684d1e1f0e26.svg
@@ -72,21 +103,20 @@ files:
72
103
  - dist/a3196e840709b18a3119.svg
73
104
  - dist/aa867391c311267af5a9.svg
74
105
  - dist/acb8393f3fb9c59b15c9.svg
75
- - dist/ad13da76642d8099fe70.module.wasm
76
- - dist/b45b29da558efa211628.jpg
77
106
  - dist/b5698a02eef37ce29146.svg
78
107
  - dist/b805360fcc91834556c9.svg
79
- - dist/before-load.js
80
108
  - dist/c3432220f657733ed05f.svg
81
109
  - dist/ca2af827049e9039ef9c.svg
82
110
  - dist/contribute.json
83
111
  - dist/d09537c705fb0878eb63.svg
112
+ - dist/d6df0017c0241dfe86ff.svg
84
113
  - dist/d9c199b3e3e469cc5713.svg
85
114
  - dist/da1f21c60c7217745dd8.svg
86
115
  - dist/docs/README.md
87
116
  - dist/docs/_navbar.md
88
117
  - dist/docs/_sidebar.md
89
118
  - dist/docs/advanced-topics.md
119
+ - dist/docs/async-posix-signal-control.md
90
120
  - dist/docs/bunny-2.md
91
121
  - dist/docs/bunny.md
92
122
  - dist/docs/case-studies.md
@@ -216,10 +246,12 @@ files:
216
246
  - dist/locales/be/app.ftl
217
247
  - dist/locales/de/app.ftl
218
248
  - dist/locales/el/app.ftl
249
+ - dist/locales/en-CA/app.ftl
219
250
  - dist/locales/en-GB/app.ftl
220
251
  - dist/locales/en-US/app.ftl
221
252
  - dist/locales/es-CL/app.ftl
222
253
  - dist/locales/fr/app.ftl
254
+ - dist/locales/fur/app.ftl
223
255
  - dist/locales/fy-NL/app.ftl
224
256
  - dist/locales/ia/app.ftl
225
257
  - dist/locales/it/app.ftl
@@ -228,12 +260,13 @@ files:
228
260
  - dist/locales/pt-BR/app.ftl
229
261
  - dist/locales/ru/app.ftl
230
262
  - dist/locales/sv-SE/app.ftl
263
+ - dist/locales/tr/app.ftl
231
264
  - dist/locales/uk/app.ftl
232
265
  - dist/locales/zh-CN/app.ftl
233
266
  - 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
267
+ - dist/main.ac7130d34ce3b872712a.bundle.js
268
+ - dist/main.ac7130d34ce3b872712a.bundle.js.LICENSE.txt
269
+ - dist/main.ac7130d34ce3b872712a.bundle.js.map
237
270
  - dist/photon/31fe933f3a12be1aa7f3.svg
238
271
  - dist/photon/49da6a2153f62ef73d17.svg
239
272
  - dist/photon/6bd0589a27236471fdab.svg
@@ -245,16 +278,18 @@ files:
245
278
  - dist/photon/aa867391c311267af5a9.svg
246
279
  - dist/photon/f0599659345cf76717cd.svg
247
280
  - dist/photon/index.html
248
- - dist/photon/main.8c8260452e7439ec6df9.bundle.js
249
- - dist/photon/main.8c8260452e7439ec6df9.bundle.js.map
281
+ - dist/photon/main.aafbcdad3fb08c7ae5b4.bundle.js
282
+ - dist/photon/main.aafbcdad3fb08c7ae5b4.bundle.js.map
283
+ - dist/robots.txt
250
284
  - dist/service-worker-compat.js
251
285
  - dist/sw.js
252
286
  - dist/sw.js.map
253
- - dist/workbox-27b29e6f.js
254
- - dist/workbox-27b29e6f.js.map
287
+ - dist/workbox-e3490c72.js
288
+ - dist/workbox-e3490c72.js.map
255
289
  - dist/zee-worker.js
256
290
  - ruby-bin/profile-viewer
257
- homepage: https://rubygems.org/gems/example
291
+ - ruby-bin/profile-viewer-version.rb
292
+ homepage: https://github.com/tenderlove/profiler/tree/ruby
258
293
  licenses:
259
294
  - MPL-2.0
260
295
  metadata:
@@ -274,7 +309,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
274
309
  - !ruby/object:Gem::Version
275
310
  version: '0'
276
311
  requirements: []
277
- rubygems_version: 3.5.0.dev
312
+ rubygems_version: 3.5.11
278
313
  signing_key:
279
314
  specification_version: 4
280
315
  summary: Ruby Gem that packages the Mozilla Profiler