pf2 0.9.0 → 0.11.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.
- checksums.yaml +4 -4
- data/.document +3 -0
- data/.rdoc_options +6 -0
- data/CHANGELOG.md +36 -0
- data/README.md +31 -4
- data/Rakefile +8 -9
- data/doc/development.md +6 -0
- data/ext/pf2/debug.h +12 -0
- data/ext/pf2/extconf.rb +23 -6
- data/ext/pf2/pf2.c +17 -0
- data/ext/{pf2c → pf2}/sample.c +7 -3
- data/ext/pf2/sample.h +27 -0
- data/ext/{pf2c → pf2}/serializer.c +1 -1
- data/ext/{pf2c → pf2}/session.c +116 -31
- data/ext/{pf2c → pf2}/session.h +7 -2
- data/lib/pf2/cli.rb +3 -11
- data/lib/pf2/reporter/firefox_profiler_ser2.rb +17 -13
- data/lib/pf2/reporter/stack_weaver.rb +9 -1
- data/lib/pf2/reporter.rb +0 -1
- data/lib/pf2/version.rb +1 -1
- data/lib/pf2.rb +1 -2
- metadata +41 -129
- data/Cargo.lock +0 -630
- data/Cargo.toml +0 -3
- data/crates/backtrace-sys2/.gitignore +0 -1
- data/crates/backtrace-sys2/Cargo.toml +0 -9
- data/crates/backtrace-sys2/build.rs +0 -45
- data/crates/backtrace-sys2/src/lib.rs +0 -5
- data/crates/backtrace-sys2/src/libbacktrace/.gitignore +0 -15
- data/crates/backtrace-sys2/src/libbacktrace/Isaac.Newton-Opticks.txt +0 -9286
- data/crates/backtrace-sys2/src/libbacktrace/LICENSE +0 -29
- data/crates/backtrace-sys2/src/libbacktrace/Makefile.am +0 -708
- data/crates/backtrace-sys2/src/libbacktrace/Makefile.in +0 -2820
- data/crates/backtrace-sys2/src/libbacktrace/README.md +0 -46
- data/crates/backtrace-sys2/src/libbacktrace/aclocal.m4 +0 -864
- data/crates/backtrace-sys2/src/libbacktrace/alloc.c +0 -167
- data/crates/backtrace-sys2/src/libbacktrace/allocfail.c +0 -136
- data/crates/backtrace-sys2/src/libbacktrace/allocfail.sh +0 -104
- data/crates/backtrace-sys2/src/libbacktrace/atomic.c +0 -113
- data/crates/backtrace-sys2/src/libbacktrace/backtrace-supported.h.in +0 -66
- data/crates/backtrace-sys2/src/libbacktrace/backtrace.c +0 -129
- data/crates/backtrace-sys2/src/libbacktrace/backtrace.h +0 -189
- data/crates/backtrace-sys2/src/libbacktrace/btest.c +0 -517
- data/crates/backtrace-sys2/src/libbacktrace/compile +0 -348
- data/crates/backtrace-sys2/src/libbacktrace/config/enable.m4 +0 -38
- data/crates/backtrace-sys2/src/libbacktrace/config/lead-dot.m4 +0 -31
- data/crates/backtrace-sys2/src/libbacktrace/config/libtool.m4 +0 -7545
- data/crates/backtrace-sys2/src/libbacktrace/config/ltoptions.m4 +0 -369
- data/crates/backtrace-sys2/src/libbacktrace/config/ltsugar.m4 +0 -123
- data/crates/backtrace-sys2/src/libbacktrace/config/ltversion.m4 +0 -23
- data/crates/backtrace-sys2/src/libbacktrace/config/lt~obsolete.m4 +0 -98
- data/crates/backtrace-sys2/src/libbacktrace/config/multi.m4 +0 -68
- data/crates/backtrace-sys2/src/libbacktrace/config/override.m4 +0 -117
- data/crates/backtrace-sys2/src/libbacktrace/config/unwind_ipinfo.m4 +0 -37
- data/crates/backtrace-sys2/src/libbacktrace/config/warnings.m4 +0 -227
- data/crates/backtrace-sys2/src/libbacktrace/config.guess +0 -1700
- data/crates/backtrace-sys2/src/libbacktrace/config.h.in +0 -185
- data/crates/backtrace-sys2/src/libbacktrace/config.sub +0 -1885
- data/crates/backtrace-sys2/src/libbacktrace/configure +0 -15929
- data/crates/backtrace-sys2/src/libbacktrace/configure.ac +0 -632
- data/crates/backtrace-sys2/src/libbacktrace/dwarf.c +0 -4409
- data/crates/backtrace-sys2/src/libbacktrace/edtest.c +0 -120
- data/crates/backtrace-sys2/src/libbacktrace/edtest2.c +0 -43
- data/crates/backtrace-sys2/src/libbacktrace/elf.c +0 -7465
- data/crates/backtrace-sys2/src/libbacktrace/fileline.c +0 -407
- data/crates/backtrace-sys2/src/libbacktrace/filenames.h +0 -52
- data/crates/backtrace-sys2/src/libbacktrace/filetype.awk +0 -13
- data/crates/backtrace-sys2/src/libbacktrace/install-debuginfo-for-buildid.sh.in +0 -65
- data/crates/backtrace-sys2/src/libbacktrace/install-sh +0 -501
- data/crates/backtrace-sys2/src/libbacktrace/instrumented_alloc.c +0 -114
- data/crates/backtrace-sys2/src/libbacktrace/internal.h +0 -428
- data/crates/backtrace-sys2/src/libbacktrace/ltmain.sh +0 -8636
- data/crates/backtrace-sys2/src/libbacktrace/macho.c +0 -1361
- data/crates/backtrace-sys2/src/libbacktrace/missing +0 -215
- data/crates/backtrace-sys2/src/libbacktrace/mmap.c +0 -331
- data/crates/backtrace-sys2/src/libbacktrace/mmapio.c +0 -110
- data/crates/backtrace-sys2/src/libbacktrace/move-if-change +0 -83
- data/crates/backtrace-sys2/src/libbacktrace/mtest.c +0 -410
- data/crates/backtrace-sys2/src/libbacktrace/nounwind.c +0 -66
- data/crates/backtrace-sys2/src/libbacktrace/pecoff.c +0 -1123
- data/crates/backtrace-sys2/src/libbacktrace/posix.c +0 -104
- data/crates/backtrace-sys2/src/libbacktrace/print.c +0 -117
- data/crates/backtrace-sys2/src/libbacktrace/read.c +0 -110
- data/crates/backtrace-sys2/src/libbacktrace/simple.c +0 -108
- data/crates/backtrace-sys2/src/libbacktrace/sort.c +0 -108
- data/crates/backtrace-sys2/src/libbacktrace/state.c +0 -72
- data/crates/backtrace-sys2/src/libbacktrace/stest.c +0 -137
- data/crates/backtrace-sys2/src/libbacktrace/test-driver +0 -148
- data/crates/backtrace-sys2/src/libbacktrace/test_format.c +0 -55
- data/crates/backtrace-sys2/src/libbacktrace/testlib.c +0 -234
- data/crates/backtrace-sys2/src/libbacktrace/testlib.h +0 -110
- data/crates/backtrace-sys2/src/libbacktrace/ttest.c +0 -161
- data/crates/backtrace-sys2/src/libbacktrace/unittest.c +0 -92
- data/crates/backtrace-sys2/src/libbacktrace/unknown.c +0 -65
- data/crates/backtrace-sys2/src/libbacktrace/xcoff.c +0 -1617
- data/crates/backtrace-sys2/src/libbacktrace/xztest.c +0 -508
- data/crates/backtrace-sys2/src/libbacktrace/zstdtest.c +0 -523
- data/crates/backtrace-sys2/src/libbacktrace/ztest.c +0 -541
- data/ext/pf2/Cargo.toml +0 -25
- data/ext/pf2/build.rs +0 -10
- data/ext/pf2/src/backtrace.rs +0 -127
- data/ext/pf2/src/lib.rs +0 -22
- data/ext/pf2/src/profile.rs +0 -69
- data/ext/pf2/src/profile_serializer.rs +0 -241
- data/ext/pf2/src/ringbuffer.rs +0 -150
- data/ext/pf2/src/ruby_c_api_helper.c +0 -6
- data/ext/pf2/src/ruby_init.rs +0 -40
- data/ext/pf2/src/ruby_internal_apis.rs +0 -77
- data/ext/pf2/src/sample.rs +0 -67
- data/ext/pf2/src/scheduler.rs +0 -10
- data/ext/pf2/src/serialization/profile.rs +0 -48
- data/ext/pf2/src/serialization/serializer.rs +0 -329
- data/ext/pf2/src/serialization.rs +0 -2
- data/ext/pf2/src/session/configuration.rs +0 -114
- data/ext/pf2/src/session/new_thread_watcher.rs +0 -80
- data/ext/pf2/src/session/ruby_object.rs +0 -90
- data/ext/pf2/src/session.rs +0 -248
- data/ext/pf2/src/siginfo_t.c +0 -5
- data/ext/pf2/src/signal_scheduler.rs +0 -201
- data/ext/pf2/src/signal_scheduler_unsupported_platform.rs +0 -39
- data/ext/pf2/src/timer_thread_scheduler.rs +0 -179
- data/ext/pf2/src/util.rs +0 -31
- data/ext/pf2c/extconf.rb +0 -21
- data/ext/pf2c/pf2.c +0 -17
- data/ext/pf2c/sample.h +0 -22
- data/lib/pf2/reporter/firefox_profiler.rb +0 -397
- data/lib/pf2/session.rb +0 -9
- data/rust-toolchain.toml +0 -2
- data/rustfmt.toml +0 -1
- /data/ext/{pf2c → pf2}/backtrace_state.c +0 -0
- /data/ext/{pf2c → pf2}/backtrace_state.h +0 -0
- /data/ext/{pf2c → pf2}/configuration.c +0 -0
- /data/ext/{pf2c → pf2}/configuration.h +0 -0
- /data/ext/{pf2c → pf2}/pf2.h +0 -0
- /data/ext/{pf2c → pf2}/ringbuffer.c +0 -0
- /data/ext/{pf2c → pf2}/ringbuffer.h +0 -0
- /data/ext/{pf2c → pf2}/serializer.h +0 -0
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
require 'json'
|
|
4
4
|
|
|
5
|
+
require_relative 'stack_weaver'
|
|
6
|
+
|
|
5
7
|
module Pf2
|
|
6
8
|
module Reporter
|
|
7
9
|
# Generates Firefox Profiler's "processed profile format"
|
|
@@ -59,7 +61,7 @@ module Pf2
|
|
|
59
61
|
counters: [],
|
|
60
62
|
threads: thread_reports,
|
|
61
63
|
}
|
|
62
|
-
|
|
64
|
+
FirefoxProfilerSer2.deep_camelize_keys(report)
|
|
63
65
|
end
|
|
64
66
|
|
|
65
67
|
class ThreadReport
|
|
@@ -72,6 +74,7 @@ module Pf2
|
|
|
72
74
|
@stack_tree = { :stack_id => nil }
|
|
73
75
|
@reverse_stack_tree = []
|
|
74
76
|
@string_table = { nil => 0 }
|
|
77
|
+
@stack_weaver = StackWeaver.new(@profile)
|
|
75
78
|
end
|
|
76
79
|
|
|
77
80
|
def inspect
|
|
@@ -79,9 +82,6 @@ module Pf2
|
|
|
79
82
|
end
|
|
80
83
|
|
|
81
84
|
def emit
|
|
82
|
-
# TODO: weave?
|
|
83
|
-
# @thread[:stack_tree] = x
|
|
84
|
-
|
|
85
85
|
# Build func table from profile[:functions]
|
|
86
86
|
func_table = build_func_table
|
|
87
87
|
# Build frame table from profile[:locations]
|
|
@@ -136,8 +136,10 @@ module Pf2
|
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
@samples.each do |sample|
|
|
139
|
-
stack
|
|
140
|
-
|
|
139
|
+
# Weave Ruby stack and native stack
|
|
140
|
+
woven_stack = @stack_weaver.weave(sample[:stack], sample[:native_stack] || [])
|
|
141
|
+
woven_stack.reverse! # StackWeaver returns in root->leaf order, we need leaf->root
|
|
142
|
+
stack_id = @stack_tree.dig(*woven_stack, :stack_id)
|
|
141
143
|
|
|
142
144
|
ret[:stack] << stack_id
|
|
143
145
|
ret[:time] << sample[:elapsed_ns] / 1_000_000 # ns -> ms
|
|
@@ -165,9 +167,11 @@ module Pf2
|
|
|
165
167
|
}
|
|
166
168
|
|
|
167
169
|
@profile[:locations].each.with_index do |location, i|
|
|
170
|
+
function = @profile[:functions][location[:function_index]]
|
|
171
|
+
|
|
168
172
|
ret[:address] << location[:address]
|
|
169
|
-
ret[:category] <<
|
|
170
|
-
ret[:subcategory] <<
|
|
173
|
+
ret[:category] << (function[:implementation] == :native ? 3 : 2)
|
|
174
|
+
ret[:subcategory] << nil
|
|
171
175
|
ret[:func] << location[:function_index]
|
|
172
176
|
ret[:inner_window_id] << nil
|
|
173
177
|
ret[:implementation] << nil
|
|
@@ -218,15 +222,15 @@ module Pf2
|
|
|
218
222
|
}
|
|
219
223
|
|
|
220
224
|
@profile[:samples].each do |sample|
|
|
221
|
-
#
|
|
222
|
-
|
|
223
|
-
|
|
225
|
+
# Weave Ruby stack and native stack
|
|
226
|
+
woven_stack = @stack_weaver.weave(sample[:stack], sample[:native_stack] || [])
|
|
227
|
+
woven_stack.reverse! # StackWeaver returns in root->leaf order, we need leaf->root
|
|
224
228
|
|
|
225
229
|
# Build the stack_table Array which Firefox Profiler requires.
|
|
226
230
|
# At the same time, build the stack tree for efficient traversal.
|
|
227
231
|
|
|
228
232
|
current_node = @stack_tree # the stack tree root
|
|
229
|
-
|
|
233
|
+
woven_stack.each do |location_index|
|
|
230
234
|
if current_node[location_index].nil?
|
|
231
235
|
# The tree node is unknown. Create it.
|
|
232
236
|
new_stack_id = ret[:frame].length # The position of the new stack in the stack_table array
|
|
@@ -238,7 +242,7 @@ module Pf2
|
|
|
238
242
|
|
|
239
243
|
# Register the stack in the stack_table Array
|
|
240
244
|
ret[:frame] << location_index
|
|
241
|
-
ret[:category] << (function[:implementation] == :
|
|
245
|
+
ret[:category] << (function[:implementation] == :native ? 3 : 2)
|
|
242
246
|
ret[:subcategory] << nil
|
|
243
247
|
ret[:prefix] << current_node[:stack_id] # the parent's position in the stack_table array
|
|
244
248
|
end
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
module Pf2
|
|
4
4
|
module Reporter
|
|
5
|
+
# "Weaves" the native stack into the Ruby stack.
|
|
6
|
+
#
|
|
7
|
+
# Strategy:
|
|
8
|
+
# - Split the stack into Ruby and Native parts
|
|
9
|
+
# - Start from the root of the Native stack
|
|
10
|
+
# - Dig in to the native stack until we hit a rb_vm_exec(), which marks a call into Ruby code
|
|
11
|
+
# - Switch to Ruby stack. Keep digging until we hit a Cfunc call, then switch back to Native stack
|
|
12
|
+
# - Repeat until we consume the entire stack
|
|
5
13
|
class StackWeaver
|
|
6
14
|
def initialize(profile)
|
|
7
15
|
@profile = profile
|
|
@@ -74,7 +82,7 @@ module Pf2
|
|
|
74
82
|
|
|
75
83
|
# If the next function is a vm_exec_core() (= VM_EXEC in vm_exec.h),
|
|
76
84
|
# we switch to the Ruby stack.
|
|
77
|
-
function[:name]
|
|
85
|
+
function[:name]&.match?(/\Avm_exec_core(?:\.lto_priv\.\d+)?\z/)
|
|
78
86
|
end
|
|
79
87
|
end
|
|
80
88
|
end
|
data/lib/pf2/reporter.rb
CHANGED
data/lib/pf2/version.rb
CHANGED
data/lib/pf2.rb
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require_relative 'pf2/pf2'
|
|
4
|
-
require_relative 'pf2/session'
|
|
5
4
|
require_relative 'pf2/version'
|
|
6
5
|
|
|
7
6
|
module Pf2
|
|
8
7
|
class Error < StandardError; end
|
|
9
8
|
|
|
10
9
|
def self.start(...)
|
|
11
|
-
@@session =
|
|
10
|
+
@@session = Session.new(...)
|
|
12
11
|
@@session.start
|
|
13
12
|
end
|
|
14
13
|
|
metadata
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pf2
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.11.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daisuke Aritomo
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
|
-
name:
|
|
13
|
+
name: logger
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
15
15
|
requirements:
|
|
16
16
|
- - ">="
|
|
@@ -24,7 +24,7 @@ dependencies:
|
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
25
|
version: '0'
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
|
-
name:
|
|
27
|
+
name: rake-compiler
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - ">="
|
|
@@ -38,19 +38,19 @@ dependencies:
|
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
39
|
version: '0'
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
|
-
name:
|
|
41
|
+
name: mini_portile2
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
|
-
- -
|
|
44
|
+
- - ">="
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: 0
|
|
46
|
+
version: '0'
|
|
47
47
|
type: :runtime
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
|
-
- -
|
|
51
|
+
- - ">="
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: 0
|
|
53
|
+
version: '0'
|
|
54
54
|
- !ruby/object:Gem::Dependency
|
|
55
55
|
name: webrick
|
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -93,6 +93,20 @@ dependencies:
|
|
|
93
93
|
- - ">="
|
|
94
94
|
- !ruby/object:Gem::Version
|
|
95
95
|
version: '0'
|
|
96
|
+
- !ruby/object:Gem::Dependency
|
|
97
|
+
name: rdoc
|
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - ">="
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '0'
|
|
103
|
+
type: :development
|
|
104
|
+
prerelease: false
|
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - ">="
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '0'
|
|
96
110
|
email:
|
|
97
111
|
- osyoyu@osyoyu.com
|
|
98
112
|
executables:
|
|
@@ -101,142 +115,40 @@ extensions:
|
|
|
101
115
|
- ext/pf2/extconf.rb
|
|
102
116
|
extra_rdoc_files: []
|
|
103
117
|
files:
|
|
118
|
+
- ".document"
|
|
119
|
+
- ".rdoc_options"
|
|
104
120
|
- CHANGELOG.md
|
|
105
|
-
- Cargo.lock
|
|
106
|
-
- Cargo.toml
|
|
107
121
|
- LICENSE.txt
|
|
108
122
|
- README.md
|
|
109
123
|
- Rakefile
|
|
110
|
-
- crates/backtrace-sys2/.gitignore
|
|
111
|
-
- crates/backtrace-sys2/Cargo.toml
|
|
112
|
-
- crates/backtrace-sys2/build.rs
|
|
113
|
-
- crates/backtrace-sys2/src/lib.rs
|
|
114
|
-
- crates/backtrace-sys2/src/libbacktrace/.gitignore
|
|
115
|
-
- crates/backtrace-sys2/src/libbacktrace/Isaac.Newton-Opticks.txt
|
|
116
|
-
- crates/backtrace-sys2/src/libbacktrace/LICENSE
|
|
117
|
-
- crates/backtrace-sys2/src/libbacktrace/Makefile.am
|
|
118
|
-
- crates/backtrace-sys2/src/libbacktrace/Makefile.in
|
|
119
|
-
- crates/backtrace-sys2/src/libbacktrace/README.md
|
|
120
|
-
- crates/backtrace-sys2/src/libbacktrace/aclocal.m4
|
|
121
|
-
- crates/backtrace-sys2/src/libbacktrace/alloc.c
|
|
122
|
-
- crates/backtrace-sys2/src/libbacktrace/allocfail.c
|
|
123
|
-
- crates/backtrace-sys2/src/libbacktrace/allocfail.sh
|
|
124
|
-
- crates/backtrace-sys2/src/libbacktrace/atomic.c
|
|
125
|
-
- crates/backtrace-sys2/src/libbacktrace/backtrace-supported.h.in
|
|
126
|
-
- crates/backtrace-sys2/src/libbacktrace/backtrace.c
|
|
127
|
-
- crates/backtrace-sys2/src/libbacktrace/backtrace.h
|
|
128
|
-
- crates/backtrace-sys2/src/libbacktrace/btest.c
|
|
129
|
-
- crates/backtrace-sys2/src/libbacktrace/compile
|
|
130
|
-
- crates/backtrace-sys2/src/libbacktrace/config.guess
|
|
131
|
-
- crates/backtrace-sys2/src/libbacktrace/config.h.in
|
|
132
|
-
- crates/backtrace-sys2/src/libbacktrace/config.sub
|
|
133
|
-
- crates/backtrace-sys2/src/libbacktrace/config/enable.m4
|
|
134
|
-
- crates/backtrace-sys2/src/libbacktrace/config/lead-dot.m4
|
|
135
|
-
- crates/backtrace-sys2/src/libbacktrace/config/libtool.m4
|
|
136
|
-
- crates/backtrace-sys2/src/libbacktrace/config/ltoptions.m4
|
|
137
|
-
- crates/backtrace-sys2/src/libbacktrace/config/ltsugar.m4
|
|
138
|
-
- crates/backtrace-sys2/src/libbacktrace/config/ltversion.m4
|
|
139
|
-
- crates/backtrace-sys2/src/libbacktrace/config/lt~obsolete.m4
|
|
140
|
-
- crates/backtrace-sys2/src/libbacktrace/config/multi.m4
|
|
141
|
-
- crates/backtrace-sys2/src/libbacktrace/config/override.m4
|
|
142
|
-
- crates/backtrace-sys2/src/libbacktrace/config/unwind_ipinfo.m4
|
|
143
|
-
- crates/backtrace-sys2/src/libbacktrace/config/warnings.m4
|
|
144
|
-
- crates/backtrace-sys2/src/libbacktrace/configure
|
|
145
|
-
- crates/backtrace-sys2/src/libbacktrace/configure.ac
|
|
146
|
-
- crates/backtrace-sys2/src/libbacktrace/dwarf.c
|
|
147
|
-
- crates/backtrace-sys2/src/libbacktrace/edtest.c
|
|
148
|
-
- crates/backtrace-sys2/src/libbacktrace/edtest2.c
|
|
149
|
-
- crates/backtrace-sys2/src/libbacktrace/elf.c
|
|
150
|
-
- crates/backtrace-sys2/src/libbacktrace/fileline.c
|
|
151
|
-
- crates/backtrace-sys2/src/libbacktrace/filenames.h
|
|
152
|
-
- crates/backtrace-sys2/src/libbacktrace/filetype.awk
|
|
153
|
-
- crates/backtrace-sys2/src/libbacktrace/install-debuginfo-for-buildid.sh.in
|
|
154
|
-
- crates/backtrace-sys2/src/libbacktrace/install-sh
|
|
155
|
-
- crates/backtrace-sys2/src/libbacktrace/instrumented_alloc.c
|
|
156
|
-
- crates/backtrace-sys2/src/libbacktrace/internal.h
|
|
157
|
-
- crates/backtrace-sys2/src/libbacktrace/ltmain.sh
|
|
158
|
-
- crates/backtrace-sys2/src/libbacktrace/macho.c
|
|
159
|
-
- crates/backtrace-sys2/src/libbacktrace/missing
|
|
160
|
-
- crates/backtrace-sys2/src/libbacktrace/mmap.c
|
|
161
|
-
- crates/backtrace-sys2/src/libbacktrace/mmapio.c
|
|
162
|
-
- crates/backtrace-sys2/src/libbacktrace/move-if-change
|
|
163
|
-
- crates/backtrace-sys2/src/libbacktrace/mtest.c
|
|
164
|
-
- crates/backtrace-sys2/src/libbacktrace/nounwind.c
|
|
165
|
-
- crates/backtrace-sys2/src/libbacktrace/pecoff.c
|
|
166
|
-
- crates/backtrace-sys2/src/libbacktrace/posix.c
|
|
167
|
-
- crates/backtrace-sys2/src/libbacktrace/print.c
|
|
168
|
-
- crates/backtrace-sys2/src/libbacktrace/read.c
|
|
169
|
-
- crates/backtrace-sys2/src/libbacktrace/simple.c
|
|
170
|
-
- crates/backtrace-sys2/src/libbacktrace/sort.c
|
|
171
|
-
- crates/backtrace-sys2/src/libbacktrace/state.c
|
|
172
|
-
- crates/backtrace-sys2/src/libbacktrace/stest.c
|
|
173
|
-
- crates/backtrace-sys2/src/libbacktrace/test-driver
|
|
174
|
-
- crates/backtrace-sys2/src/libbacktrace/test_format.c
|
|
175
|
-
- crates/backtrace-sys2/src/libbacktrace/testlib.c
|
|
176
|
-
- crates/backtrace-sys2/src/libbacktrace/testlib.h
|
|
177
|
-
- crates/backtrace-sys2/src/libbacktrace/ttest.c
|
|
178
|
-
- crates/backtrace-sys2/src/libbacktrace/unittest.c
|
|
179
|
-
- crates/backtrace-sys2/src/libbacktrace/unknown.c
|
|
180
|
-
- crates/backtrace-sys2/src/libbacktrace/xcoff.c
|
|
181
|
-
- crates/backtrace-sys2/src/libbacktrace/xztest.c
|
|
182
|
-
- crates/backtrace-sys2/src/libbacktrace/zstdtest.c
|
|
183
|
-
- crates/backtrace-sys2/src/libbacktrace/ztest.c
|
|
184
124
|
- doc/development.md
|
|
185
125
|
- examples/mandelbrot.rb
|
|
186
126
|
- examples/mandelbrot_ractor.rb
|
|
187
127
|
- exe/pf2
|
|
188
|
-
- ext/pf2/
|
|
189
|
-
- ext/pf2/
|
|
128
|
+
- ext/pf2/backtrace_state.c
|
|
129
|
+
- ext/pf2/backtrace_state.h
|
|
130
|
+
- ext/pf2/configuration.c
|
|
131
|
+
- ext/pf2/configuration.h
|
|
132
|
+
- ext/pf2/debug.h
|
|
190
133
|
- ext/pf2/extconf.rb
|
|
191
|
-
- ext/pf2/
|
|
192
|
-
- ext/pf2/
|
|
193
|
-
- ext/pf2/
|
|
194
|
-
- ext/pf2/
|
|
195
|
-
- ext/pf2/
|
|
196
|
-
- ext/pf2/
|
|
197
|
-
- ext/pf2/
|
|
198
|
-
- ext/pf2/
|
|
199
|
-
- ext/pf2/
|
|
200
|
-
- ext/pf2/
|
|
201
|
-
- ext/pf2/src/serialization.rs
|
|
202
|
-
- ext/pf2/src/serialization/profile.rs
|
|
203
|
-
- ext/pf2/src/serialization/serializer.rs
|
|
204
|
-
- ext/pf2/src/session.rs
|
|
205
|
-
- ext/pf2/src/session/configuration.rs
|
|
206
|
-
- ext/pf2/src/session/new_thread_watcher.rs
|
|
207
|
-
- ext/pf2/src/session/ruby_object.rs
|
|
208
|
-
- ext/pf2/src/siginfo_t.c
|
|
209
|
-
- ext/pf2/src/signal_scheduler.rs
|
|
210
|
-
- ext/pf2/src/signal_scheduler_unsupported_platform.rs
|
|
211
|
-
- ext/pf2/src/timer_thread_scheduler.rs
|
|
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
|
|
134
|
+
- ext/pf2/pf2.c
|
|
135
|
+
- ext/pf2/pf2.h
|
|
136
|
+
- ext/pf2/ringbuffer.c
|
|
137
|
+
- ext/pf2/ringbuffer.h
|
|
138
|
+
- ext/pf2/sample.c
|
|
139
|
+
- ext/pf2/sample.h
|
|
140
|
+
- ext/pf2/serializer.c
|
|
141
|
+
- ext/pf2/serializer.h
|
|
142
|
+
- ext/pf2/session.c
|
|
143
|
+
- ext/pf2/session.h
|
|
228
144
|
- lib/pf2.rb
|
|
229
145
|
- lib/pf2/cli.rb
|
|
230
146
|
- lib/pf2/reporter.rb
|
|
231
147
|
- lib/pf2/reporter/annotate.rb
|
|
232
|
-
- lib/pf2/reporter/firefox_profiler.rb
|
|
233
148
|
- lib/pf2/reporter/firefox_profiler_ser2.rb
|
|
234
149
|
- lib/pf2/reporter/stack_weaver.rb
|
|
235
150
|
- lib/pf2/serve.rb
|
|
236
|
-
- lib/pf2/session.rb
|
|
237
151
|
- lib/pf2/version.rb
|
|
238
|
-
- rust-toolchain.toml
|
|
239
|
-
- rustfmt.toml
|
|
240
152
|
- vendor/libbacktrace/.gitignore
|
|
241
153
|
- vendor/libbacktrace/Isaac.Newton-Opticks.txt
|
|
242
154
|
- vendor/libbacktrace/LICENSE
|
|
@@ -329,7 +241,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
329
241
|
- !ruby/object:Gem::Version
|
|
330
242
|
version: '0'
|
|
331
243
|
requirements: []
|
|
332
|
-
rubygems_version:
|
|
244
|
+
rubygems_version: 4.0.3
|
|
333
245
|
specification_version: 4
|
|
334
246
|
summary: Yet another Ruby profiler
|
|
335
247
|
test_files: []
|