pf2 0.7.1 → 0.9.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 (105) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +11 -0
  4. data/Rakefile +9 -2
  5. data/doc/development.md +11 -0
  6. data/examples/mandelbrot.rb +69 -0
  7. data/examples/mandelbrot_ractor.rb +77 -0
  8. data/ext/pf2/build.rs +7 -0
  9. data/ext/pf2/src/ruby_c_api_helper.c +6 -0
  10. data/ext/pf2/src/serialization/profile.rs +1 -0
  11. data/ext/pf2/src/serialization/serializer.rs +4 -0
  12. data/ext/pf2/src/signal_scheduler.rs +1 -1
  13. data/ext/pf2/src/util.rs +2 -1
  14. data/ext/pf2c/backtrace_state.c +10 -0
  15. data/ext/pf2c/backtrace_state.h +10 -0
  16. data/ext/pf2c/configuration.c +90 -0
  17. data/ext/pf2c/configuration.h +23 -0
  18. data/ext/pf2c/extconf.rb +21 -0
  19. data/ext/pf2c/pf2.c +17 -0
  20. data/ext/pf2c/pf2.h +8 -0
  21. data/ext/pf2c/ringbuffer.c +74 -0
  22. data/ext/pf2c/ringbuffer.h +24 -0
  23. data/ext/pf2c/sample.c +70 -0
  24. data/ext/pf2c/sample.h +22 -0
  25. data/ext/pf2c/serializer.c +377 -0
  26. data/ext/pf2c/serializer.h +58 -0
  27. data/ext/pf2c/session.c +344 -0
  28. data/ext/pf2c/session.h +51 -0
  29. data/lib/pf2/cli.rb +33 -2
  30. data/lib/pf2/reporter/annotate.rb +101 -0
  31. data/lib/pf2/reporter/firefox_profiler.rb +1 -1
  32. data/lib/pf2/reporter/firefox_profiler_ser2.rb +308 -0
  33. data/lib/pf2/reporter.rb +2 -0
  34. data/lib/pf2/version.rb +1 -1
  35. data/vendor/libbacktrace/.gitignore +5 -0
  36. data/vendor/libbacktrace/Isaac.Newton-Opticks.txt +9286 -0
  37. data/vendor/libbacktrace/LICENSE +29 -0
  38. data/vendor/libbacktrace/Makefile.am +708 -0
  39. data/vendor/libbacktrace/Makefile.in +2820 -0
  40. data/vendor/libbacktrace/README.md +46 -0
  41. data/vendor/libbacktrace/aclocal.m4 +864 -0
  42. data/vendor/libbacktrace/alloc.c +167 -0
  43. data/vendor/libbacktrace/allocfail.c +136 -0
  44. data/vendor/libbacktrace/allocfail.sh +104 -0
  45. data/vendor/libbacktrace/atomic.c +113 -0
  46. data/vendor/libbacktrace/backtrace-supported.h.in +66 -0
  47. data/vendor/libbacktrace/backtrace.c +129 -0
  48. data/vendor/libbacktrace/backtrace.h +189 -0
  49. data/vendor/libbacktrace/btest.c +517 -0
  50. data/vendor/libbacktrace/compile +348 -0
  51. data/vendor/libbacktrace/config/enable.m4 +38 -0
  52. data/vendor/libbacktrace/config/lead-dot.m4 +31 -0
  53. data/vendor/libbacktrace/config/libtool.m4 +7545 -0
  54. data/vendor/libbacktrace/config/ltoptions.m4 +369 -0
  55. data/vendor/libbacktrace/config/ltsugar.m4 +123 -0
  56. data/vendor/libbacktrace/config/ltversion.m4 +23 -0
  57. data/vendor/libbacktrace/config/lt~obsolete.m4 +98 -0
  58. data/vendor/libbacktrace/config/multi.m4 +68 -0
  59. data/vendor/libbacktrace/config/override.m4 +117 -0
  60. data/vendor/libbacktrace/config/unwind_ipinfo.m4 +37 -0
  61. data/vendor/libbacktrace/config/warnings.m4 +227 -0
  62. data/vendor/libbacktrace/config.guess +1700 -0
  63. data/vendor/libbacktrace/config.h.in +185 -0
  64. data/vendor/libbacktrace/config.sub +1885 -0
  65. data/vendor/libbacktrace/configure +15952 -0
  66. data/vendor/libbacktrace/configure.ac +642 -0
  67. data/vendor/libbacktrace/dwarf.c +4593 -0
  68. data/vendor/libbacktrace/edtest.c +120 -0
  69. data/vendor/libbacktrace/edtest2.c +43 -0
  70. data/vendor/libbacktrace/elf.c +7471 -0
  71. data/vendor/libbacktrace/fileline.c +407 -0
  72. data/vendor/libbacktrace/filenames.h +52 -0
  73. data/vendor/libbacktrace/filetype.awk +13 -0
  74. data/vendor/libbacktrace/install-debuginfo-for-buildid.sh.in +65 -0
  75. data/vendor/libbacktrace/install-sh +501 -0
  76. data/vendor/libbacktrace/instrumented_alloc.c +114 -0
  77. data/vendor/libbacktrace/internal.h +428 -0
  78. data/vendor/libbacktrace/ltmain.sh +8636 -0
  79. data/vendor/libbacktrace/macho.c +1361 -0
  80. data/vendor/libbacktrace/missing +215 -0
  81. data/vendor/libbacktrace/mmap.c +331 -0
  82. data/vendor/libbacktrace/mmapio.c +110 -0
  83. data/vendor/libbacktrace/move-if-change +83 -0
  84. data/vendor/libbacktrace/mtest.c +410 -0
  85. data/vendor/libbacktrace/nounwind.c +66 -0
  86. data/vendor/libbacktrace/pecoff.c +1123 -0
  87. data/vendor/libbacktrace/posix.c +104 -0
  88. data/vendor/libbacktrace/print.c +117 -0
  89. data/vendor/libbacktrace/read.c +110 -0
  90. data/vendor/libbacktrace/simple.c +108 -0
  91. data/vendor/libbacktrace/sort.c +108 -0
  92. data/vendor/libbacktrace/state.c +72 -0
  93. data/vendor/libbacktrace/stest.c +137 -0
  94. data/vendor/libbacktrace/test-driver +148 -0
  95. data/vendor/libbacktrace/test_format.c +55 -0
  96. data/vendor/libbacktrace/testlib.c +234 -0
  97. data/vendor/libbacktrace/testlib.h +110 -0
  98. data/vendor/libbacktrace/ttest.c +161 -0
  99. data/vendor/libbacktrace/unittest.c +92 -0
  100. data/vendor/libbacktrace/unknown.c +65 -0
  101. data/vendor/libbacktrace/xcoff.c +1617 -0
  102. data/vendor/libbacktrace/xztest.c +508 -0
  103. data/vendor/libbacktrace/zstdtest.c +523 -0
  104. data/vendor/libbacktrace/ztest.c +541 -0
  105. metadata +122 -3
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pf2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daisuke Aritomo
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-01-04 00:00:00.000000000 Z
10
+ date: 2025-03-22 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rake-compiler
@@ -23,6 +23,20 @@ dependencies:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
25
  version: '0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: mini_portile2
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
26
40
  - !ruby/object:Gem::Dependency
27
41
  name: rb_sys
28
42
  requirement: !ruby/object:Gem::Requirement
@@ -51,6 +65,20 @@ dependencies:
51
65
  - - ">="
52
66
  - !ruby/object:Gem::Version
53
67
  version: '0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: irb
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
54
82
  - !ruby/object:Gem::Dependency
55
83
  name: minitest
56
84
  requirement: !ruby/object:Gem::Requirement
@@ -153,6 +181,9 @@ files:
153
181
  - crates/backtrace-sys2/src/libbacktrace/xztest.c
154
182
  - crates/backtrace-sys2/src/libbacktrace/zstdtest.c
155
183
  - crates/backtrace-sys2/src/libbacktrace/ztest.c
184
+ - doc/development.md
185
+ - examples/mandelbrot.rb
186
+ - examples/mandelbrot_ractor.rb
156
187
  - exe/pf2
157
188
  - ext/pf2/Cargo.toml
158
189
  - ext/pf2/build.rs
@@ -162,6 +193,7 @@ files:
162
193
  - ext/pf2/src/profile.rs
163
194
  - ext/pf2/src/profile_serializer.rs
164
195
  - ext/pf2/src/ringbuffer.rs
196
+ - ext/pf2/src/ruby_c_api_helper.c
165
197
  - ext/pf2/src/ruby_init.rs
166
198
  - ext/pf2/src/ruby_internal_apis.rs
167
199
  - ext/pf2/src/sample.rs
@@ -178,16 +210,103 @@ files:
178
210
  - ext/pf2/src/signal_scheduler_unsupported_platform.rs
179
211
  - ext/pf2/src/timer_thread_scheduler.rs
180
212
  - ext/pf2/src/util.rs
213
+ - ext/pf2c/backtrace_state.c
214
+ - ext/pf2c/backtrace_state.h
215
+ - ext/pf2c/configuration.c
216
+ - ext/pf2c/configuration.h
217
+ - ext/pf2c/extconf.rb
218
+ - ext/pf2c/pf2.c
219
+ - ext/pf2c/pf2.h
220
+ - ext/pf2c/ringbuffer.c
221
+ - ext/pf2c/ringbuffer.h
222
+ - ext/pf2c/sample.c
223
+ - ext/pf2c/sample.h
224
+ - ext/pf2c/serializer.c
225
+ - ext/pf2c/serializer.h
226
+ - ext/pf2c/session.c
227
+ - ext/pf2c/session.h
181
228
  - lib/pf2.rb
182
229
  - lib/pf2/cli.rb
183
230
  - lib/pf2/reporter.rb
231
+ - lib/pf2/reporter/annotate.rb
184
232
  - lib/pf2/reporter/firefox_profiler.rb
233
+ - lib/pf2/reporter/firefox_profiler_ser2.rb
185
234
  - lib/pf2/reporter/stack_weaver.rb
186
235
  - lib/pf2/serve.rb
187
236
  - lib/pf2/session.rb
188
237
  - lib/pf2/version.rb
189
238
  - rust-toolchain.toml
190
239
  - rustfmt.toml
240
+ - vendor/libbacktrace/.gitignore
241
+ - vendor/libbacktrace/Isaac.Newton-Opticks.txt
242
+ - vendor/libbacktrace/LICENSE
243
+ - vendor/libbacktrace/Makefile.am
244
+ - vendor/libbacktrace/Makefile.in
245
+ - vendor/libbacktrace/README.md
246
+ - vendor/libbacktrace/aclocal.m4
247
+ - vendor/libbacktrace/alloc.c
248
+ - vendor/libbacktrace/allocfail.c
249
+ - vendor/libbacktrace/allocfail.sh
250
+ - vendor/libbacktrace/atomic.c
251
+ - vendor/libbacktrace/backtrace-supported.h.in
252
+ - vendor/libbacktrace/backtrace.c
253
+ - vendor/libbacktrace/backtrace.h
254
+ - vendor/libbacktrace/btest.c
255
+ - vendor/libbacktrace/compile
256
+ - vendor/libbacktrace/config.guess
257
+ - vendor/libbacktrace/config.h.in
258
+ - vendor/libbacktrace/config.sub
259
+ - vendor/libbacktrace/config/enable.m4
260
+ - vendor/libbacktrace/config/lead-dot.m4
261
+ - vendor/libbacktrace/config/libtool.m4
262
+ - vendor/libbacktrace/config/ltoptions.m4
263
+ - vendor/libbacktrace/config/ltsugar.m4
264
+ - vendor/libbacktrace/config/ltversion.m4
265
+ - vendor/libbacktrace/config/lt~obsolete.m4
266
+ - vendor/libbacktrace/config/multi.m4
267
+ - vendor/libbacktrace/config/override.m4
268
+ - vendor/libbacktrace/config/unwind_ipinfo.m4
269
+ - vendor/libbacktrace/config/warnings.m4
270
+ - vendor/libbacktrace/configure
271
+ - vendor/libbacktrace/configure.ac
272
+ - vendor/libbacktrace/dwarf.c
273
+ - vendor/libbacktrace/edtest.c
274
+ - vendor/libbacktrace/edtest2.c
275
+ - vendor/libbacktrace/elf.c
276
+ - vendor/libbacktrace/fileline.c
277
+ - vendor/libbacktrace/filenames.h
278
+ - vendor/libbacktrace/filetype.awk
279
+ - vendor/libbacktrace/install-debuginfo-for-buildid.sh.in
280
+ - vendor/libbacktrace/install-sh
281
+ - vendor/libbacktrace/instrumented_alloc.c
282
+ - vendor/libbacktrace/internal.h
283
+ - vendor/libbacktrace/ltmain.sh
284
+ - vendor/libbacktrace/macho.c
285
+ - vendor/libbacktrace/missing
286
+ - vendor/libbacktrace/mmap.c
287
+ - vendor/libbacktrace/mmapio.c
288
+ - vendor/libbacktrace/move-if-change
289
+ - vendor/libbacktrace/mtest.c
290
+ - vendor/libbacktrace/nounwind.c
291
+ - vendor/libbacktrace/pecoff.c
292
+ - vendor/libbacktrace/posix.c
293
+ - vendor/libbacktrace/print.c
294
+ - vendor/libbacktrace/read.c
295
+ - vendor/libbacktrace/simple.c
296
+ - vendor/libbacktrace/sort.c
297
+ - vendor/libbacktrace/state.c
298
+ - vendor/libbacktrace/stest.c
299
+ - vendor/libbacktrace/test-driver
300
+ - vendor/libbacktrace/test_format.c
301
+ - vendor/libbacktrace/testlib.c
302
+ - vendor/libbacktrace/testlib.h
303
+ - vendor/libbacktrace/ttest.c
304
+ - vendor/libbacktrace/unittest.c
305
+ - vendor/libbacktrace/unknown.c
306
+ - vendor/libbacktrace/xcoff.c
307
+ - vendor/libbacktrace/xztest.c
308
+ - vendor/libbacktrace/zstdtest.c
309
+ - vendor/libbacktrace/ztest.c
191
310
  homepage: https://github.com/osyoyu/pf2
192
311
  licenses:
193
312
  - MIT
@@ -210,7 +329,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
210
329
  - !ruby/object:Gem::Version
211
330
  version: '0'
212
331
  requirements: []
213
- rubygems_version: 3.6.2
332
+ rubygems_version: 3.7.0.dev
214
333
  specification_version: 4
215
334
  summary: Yet another Ruby profiler
216
335
  test_files: []