ori-rb 0.4

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 (84) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +8 -0
  3. data/.ruby-version +1 -0
  4. data/LICENSE +9 -0
  5. data/README.md +444 -0
  6. data/Rakefile +17 -0
  7. data/docs/images/example_boundary.png +0 -0
  8. data/docs/images/example_boundary_cancellation.png +0 -0
  9. data/docs/images/example_channel.png +0 -0
  10. data/docs/images/example_mutex.png +0 -0
  11. data/docs/images/example_promise.png +0 -0
  12. data/docs/images/example_semaphore.png +0 -0
  13. data/docs/images/example_trace.png +0 -0
  14. data/docs/images/example_trace_tag.png +0 -0
  15. data/lib/ori/channel.rb +148 -0
  16. data/lib/ori/lazy.rb +163 -0
  17. data/lib/ori/mutex.rb +9 -0
  18. data/lib/ori/out/index.html +146 -0
  19. data/lib/ori/out/script.js +3 -0
  20. data/lib/ori/promise.rb +39 -0
  21. data/lib/ori/reentrant_semaphore.rb +68 -0
  22. data/lib/ori/scope.rb +620 -0
  23. data/lib/ori/select.rb +35 -0
  24. data/lib/ori/selectable.rb +9 -0
  25. data/lib/ori/semaphore.rb +49 -0
  26. data/lib/ori/task.rb +78 -0
  27. data/lib/ori/timeout.rb +16 -0
  28. data/lib/ori/tracer.rb +335 -0
  29. data/lib/ori/version.rb +5 -0
  30. data/lib/ori.rb +68 -0
  31. data/mise-tasks/test +15 -0
  32. data/mise.toml +40 -0
  33. data/sorbet/config +8 -0
  34. data/sorbet/rbi/gems/.gitattributes +1 -0
  35. data/sorbet/rbi/gems/ast@2.4.3.rbi +585 -0
  36. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
  37. data/sorbet/rbi/gems/date@3.4.1.rbi +75 -0
  38. data/sorbet/rbi/gems/erb@5.1.1.rbi +845 -0
  39. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  40. data/sorbet/rbi/gems/io-console@0.8.1.rbi +9 -0
  41. data/sorbet/rbi/gems/json@2.15.1.rbi +2101 -0
  42. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
  43. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +240 -0
  44. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  45. data/sorbet/rbi/gems/minitest@5.26.0.rbi +2234 -0
  46. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  47. data/sorbet/rbi/gems/nio4r@2.7.4.rbi +293 -0
  48. data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
  49. data/sorbet/rbi/gems/parser@3.3.9.0.rbi +5535 -0
  50. data/sorbet/rbi/gems/pp@0.6.3.rbi +376 -0
  51. data/sorbet/rbi/gems/prettyprint@0.2.0.rbi +477 -0
  52. data/sorbet/rbi/gems/prism@1.5.2.rbi +42056 -0
  53. data/sorbet/rbi/gems/psych@5.2.6.rbi +2469 -0
  54. data/sorbet/rbi/gems/racc@1.8.1.rbi +160 -0
  55. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +403 -0
  56. data/sorbet/rbi/gems/rake@13.3.0.rbi +3036 -0
  57. data/sorbet/rbi/gems/rbi@0.3.7.rbi +7115 -0
  58. data/sorbet/rbi/gems/rbs@3.9.5.rbi +6978 -0
  59. data/sorbet/rbi/gems/rdoc@6.15.0.rbi +12777 -0
  60. data/sorbet/rbi/gems/regexp_parser@2.11.3.rbi +3845 -0
  61. data/sorbet/rbi/gems/reline@0.6.2.rbi +9 -0
  62. data/sorbet/rbi/gems/rexml@3.4.4.rbi +5285 -0
  63. data/sorbet/rbi/gems/rubocop-ast@1.47.1.rbi +7780 -0
  64. data/sorbet/rbi/gems/rubocop-shopify@2.17.1.rbi +9 -0
  65. data/sorbet/rbi/gems/rubocop-sorbet@0.11.0.rbi +2506 -0
  66. data/sorbet/rbi/gems/rubocop@1.81.1.rbi +63489 -0
  67. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1318 -0
  68. data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
  69. data/sorbet/rbi/gems/stringio@3.1.7.rbi +9 -0
  70. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
  71. data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
  72. data/sorbet/rbi/gems/tsort@0.2.0.rbi +393 -0
  73. data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +132 -0
  74. data/sorbet/rbi/gems/unicode-emoji@4.1.0.rbi +251 -0
  75. data/sorbet/rbi/gems/vernier@1.8.1-96ce5c739bfe6a18d2f4393f4219a1bf48674b87.rbi +904 -0
  76. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  77. data/sorbet/rbi/gems/yard@0.9.37.rbi +18379 -0
  78. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +1429 -0
  79. data/sorbet/shims/fiber.rbi +21 -0
  80. data/sorbet/shims/io.rbi +8 -0
  81. data/sorbet/shims/random.rbi +9 -0
  82. data/sorbet/shims/rdoc.rbi +3 -0
  83. data/sorbet/tapioca/require.rb +7 -0
  84. metadata +169 -0
@@ -0,0 +1,904 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `vernier` gem.
5
+ # Please instead update this file by running `bin/tapioca gem vernier`.
6
+
7
+
8
+ # source://vernier//lib/vernier/version.rb#3
9
+ module Vernier
10
+ class << self
11
+ def memory_rss; end
12
+
13
+ # source://vernier//lib/vernier.rb#21
14
+ def profile(mode: T.unsafe(nil), **collector_options); end
15
+
16
+ # source://vernier//lib/vernier.rb#21
17
+ def run(mode: T.unsafe(nil), **collector_options); end
18
+
19
+ # source://vernier//lib/vernier.rb#42
20
+ def start_profile(mode: T.unsafe(nil), **collector_options); end
21
+
22
+ # source://vernier//lib/vernier.rb#54
23
+ def stop_profile; end
24
+
25
+ # source://vernier//lib/vernier.rb#21
26
+ def trace(mode: T.unsafe(nil), **collector_options); end
27
+
28
+ # source://vernier//lib/vernier.rb#63
29
+ def trace_retained(**profile_options, &block); end
30
+ end
31
+ end
32
+
33
+ # source://vernier//lib/vernier/collector.rb#7
34
+ class Vernier::Collector
35
+ # @return [Collector] a new instance of Collector
36
+ #
37
+ # source://vernier//lib/vernier/collector.rb#8
38
+ def initialize(mode, options = T.unsafe(nil)); end
39
+
40
+ # source://vernier//lib/vernier/collector.rb#54
41
+ def add_marker(name:, start:, finish:, thread: T.unsafe(nil), phase: T.unsafe(nil), data: T.unsafe(nil)); end
42
+
43
+ # Get the current time.
44
+ #
45
+ # This method returns the current time from Process.clock_gettime in
46
+ # integer nanoseconds. It's the same time used by Vernier internals and
47
+ # can be used to generate timestamps for custom markers.
48
+ #
49
+ # source://vernier//lib/vernier/collector.rb#50
50
+ def current_time; end
51
+
52
+ # Record an interval with a category and name. Yields to a block and
53
+ # records the amount of time spent in the block as an interval marker.
54
+ #
55
+ # source://vernier//lib/vernier/collector.rb#66
56
+ def record_interval(category, name = T.unsafe(nil)); end
57
+
58
+ def sample; end
59
+ def stack_table; end
60
+ def start; end
61
+
62
+ # source://vernier//lib/vernier/collector.rb#79
63
+ def stop; end
64
+
65
+ private
66
+
67
+ # source://vernier//lib/vernier/collector.rb#33
68
+ def add_hook(hook); end
69
+
70
+ def finish; end
71
+
72
+ class << self
73
+ def _new(_arg0, _arg1); end
74
+
75
+ # source://vernier//lib/vernier.rb#68
76
+ def new(mode, options = T.unsafe(nil)); end
77
+ end
78
+ end
79
+
80
+ # source://vernier//lib/vernier.rb#17
81
+ class Vernier::Error < ::StandardError; end
82
+
83
+ # source://vernier//lib/vernier/hooks.rb#4
84
+ module Vernier::Hooks; end
85
+
86
+ # source://vernier//lib/vernier/hooks/active_support.rb#5
87
+ class Vernier::Hooks::ActiveSupport
88
+ # @return [ActiveSupport] a new instance of ActiveSupport
89
+ #
90
+ # source://vernier//lib/vernier/hooks/active_support.rb#155
91
+ def initialize(collector); end
92
+
93
+ # source://vernier//lib/vernier/hooks/active_support.rb#182
94
+ def disable; end
95
+
96
+ # source://vernier//lib/vernier/hooks/active_support.rb#159
97
+ def enable; end
98
+
99
+ # source://vernier//lib/vernier/hooks/active_support.rb#187
100
+ def firefox_marker_schema; end
101
+ end
102
+
103
+ # source://vernier//lib/vernier/hooks/active_support.rb#6
104
+ Vernier::Hooks::ActiveSupport::FIREFOX_MARKER_SCHEMA = T.let(T.unsafe(nil), Array)
105
+
106
+ # source://vernier//lib/vernier/hooks/active_support.rb#148
107
+ Vernier::Hooks::ActiveSupport::SERIALIZED_KEYS = T.let(T.unsafe(nil), Hash)
108
+
109
+ # source://vernier//lib/vernier/hooks/memory_usage.rb#5
110
+ class Vernier::Hooks::MemoryUsage
111
+ # @return [MemoryUsage] a new instance of MemoryUsage
112
+ #
113
+ # source://vernier//lib/vernier/hooks/memory_usage.rb#6
114
+ def initialize(collector); end
115
+
116
+ # source://vernier//lib/vernier/hooks/memory_usage.rb#15
117
+ def disable; end
118
+
119
+ # source://vernier//lib/vernier/hooks/memory_usage.rb#11
120
+ def enable; end
121
+
122
+ # source://vernier//lib/vernier/hooks/memory_usage.rb#19
123
+ def firefox_counters; end
124
+ end
125
+
126
+ # source://vernier//lib/vernier/marker.rb#6
127
+ module Vernier::Marker
128
+ class << self
129
+ # Return an array of marker names. The index of the string maps to the
130
+ # value of the corresponding constant
131
+ #
132
+ # source://vernier//lib/vernier/marker.rb#36
133
+ def name_table; end
134
+ end
135
+ end
136
+
137
+ # source://vernier//lib/vernier/marker.rb#13
138
+ Vernier::Marker::MARKER_STRINGS = T.let(T.unsafe(nil), Array)
139
+
140
+ # source://vernier//lib/vernier/marker.rb#7
141
+ Vernier::Marker::MARKER_SYMBOLS = T.let(T.unsafe(nil), Array)
142
+
143
+ module Vernier::Marker::Phase; end
144
+ Vernier::Marker::Phase::INSTANT = T.let(T.unsafe(nil), Integer)
145
+ Vernier::Marker::Phase::INTERVAL = T.let(T.unsafe(nil), Integer)
146
+ Vernier::Marker::Phase::INTERVAL_END = T.let(T.unsafe(nil), Integer)
147
+ Vernier::Marker::Phase::INTERVAL_START = T.let(T.unsafe(nil), Integer)
148
+ module Vernier::Marker::Type; end
149
+ Vernier::Marker::Type::FIBER_SWITCH = T.let(T.unsafe(nil), Integer)
150
+ Vernier::Marker::Type::GC_END_MARK = T.let(T.unsafe(nil), Integer)
151
+ Vernier::Marker::Type::GC_END_SWEEP = T.let(T.unsafe(nil), Integer)
152
+ Vernier::Marker::Type::GC_ENTER = T.let(T.unsafe(nil), Integer)
153
+ Vernier::Marker::Type::GC_EXIT = T.let(T.unsafe(nil), Integer)
154
+ Vernier::Marker::Type::GC_PAUSE = T.let(T.unsafe(nil), Integer)
155
+ Vernier::Marker::Type::GC_START = T.let(T.unsafe(nil), Integer)
156
+ Vernier::Marker::Type::GVL_THREAD_EXITED = T.let(T.unsafe(nil), Integer)
157
+ Vernier::Marker::Type::GVL_THREAD_STARTED = T.let(T.unsafe(nil), Integer)
158
+ Vernier::Marker::Type::THREAD_RUNNING = T.let(T.unsafe(nil), Integer)
159
+ Vernier::Marker::Type::THREAD_STALLED = T.let(T.unsafe(nil), Integer)
160
+ Vernier::Marker::Type::THREAD_SUSPENDED = T.let(T.unsafe(nil), Integer)
161
+
162
+ class Vernier::MemoryTracker
163
+ def record; end
164
+ def results; end
165
+ def start; end
166
+ def stop; end
167
+ end
168
+
169
+ # source://vernier//lib/vernier/middleware.rb#2
170
+ class Vernier::Middleware
171
+ # @return [Middleware] a new instance of Middleware
172
+ #
173
+ # source://vernier//lib/vernier/middleware.rb#3
174
+ def initialize(app, permit: T.unsafe(nil)); end
175
+
176
+ # source://vernier//lib/vernier/middleware.rb#8
177
+ def call(env); end
178
+ end
179
+
180
+ # source://vernier//lib/vernier/output/filename_filter.rb#4
181
+ module Vernier::Output; end
182
+
183
+ # source://vernier//lib/vernier/output/cpuprofile.rb#5
184
+ class Vernier::Output::Cpuprofile
185
+ # @return [Cpuprofile] a new instance of Cpuprofile
186
+ #
187
+ # source://vernier//lib/vernier/output/cpuprofile.rb#6
188
+ def initialize(profile); end
189
+
190
+ # source://vernier//lib/vernier/output/cpuprofile.rb#10
191
+ def output; end
192
+
193
+ private
194
+
195
+ # source://vernier//lib/vernier/output/cpuprofile.rb#53
196
+ def build_nodes; end
197
+
198
+ # source://vernier//lib/vernier/output/cpuprofile.rb#128
199
+ def calculate_time_deltas(timestamps); end
200
+
201
+ # source://vernier//lib/vernier/output/cpuprofile.rb#85
202
+ def create_node_for_stack(stack_idx, nodes, stack_table); end
203
+
204
+ # source://vernier//lib/vernier/output/cpuprofile.rb#22
205
+ def data; end
206
+
207
+ # source://vernier//lib/vernier/output/cpuprofile.rb#43
208
+ def empty_profile; end
209
+
210
+ # source://vernier//lib/vernier/output/cpuprofile.rb#18
211
+ def ns_to_us(timestamp); end
212
+
213
+ # Returns the value of attribute profile.
214
+ #
215
+ # source://vernier//lib/vernier/output/cpuprofile.rb#16
216
+ def profile; end
217
+
218
+ # source://vernier//lib/vernier/output/cpuprofile.rb#70
219
+ def root_node; end
220
+
221
+ # source://vernier//lib/vernier/output/cpuprofile.rb#124
222
+ def stack_to_node_id(stack_idx); end
223
+ end
224
+
225
+ # source://vernier//lib/vernier/output/file_listing.rb#8
226
+ class Vernier::Output::FileListing
227
+ # @return [FileListing] a new instance of FileListing
228
+ #
229
+ # source://vernier//lib/vernier/output/file_listing.rb#23
230
+ def initialize(profile); end
231
+
232
+ # source://vernier//lib/vernier/output/file_listing.rb#105
233
+ def format_file(output, filename, all_samples, total:); end
234
+
235
+ # source://vernier//lib/vernier/output/file_listing.rb#134
236
+ def format_file_html(output, filename, relevant_files); end
237
+
238
+ # source://vernier//lib/vernier/output/file_listing.rb#122
239
+ def html_output(output, relevant_files); end
240
+
241
+ # source://vernier//lib/vernier/output/file_listing.rb#77
242
+ def output(template: T.unsafe(nil)); end
243
+
244
+ # source://vernier//lib/vernier/output/file_listing.rb#27
245
+ def samples_by_file; end
246
+
247
+ # source://vernier//lib/vernier/output/file_listing.rb#100
248
+ def total; end
249
+ end
250
+
251
+ # source://vernier//lib/vernier/output/file_listing.rb#9
252
+ class Vernier::Output::FileListing::SamplesByLocation
253
+ # @return [SamplesByLocation] a new instance of SamplesByLocation
254
+ #
255
+ # source://vernier//lib/vernier/output/file_listing.rb#11
256
+ def initialize; end
257
+
258
+ # source://vernier//lib/vernier/output/file_listing.rb#15
259
+ def +(other); end
260
+
261
+ # Returns the value of attribute self.
262
+ #
263
+ # source://vernier//lib/vernier/output/file_listing.rb#10
264
+ def self; end
265
+
266
+ # Sets the attribute self
267
+ #
268
+ # @param value the value to set the attribute self to.
269
+ #
270
+ # source://vernier//lib/vernier/output/file_listing.rb#10
271
+ def self=(_arg0); end
272
+
273
+ # Returns the value of attribute total.
274
+ #
275
+ # source://vernier//lib/vernier/output/file_listing.rb#10
276
+ def total; end
277
+
278
+ # Sets the attribute total
279
+ #
280
+ # @param value the value to set the attribute total to.
281
+ #
282
+ # source://vernier//lib/vernier/output/file_listing.rb#10
283
+ def total=(_arg0); end
284
+ end
285
+
286
+ # source://vernier//lib/vernier/output/filename_filter.rb#5
287
+ class Vernier::Output::FilenameFilter
288
+ # @return [FilenameFilter] a new instance of FilenameFilter
289
+ #
290
+ # source://vernier//lib/vernier/output/filename_filter.rb#6
291
+ def initialize; end
292
+
293
+ # source://vernier//lib/vernier/output/filename_filter.rb#15
294
+ def call(filename); end
295
+
296
+ # Returns the value of attribute gem_match_regex.
297
+ #
298
+ # source://vernier//lib/vernier/output/filename_filter.rb#13
299
+ def gem_match_regex; end
300
+
301
+ # Returns the value of attribute gem_regex.
302
+ #
303
+ # source://vernier//lib/vernier/output/filename_filter.rb#13
304
+ def gem_regex; end
305
+
306
+ # Returns the value of attribute pwd.
307
+ #
308
+ # source://vernier//lib/vernier/output/filename_filter.rb#13
309
+ def pwd; end
310
+
311
+ # Returns the value of attribute rubylibdir.
312
+ #
313
+ # source://vernier//lib/vernier/output/filename_filter.rb#13
314
+ def rubylibdir; end
315
+ end
316
+
317
+ # https://profiler.firefox.com/
318
+ # https://github.com/firefox-devtools/profiler/blob/main/src/types/profile.ts
319
+ #
320
+ # source://vernier//lib/vernier/output/firefox.rb#12
321
+ class Vernier::Output::Firefox
322
+ # @return [Firefox] a new instance of Firefox
323
+ #
324
+ # source://vernier//lib/vernier/output/firefox.rb#117
325
+ def initialize(profile); end
326
+
327
+ # source://vernier//lib/vernier/output/firefox.rb#122
328
+ def output(gzip: T.unsafe(nil)); end
329
+
330
+ private
331
+
332
+ # source://vernier//lib/vernier/output/firefox.rb#194
333
+ def counter_data; end
334
+
335
+ # source://vernier//lib/vernier/output/firefox.rb#135
336
+ def data; end
337
+
338
+ # source://vernier//lib/vernier/output/firefox.rb#202
339
+ def marker_schema; end
340
+
341
+ # Returns the value of attribute profile.
342
+ #
343
+ # source://vernier//lib/vernier/output/firefox.rb#133
344
+ def profile; end
345
+ end
346
+
347
+ # source://vernier//lib/vernier/output/firefox.rb#13
348
+ class Vernier::Output::Firefox::Categorizer
349
+ # @return [Categorizer] a new instance of Categorizer
350
+ #
351
+ # source://vernier//lib/vernier/output/firefox.rb#25
352
+ def initialize; end
353
+
354
+ # @yield [category]
355
+ #
356
+ # source://vernier//lib/vernier/output/firefox.rb#69
357
+ def add_category(name:, **kw); end
358
+
359
+ # Returns the value of attribute categories.
360
+ #
361
+ # source://vernier//lib/vernier/output/firefox.rb#23
362
+ def categories; end
363
+
364
+ # source://vernier//lib/vernier/output/firefox.rb#90
365
+ def categorize(path); end
366
+
367
+ # source://vernier//lib/vernier/output/firefox.rb#86
368
+ def gem_path(*names); end
369
+
370
+ # source://vernier//lib/vernier/output/firefox.rb#78
371
+ def get_category(name); end
372
+
373
+ # source://vernier//lib/vernier/output/firefox.rb#82
374
+ def starts_with(*paths); end
375
+ end
376
+
377
+ # source://vernier//lib/vernier/output/firefox.rb#18
378
+ Vernier::Output::Firefox::Categorizer::AVAILABLE_COLORS = T.let(T.unsafe(nil), Array)
379
+
380
+ # source://vernier//lib/vernier/output/firefox.rb#94
381
+ class Vernier::Output::Firefox::Categorizer::Category
382
+ # @raise [ArgumentError]
383
+ # @return [Category] a new instance of Category
384
+ #
385
+ # source://vernier//lib/vernier/output/firefox.rb#97
386
+ def initialize(idx, name:, color:, matcher: T.unsafe(nil)); end
387
+
388
+ # source://vernier//lib/vernier/output/firefox.rb#107
389
+ def add_subcategory(**args); end
390
+
391
+ # Returns the value of attribute color.
392
+ #
393
+ # source://vernier//lib/vernier/output/firefox.rb#95
394
+ def color; end
395
+
396
+ # Returns the value of attribute idx.
397
+ #
398
+ # source://vernier//lib/vernier/output/firefox.rb#95
399
+ def idx; end
400
+
401
+ # Returns the value of attribute matcher.
402
+ #
403
+ # source://vernier//lib/vernier/output/firefox.rb#95
404
+ def matcher; end
405
+
406
+ # @return [Boolean]
407
+ #
408
+ # source://vernier//lib/vernier/output/firefox.rb#111
409
+ def matches?(path); end
410
+
411
+ # Returns the value of attribute name.
412
+ #
413
+ # source://vernier//lib/vernier/output/firefox.rb#95
414
+ def name; end
415
+
416
+ # Returns the value of attribute subcategories.
417
+ #
418
+ # source://vernier//lib/vernier/output/firefox.rb#95
419
+ def subcategories; end
420
+ end
421
+
422
+ # This is in the order of preference
423
+ #
424
+ # source://vernier//lib/vernier/output/firefox.rb#21
425
+ Vernier::Output::Firefox::Categorizer::ORDERED_CATEGORIES = T.let(T.unsafe(nil), Array)
426
+
427
+ # source://vernier//lib/vernier/output/firefox.rb#14
428
+ Vernier::Output::Firefox::Categorizer::RAILS_COMPONENTS = T.let(T.unsafe(nil), Array)
429
+
430
+ # source://vernier//lib/vernier/output/firefox.rb#269
431
+ class Vernier::Output::Firefox::Thread
432
+ # @return [Thread] a new instance of Thread
433
+ #
434
+ # source://vernier//lib/vernier/output/firefox.rb#272
435
+ def initialize(ruby_thread_id, profile, categorizer, name:, tid:, samples:, weights:, markers:, started_at:, timestamps: T.unsafe(nil), sample_categories: T.unsafe(nil), stopped_at: T.unsafe(nil), allocations: T.unsafe(nil), is_main: T.unsafe(nil), is_start: T.unsafe(nil)); end
436
+
437
+ # source://vernier//lib/vernier/output/firefox.rb#465
438
+ def allocations_table; end
439
+
440
+ # source://vernier//lib/vernier/output/firefox.rb#360
441
+ def categorize_filename(filename); end
442
+
443
+ # source://vernier//lib/vernier/output/firefox.rb#369
444
+ def cfunc_category_and_subcategory; end
445
+
446
+ # source://vernier//lib/vernier/output/firefox.rb#393
447
+ def data; end
448
+
449
+ # source://vernier//lib/vernier/output/firefox.rb#386
450
+ def filter_filenames(filenames); end
451
+
452
+ # source://vernier//lib/vernier/output/firefox.rb#377
453
+ def find_category_and_subcategory(filename, categories); end
454
+
455
+ # source://vernier//lib/vernier/output/firefox.rb#545
456
+ def frame_table; end
457
+
458
+ # source://vernier//lib/vernier/output/firefox.rb#573
459
+ def func_table; end
460
+
461
+ # Returns the value of attribute is_start.
462
+ #
463
+ # source://vernier//lib/vernier/output/firefox.rb#270
464
+ def is_start; end
465
+
466
+ # source://vernier//lib/vernier/output/firefox.rb#425
467
+ def markers_table; end
468
+
469
+ # Returns the value of attribute profile.
470
+ #
471
+ # source://vernier//lib/vernier/output/firefox.rb#270
472
+ def profile; end
473
+
474
+ # source://vernier//lib/vernier/output/firefox.rb#373
475
+ def ruby_category_and_subcategory; end
476
+
477
+ # source://vernier//lib/vernier/output/firefox.rb#484
478
+ def samples_table; end
479
+
480
+ # source://vernier//lib/vernier/output/firefox.rb#520
481
+ def stack_table; end
482
+
483
+ # source://vernier//lib/vernier/output/firefox.rb#598
484
+ def string_table; end
485
+
486
+ private
487
+
488
+ # source://vernier//lib/vernier/output/firefox.rb#620
489
+ def gc_category; end
490
+
491
+ # source://vernier//lib/vernier/output/firefox.rb#624
492
+ def thread_category; end
493
+ end
494
+
495
+ # source://vernier//lib/vernier/output/top.rb#5
496
+ class Vernier::Output::Top
497
+ # @return [Top] a new instance of Top
498
+ #
499
+ # source://vernier//lib/vernier/output/top.rb#6
500
+ def initialize(profile, row_limit); end
501
+
502
+ # source://vernier//lib/vernier/output/top.rb#51
503
+ def output; end
504
+ end
505
+
506
+ # source://vernier//lib/vernier/output/top.rb#11
507
+ class Vernier::Output::Top::Table
508
+ # @return [Table] a new instance of Table
509
+ # @yield [_self]
510
+ # @yieldparam _self [Vernier::Output::Top::Table] the object that the method was called on
511
+ #
512
+ # source://vernier//lib/vernier/output/top.rb#12
513
+ def initialize(header, row_limit); end
514
+
515
+ # source://vernier//lib/vernier/output/top.rb#19
516
+ def <<(row); end
517
+
518
+ # source://vernier//lib/vernier/output/top.rb#46
519
+ def format_row(row); end
520
+
521
+ # source://vernier//lib/vernier/output/top.rb#42
522
+ def row_separator; end
523
+
524
+ # source://vernier//lib/vernier/output/top.rb#23
525
+ def to_s; end
526
+
527
+ # source://vernier//lib/vernier/output/top.rb#35
528
+ def widths; end
529
+ end
530
+
531
+ # source://vernier//lib/vernier/parsed_profile.rb#7
532
+ class Vernier::ParsedProfile
533
+ # @return [ParsedProfile] a new instance of ParsedProfile
534
+ #
535
+ # source://vernier//lib/vernier/parsed_profile.rb#87
536
+ def initialize(data); end
537
+
538
+ # Returns the value of attribute data.
539
+ #
540
+ # source://vernier//lib/vernier/parsed_profile.rb#86
541
+ def data; end
542
+
543
+ # source://vernier//lib/vernier/parsed_profile.rb#98
544
+ def main_thread; end
545
+
546
+ # source://vernier//lib/vernier/parsed_profile.rb#91
547
+ def threads; end
548
+
549
+ class << self
550
+ # source://vernier//lib/vernier/parsed_profile.rb#8
551
+ def read_file(filename); end
552
+ end
553
+ end
554
+
555
+ # source://vernier//lib/vernier/parsed_profile.rb#24
556
+ class Vernier::ParsedProfile::StackTable
557
+ include ::Vernier::StackTableHelpers
558
+
559
+ # @return [StackTable] a new instance of StackTable
560
+ #
561
+ # source://vernier//lib/vernier/parsed_profile.rb#25
562
+ def initialize(thread_data); end
563
+
564
+ # source://vernier//lib/vernier/parsed_profile.rb#39
565
+ def frame_count; end
566
+
567
+ # source://vernier//lib/vernier/parsed_profile.rb#45
568
+ def frame_func_idx(idx); end
569
+
570
+ # source://vernier//lib/vernier/parsed_profile.rb#46
571
+ def frame_line_no(idx); end
572
+
573
+ # source://vernier//lib/vernier/parsed_profile.rb#40
574
+ def func_count; end
575
+
576
+ # source://vernier//lib/vernier/parsed_profile.rb#51
577
+ def func_filename(idx); end
578
+
579
+ # source://vernier//lib/vernier/parsed_profile.rb#49
580
+ def func_filename_idx(idx); end
581
+
582
+ # source://vernier//lib/vernier/parsed_profile.rb#52
583
+ def func_first_lineno(idx); end
584
+
585
+ # source://vernier//lib/vernier/parsed_profile.rb#50
586
+ def func_name(idx); end
587
+
588
+ # source://vernier//lib/vernier/parsed_profile.rb#48
589
+ def func_name_idx(idx); end
590
+
591
+ # source://vernier//lib/vernier/parsed_profile.rb#38
592
+ def stack_count; end
593
+
594
+ # source://vernier//lib/vernier/parsed_profile.rb#43
595
+ def stack_frame_idx(idx); end
596
+
597
+ # source://vernier//lib/vernier/parsed_profile.rb#42
598
+ def stack_parent_idx(idx); end
599
+
600
+ # Returns the value of attribute strings.
601
+ #
602
+ # source://vernier//lib/vernier/parsed_profile.rb#36
603
+ def strings; end
604
+ end
605
+
606
+ # source://vernier//lib/vernier/parsed_profile.rb#57
607
+ class Vernier::ParsedProfile::Thread
608
+ # @return [Thread] a new instance of Thread
609
+ #
610
+ # source://vernier//lib/vernier/parsed_profile.rb#60
611
+ def initialize(data); end
612
+
613
+ # Emulate hash
614
+ #
615
+ # source://vernier//lib/vernier/parsed_profile.rb#81
616
+ def [](name); end
617
+
618
+ # Returns the value of attribute data.
619
+ #
620
+ # source://vernier//lib/vernier/parsed_profile.rb#58
621
+ def data; end
622
+
623
+ # @return [Boolean]
624
+ #
625
+ # source://vernier//lib/vernier/parsed_profile.rb#68
626
+ def main_thread?; end
627
+
628
+ # source://vernier//lib/vernier/parsed_profile.rb#72
629
+ def samples; end
630
+
631
+ # source://vernier//lib/vernier/parsed_profile.rb#64
632
+ def stack_table; end
633
+
634
+ # source://vernier//lib/vernier/parsed_profile.rb#76
635
+ def weights; end
636
+ end
637
+
638
+ # source://vernier//lib/vernier/result.rb#4
639
+ class Vernier::Result
640
+ # Returns the value of attribute stack_table.
641
+ #
642
+ # source://vernier//lib/vernier/result.rb#5
643
+ def _stack_table; end
644
+
645
+ # source://vernier//lib/vernier/result.rb#60
646
+ def each_sample; end
647
+
648
+ # source://vernier//lib/vernier/result.rb#52
649
+ def elapsed_seconds; end
650
+
651
+ # Returns the value of attribute end_time.
652
+ #
653
+ # source://vernier//lib/vernier/result.rb#8
654
+ def end_time; end
655
+
656
+ # Sets the attribute end_time
657
+ #
658
+ # @param value the value to set the attribute end_time to.
659
+ #
660
+ # source://vernier//lib/vernier/result.rb#8
661
+ def end_time=(_arg0); end
662
+
663
+ # Returns the value of attribute gc_markers.
664
+ #
665
+ # source://vernier//lib/vernier/result.rb#10
666
+ def gc_markers; end
667
+
668
+ # Returns the value of attribute hooks.
669
+ #
670
+ # source://vernier//lib/vernier/result.rb#8
671
+ def hooks; end
672
+
673
+ # Sets the attribute hooks
674
+ #
675
+ # @param value the value to set the attribute hooks to.
676
+ #
677
+ # source://vernier//lib/vernier/result.rb#8
678
+ def hooks=(_arg0); end
679
+
680
+ # source://vernier//lib/vernier/result.rb#56
681
+ def inspect; end
682
+
683
+ # source://vernier//lib/vernier/result.rb#12
684
+ def main_thread; end
685
+
686
+ # Returns the value of attribute meta.
687
+ #
688
+ # source://vernier//lib/vernier/result.rb#10
689
+ def meta; end
690
+
691
+ # Returns the value of attribute pid.
692
+ #
693
+ # source://vernier//lib/vernier/result.rb#8
694
+ def pid; end
695
+
696
+ # Sets the attribute pid
697
+ #
698
+ # @param value the value to set the attribute pid to.
699
+ #
700
+ # source://vernier//lib/vernier/result.rb#8
701
+ def pid=(_arg0); end
702
+
703
+ # source://vernier//lib/vernier/result.rb#69
704
+ def stack(idx); end
705
+
706
+ # Returns the value of attribute stack_table.
707
+ #
708
+ # source://vernier//lib/vernier/result.rb#5
709
+ def stack_table; end
710
+
711
+ # Sets the attribute stack_table
712
+ #
713
+ # @param value the value to set the attribute stack_table to.
714
+ #
715
+ # source://vernier//lib/vernier/result.rb#5
716
+ def stack_table=(_arg0); end
717
+
718
+ # Realtime in nanoseconds since the unix epoch
719
+ #
720
+ # source://vernier//lib/vernier/result.rb#17
721
+ def started_at; end
722
+
723
+ # Returns the value of attribute threads.
724
+ #
725
+ # source://vernier//lib/vernier/result.rb#10
726
+ def threads; end
727
+
728
+ # source://vernier//lib/vernier/result.rb#29
729
+ def to_cpuprofile; end
730
+
731
+ # source://vernier//lib/vernier/result.rb#24
732
+ def to_firefox(gzip: T.unsafe(nil)); end
733
+
734
+ # source://vernier//lib/vernier/result.rb#24
735
+ def to_gecko(gzip: T.unsafe(nil)); end
736
+
737
+ # source://vernier//lib/vernier/result.rb#77
738
+ def total_bytes; end
739
+
740
+ # source://vernier//lib/vernier/result.rb#85
741
+ def total_samples; end
742
+
743
+ # source://vernier//lib/vernier/result.rb#89
744
+ def total_unique_samples; end
745
+
746
+ # source://vernier//lib/vernier/result.rb#73
747
+ def total_weights; end
748
+
749
+ # source://vernier//lib/vernier/result.rb#33
750
+ def write(out:, format: T.unsafe(nil)); end
751
+ end
752
+
753
+ # source://vernier//lib/vernier/stack_table.rb#4
754
+ class Vernier::StackTable
755
+ include ::Vernier::StackTableHelpers
756
+
757
+ def convert(_arg0, _arg1); end
758
+ def current_stack(*_arg0); end
759
+ def frame_count; end
760
+ def frame_func_idx(_arg0); end
761
+ def frame_line_no(_arg0); end
762
+ def func_count; end
763
+ def func_filename(_arg0); end
764
+ def func_first_lineno(_arg0); end
765
+ def func_name(_arg0); end
766
+ def stack_count; end
767
+ def stack_frame_idx(_arg0); end
768
+ def stack_parent_idx(_arg0); end
769
+
770
+ class << self
771
+ def new; end
772
+ end
773
+ end
774
+
775
+ # source://vernier//lib/vernier/stack_table_helpers.rb#2
776
+ module Vernier::StackTableHelpers
777
+ # source://vernier//lib/vernier/stack_table_helpers.rb#25
778
+ def backtrace(stack_idx); end
779
+
780
+ # source://vernier//lib/vernier/stack_table_helpers.rb#37
781
+ def full_stack(stack_idx); end
782
+
783
+ # source://vernier//lib/vernier/stack_table_helpers.rb#3
784
+ def inspect; end
785
+
786
+ # source://vernier//lib/vernier/stack_table_helpers.rb#136
787
+ def stack(idx); end
788
+
789
+ # source://vernier//lib/vernier/stack_table_helpers.rb#7
790
+ def to_h; end
791
+ end
792
+
793
+ # source://vernier//lib/vernier/stack_table_helpers.rb#46
794
+ class Vernier::StackTableHelpers::BaseType
795
+ # @return [BaseType] a new instance of BaseType
796
+ #
797
+ # source://vernier//lib/vernier/stack_table_helpers.rb#48
798
+ def initialize(stack_table, idx); end
799
+
800
+ # Returns the value of attribute idx.
801
+ #
802
+ # source://vernier//lib/vernier/stack_table_helpers.rb#47
803
+ def idx; end
804
+
805
+ # source://vernier//lib/vernier/stack_table_helpers.rb#53
806
+ def inspect; end
807
+
808
+ # Returns the value of attribute stack_table.
809
+ #
810
+ # source://vernier//lib/vernier/stack_table_helpers.rb#47
811
+ def stack_table; end
812
+ end
813
+
814
+ # source://vernier//lib/vernier/stack_table_helpers.rb#73
815
+ class Vernier::StackTableHelpers::Frame < ::Vernier::StackTableHelpers::BaseType
816
+ # source://vernier//lib/vernier/stack_table_helpers.rb#75
817
+ def filename; end
818
+
819
+ # source://vernier//lib/vernier/stack_table_helpers.rb#78
820
+ def func; end
821
+
822
+ # source://vernier//lib/vernier/stack_table_helpers.rb#74
823
+ def label; end
824
+
825
+ # source://vernier//lib/vernier/stack_table_helpers.rb#83
826
+ def line; end
827
+
828
+ # source://vernier//lib/vernier/stack_table_helpers.rb#74
829
+ def name; end
830
+
831
+ # source://vernier//lib/vernier/stack_table_helpers.rb#87
832
+ def to_s; end
833
+ end
834
+
835
+ # source://vernier//lib/vernier/stack_table_helpers.rb#58
836
+ class Vernier::StackTableHelpers::Func < ::Vernier::StackTableHelpers::BaseType
837
+ # source://vernier//lib/vernier/stack_table_helpers.rb#64
838
+ def filename; end
839
+
840
+ # source://vernier//lib/vernier/stack_table_helpers.rb#59
841
+ def label; end
842
+
843
+ # source://vernier//lib/vernier/stack_table_helpers.rb#59
844
+ def name; end
845
+
846
+ # source://vernier//lib/vernier/stack_table_helpers.rb#68
847
+ def to_s; end
848
+ end
849
+
850
+ # source://vernier//lib/vernier/stack_table_helpers.rb#92
851
+ class Vernier::StackTableHelpers::Stack < ::Vernier::StackTableHelpers::BaseType
852
+ # @raise [RangeError]
853
+ #
854
+ # source://vernier//lib/vernier/stack_table_helpers.rb#105
855
+ def [](n); end
856
+
857
+ # source://vernier//lib/vernier/stack_table_helpers.rb#93
858
+ def each; end
859
+
860
+ # source://vernier//lib/vernier/stack_table_helpers.rb#93
861
+ def each_frame; end
862
+
863
+ # source://vernier//lib/vernier/stack_table_helpers.rb#123
864
+ def frames; end
865
+
866
+ # source://vernier//lib/vernier/stack_table_helpers.rb#119
867
+ def leaf_frame; end
868
+
869
+ # source://vernier//lib/vernier/stack_table_helpers.rb#115
870
+ def leaf_frame_idx; end
871
+
872
+ # source://vernier//lib/vernier/stack_table_helpers.rb#127
873
+ def to_s; end
874
+ end
875
+
876
+ # Collects names of all seen threads
877
+ #
878
+ # source://vernier//lib/vernier/thread_names.rb#3
879
+ class Vernier::ThreadNames
880
+ # @return [ThreadNames] a new instance of ThreadNames
881
+ #
882
+ # source://vernier//lib/vernier/thread_names.rb#4
883
+ def initialize; end
884
+
885
+ # source://vernier//lib/vernier/thread_names.rb#12
886
+ def [](object_id); end
887
+
888
+ # source://vernier//lib/vernier/thread_names.rb#16
889
+ def finish; end
890
+
891
+ private
892
+
893
+ # source://vernier//lib/vernier/thread_names.rb#23
894
+ def collect_running; end
895
+
896
+ # source://vernier//lib/vernier/thread_names.rb#29
897
+ def collect_thread(th); end
898
+
899
+ # source://vernier//lib/vernier/thread_names.rb#33
900
+ def pretty_name(thread); end
901
+ end
902
+
903
+ # source://vernier//lib/vernier/version.rb#4
904
+ Vernier::VERSION = T.let(T.unsafe(nil), String)