pyroscope_beta 0.1.4 → 0.1.7

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.
data/ext/rbspy/Cargo.toml CHANGED
@@ -8,6 +8,5 @@ name = "rbspy"
8
8
  crate-type = ["cdylib"]
9
9
 
10
10
  [dependencies]
11
- rutie = "0.8.3"
12
- pyroscope = {version = "0.5" }
11
+ pyroscope = {version = "0.5.2" }
13
12
  pyroscope_rbspy = { version = "0.2" }
data/ext/rbspy/Rakefile CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "shellwords"
4
4
 
5
- class RakeCargoHelper
5
+ class RbspyRakeCargoHelper
6
6
  attr_reader :gemname
7
7
 
8
8
  def initialize(gemname=File.basename(__dir__))
@@ -104,18 +104,19 @@ class RakeCargoHelper
104
104
 
105
105
  end
106
106
 
107
- task default: [:install, :clean]
107
+ task default: [:rbspy_install, :rbspy_clean]
108
+ task rbspy: [:rbspy_install, :rbspy_clean]
108
109
 
109
110
  desc "set dev mode for subsequent task, run like `rake dev install`"
110
- task :dev do
111
+ task :rbspy_dev do
111
112
  @dev = true
112
113
  end
113
114
 
114
115
  desc "build gem native extension and copy to lib"
115
- task install: [:cd, :build] do
116
- helper = RakeCargoHelper.new
116
+ task rbspy_install: [:rbspy_cd, :rbspy_build] do
117
+ helper = RbspyRakeCargoHelper.new
117
118
  profile_dir = @dev ? "debug" : "release"
118
- source = File.join(RakeCargoHelper.cargo_target_dir, profile_dir, helper.rust_name)
119
+ source = File.join(RbspyRakeCargoHelper.cargo_target_dir, profile_dir, helper.rust_name)
119
120
  dest = File.join(helper.install_dir, helper.ruby_name)
120
121
  mkdir_p(helper.install_dir)
121
122
  rm(dest) if File.exist?(dest)
@@ -123,35 +124,35 @@ task install: [:cd, :build] do
123
124
  end
124
125
 
125
126
  desc "build gem native extension"
126
- task build: [:cargo, :cd] do
127
- sh "cargo", "rustc", *(["--locked", "--release"] unless @dev), "--", *RakeCargoHelper.flags
127
+ task rbspy_build: [:rbspy_cargo, :rbspy_cd] do
128
+ sh "cargo", "rustc", *(["--locked", "--release"] unless @dev), "--", *RbspyRakeCargoHelper.flags
128
129
  end
129
130
 
130
131
  desc "clean up release build artifacts"
131
- task clean: [:cargo, :cd] do
132
+ task rbspy_clean: [:rbspy_cargo, :rbspy_cd] do
132
133
  sh "cargo clean --release"
133
134
  end
134
135
 
135
136
  desc "clean up build artifacts"
136
- task clobber: [:cargo, :cd] do
137
+ task rbspy_clobber: [:rbspy_cargo, :rbspy_cd] do
137
138
  sh "cargo clean"
138
139
  end
139
140
 
140
141
  desc "check for cargo"
141
- task :cargo do
142
- raise <<-MSG unless RakeCargoHelper.command?("cargo")
142
+ task :rbspy_cargo do
143
+ raise <<-MSG unless RbspyRakeCargoHelper.command?("cargo")
143
144
  This gem requires a Rust compiler and the `cargo' build tool to build the
144
145
  gem's native extension. See https://www.rust-lang.org/tools/install for
145
146
  how to install Rust. `cargo' is usually part of the Rust installation.
146
147
  MSG
147
148
 
148
- raise <<-MSG if Gem.win_platform? && RakeCargoHelper.rust_toolchain !~ /gnu/
149
- Found Rust toolchain `#{RakeCargoHelper.rust_toolchain}' but the gem native
149
+ raise <<-MSG if Gem.win_platform? && RbspyRakeCargoHelper.rust_toolchain !~ /gnu/
150
+ Found Rust toolchain `#{RbspyRakeCargoHelper.rust_toolchain}' but the gem native
150
151
  extension requires the gnu toolchain on Windows.
151
152
  MSG
152
153
  end
153
154
 
154
155
  # ensure task is running in the right dir
155
- task :cd do
156
+ task :rbspy_cd do
156
157
  cd(__dir__) unless __dir__ == pwd
157
158
  end
data/ext/rbspy/src/lib.rs CHANGED
@@ -94,7 +94,6 @@ pub extern "C" fn initialize_agent(
94
94
  true
95
95
  }
96
96
 
97
- #[link(name = "pyroscope_ffi", vers = "0.1")]
98
97
  #[no_mangle]
99
98
  pub extern "C" fn drop_agent() -> bool {
100
99
  let s = signalpass();
@@ -102,7 +101,6 @@ pub extern "C" fn drop_agent() -> bool {
102
101
  true
103
102
  }
104
103
 
105
- #[link(name = "pyroscope_ffi", vers = "0.1")]
106
104
  #[no_mangle]
107
105
  pub extern "C" fn add_tag(thread_id: u64, key: *const c_char, value: *const c_char) -> bool {
108
106
  let s = signalpass();
@@ -119,7 +117,6 @@ pub extern "C" fn add_tag(thread_id: u64, key: *const c_char, value: *const c_ch
119
117
  true
120
118
  }
121
119
 
122
- #[link(name = "pyroscope_ffi", vers = "0.1")]
123
120
  #[no_mangle]
124
121
  pub extern "C" fn remove_tag(thread_id: u64, key: *const c_char, value: *const c_char) -> bool {
125
122
  let s = signalpass();
@@ -4,9 +4,9 @@ version = 3
4
4
 
5
5
  [[package]]
6
6
  name = "libc"
7
- version = "0.2.125"
7
+ version = "0.2.126"
8
8
  source = "registry+https://github.com/rust-lang/crates.io-index"
9
- checksum = "5916d2ae698f6de9bfb891ad7a8d65c09d232dc58cc4ac433c7da3b2fd84bc2b"
9
+ checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
10
10
 
11
11
  [[package]]
12
12
  name = "thread_id"
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "shellwords"
4
4
 
5
- class RakeCargoHelper
5
+ class ThreadIdRakeCargoHelper
6
6
  attr_reader :gemname
7
7
 
8
8
  def initialize(gemname=File.basename(__dir__))
@@ -104,18 +104,19 @@ class RakeCargoHelper
104
104
 
105
105
  end
106
106
 
107
- task default: [:install, :clean]
107
+ task default: [:thread_id_install, :thread_id_clean]
108
+ task thread_id: [:thread_id_install, :thread_id_clean]
108
109
 
109
110
  desc "set dev mode for subsequent task, run like `rake dev install`"
110
- task :dev do
111
+ task :thread_id_dev do
111
112
  @dev = true
112
113
  end
113
114
 
114
115
  desc "build gem native extension and copy to lib"
115
- task install: [:cd, :build] do
116
- helper = RakeCargoHelper.new
116
+ task thread_id_install: [:thread_id_cd, :thread_id_build] do
117
+ helper = ThreadIdRakeCargoHelper.new
117
118
  profile_dir = @dev ? "debug" : "release"
118
- source = File.join(RakeCargoHelper.cargo_target_dir, profile_dir, helper.rust_name)
119
+ source = File.join(ThreadIdRakeCargoHelper.cargo_target_dir, profile_dir, helper.rust_name)
119
120
  dest = File.join(helper.install_dir, helper.ruby_name)
120
121
  mkdir_p(helper.install_dir)
121
122
  rm(dest) if File.exist?(dest)
@@ -123,35 +124,35 @@ task install: [:cd, :build] do
123
124
  end
124
125
 
125
126
  desc "build gem native extension"
126
- task build: [:cargo, :cd] do
127
- sh "cargo", "rustc", *(["--locked", "--release"] unless @dev), "--", *RakeCargoHelper.flags
127
+ task thread_id_build: [:thread_id_cargo, :thread_id_cd] do
128
+ sh "cargo", "rustc", *(["--locked", "--release"] unless @dev), "--", *ThreadIdRakeCargoHelper.flags
128
129
  end
129
130
 
130
131
  desc "clean up release build artifacts"
131
- task clean: [:cargo, :cd] do
132
+ task thread_id_clean: [:thread_id_cargo, :thread_id_cd] do
132
133
  sh "cargo clean --release"
133
134
  end
134
135
 
135
136
  desc "clean up build artifacts"
136
- task clobber: [:cargo, :cd] do
137
+ task thread_id_clobber: [:thread_id_cargo, :thread_id_cd] do
137
138
  sh "cargo clean"
138
139
  end
139
140
 
140
141
  desc "check for cargo"
141
- task :cargo do
142
- raise <<-MSG unless RakeCargoHelper.command?("cargo")
142
+ task :thread_id_cargo do
143
+ raise <<-MSG unless ThreadIdRakeCargoHelper.command?("cargo")
143
144
  This gem requires a Rust compiler and the `cargo' build tool to build the
144
145
  gem's native extension. See https://www.rust-lang.org/tools/install for
145
146
  how to install Rust. `cargo' is usually part of the Rust installation.
146
147
  MSG
147
148
 
148
- raise <<-MSG if Gem.win_platform? && RakeCargoHelper.rust_toolchain !~ /gnu/
149
- Found Rust toolchain `#{RakeCargoHelper.rust_toolchain}' but the gem native
149
+ raise <<-MSG if Gem.win_platform? && ThreadIdRakeCargoHelper.rust_toolchain !~ /gnu/
150
+ Found Rust toolchain `#{ThreadIdRakeCargoHelper.rust_toolchain}' but the gem native
150
151
  extension requires the gnu toolchain on Windows.
151
152
  MSG
152
153
  end
153
154
 
154
155
  # ensure task is running in the right dir
155
- task :cd do
156
+ task :thread_id_cd do
156
157
  cd(__dir__) unless __dir__ == pwd
157
158
  end
@@ -1,3 +1,3 @@
1
1
  module Pyroscope
2
- VERSION = '0.1.4'.freeze
2
+ VERSION = '0.1.7'.freeze
3
3
  end
@@ -1,12 +1,12 @@
1
1
  require 'ffi'
2
2
  require 'fiddle'
3
3
 
4
- $libm = Fiddle.dlopen(File.expand_path(File.dirname(__FILE__)) + '/thread_id/thread_id.so')
4
+ $libm = Fiddle.dlopen(File.expand_path(File.dirname(__FILE__)) + "/thread_id/thread_id.#{RbConfig::CONFIG["DLEXT"]}")
5
5
 
6
6
 
7
7
  module Rust
8
8
  extend FFI::Library
9
- ffi_lib File.expand_path(File.dirname(__FILE__)) + '/rbspy/rbspy.' + FFI::Platform::LIBSUFFIX
9
+ ffi_lib File.expand_path(File.dirname(__FILE__)) + "/rbspy/rbspy.#{RbConfig::CONFIG["DLEXT"]}"
10
10
  attach_function :initialize_agent, [:string, :string, :int, :bool, :string], :bool
11
11
  attach_function :add_tag, [:uint64, :string, :string], :bool
12
12
  attach_function :remove_tag, [:uint64, :string, :string], :bool
data/pyroscope.gemspec ADDED
@@ -0,0 +1,43 @@
1
+ require_relative "lib/pyroscope/version"
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = 'pyroscope_beta'
5
+ s.version = Pyroscope::VERSION
6
+ s.summary = 'Pyroscope Beta'
7
+ s.description = 'Pyroscope FFI Integration for Ruby'
8
+ s.authors = ['Pyroscope Team']
9
+ s.email = ['contact@pyroscope.io']
10
+ s.homepage = 'https://pyroscope.io'
11
+ s.license = 'Apache-2.0'
12
+
13
+ # Specify which files should be added to the gem when it is released.
14
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
15
+ #s.files = Dir.chdir(__dir__) do
16
+ #`git ls-files -z`.split("\x0").reject do |f|
17
+ #(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
18
+ #end
19
+ #end
20
+ s.files = `git ls-files -z`.split("\0").reject { |f| f =~ /^(\.|G|spec|Rakefile)/ }
21
+
22
+ s.platform = Gem::Platform::RUBY
23
+
24
+ s.required_ruby_version = ">= 2.7.0"
25
+
26
+ s.extensions = ['ext/rbspy/extconf.rb', 'ext/thread_id/extconf.rb']
27
+
28
+ s.add_dependency 'ffi', '~> 1.9'
29
+ s.add_dependency 'fiddle', '~> 1.1'
30
+
31
+ s.add_development_dependency 'bundler'
32
+ s.add_development_dependency 'github-release'
33
+ s.add_development_dependency 'guard-rspec'
34
+ s.add_development_dependency 'rake', '~> 13.0'
35
+ s.add_development_dependency 'rake-compiler', '~> 1.2'
36
+ s.add_development_dependency 'rake-compiler-dock', '~> 1.2'
37
+ s.add_development_dependency 'rb-inotify', '~> 0.9'
38
+ s.add_development_dependency 'rb_sys', '~> 0.1'
39
+ s.add_development_dependency 'redcarpet'
40
+ s.add_development_dependency 'rspec'
41
+ s.add_development_dependency 'simplecov'
42
+ s.add_development_dependency 'yard'
43
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pyroscope_beta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pyroscope Team
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-03 00:00:00.000000000 Z
11
+ date: 2022-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -38,20 +38,174 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: github-release
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: guard-rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
41
83
  - !ruby/object:Gem::Dependency
42
84
  name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '13.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '13.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rake-compiler
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.2'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.2'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake-compiler-dock
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.2'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.2'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rb-inotify
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.9'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0.9'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rb_sys
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '0.1'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '0.1'
153
+ - !ruby/object:Gem::Dependency
154
+ name: redcarpet
43
155
  requirement: !ruby/object:Gem::Requirement
44
156
  requirements:
45
157
  - - ">="
46
158
  - !ruby/object:Gem::Version
47
- version: '10.0'
48
- type: :runtime
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rspec
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: simplecov
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: yard
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
49
203
  prerelease: false
50
204
  version_requirements: !ruby/object:Gem::Requirement
51
205
  requirements:
52
206
  - - ">="
53
207
  - !ruby/object:Gem::Version
54
- version: '10.0'
208
+ version: '0'
55
209
  description: Pyroscope FFI Integration for Ruby
56
210
  email:
57
211
  - contact@pyroscope.io
@@ -61,11 +215,8 @@ extensions:
61
215
  - ext/thread_id/extconf.rb
62
216
  extra_rdoc_files: []
63
217
  files:
64
- - Gemfile
65
- - Gemfile.lock
66
218
  - LICENSE
67
219
  - README.md
68
- - Rakefile
69
220
  - ext/rbspy/Cargo.lock
70
221
  - ext/rbspy/Cargo.toml
71
222
  - ext/rbspy/Rakefile
@@ -78,11 +229,12 @@ files:
78
229
  - ext/thread_id/src/lib.rs
79
230
  - lib/pyroscope/version.rb
80
231
  - lib/pyroscope_beta.rb
232
+ - pyroscope.gemspec
81
233
  homepage: https://pyroscope.io
82
234
  licenses:
83
235
  - Apache-2.0
84
236
  metadata: {}
85
- post_install_message:
237
+ post_install_message:
86
238
  rdoc_options: []
87
239
  require_paths:
88
240
  - lib
@@ -90,15 +242,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
90
242
  requirements:
91
243
  - - ">="
92
244
  - !ruby/object:Gem::Version
93
- version: '0'
245
+ version: 2.7.0
94
246
  required_rubygems_version: !ruby/object:Gem::Requirement
95
247
  requirements:
96
248
  - - ">="
97
249
  - !ruby/object:Gem::Version
98
250
  version: '0'
99
251
  requirements: []
100
- rubygems_version: 3.3.8
101
- signing_key:
252
+ rubygems_version: 3.3.7
253
+ signing_key:
102
254
  specification_version: 4
103
255
  summary: Pyroscope Beta
104
256
  test_files: []
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'ffi'
4
- gem 'fiddle'
data/Gemfile.lock DELETED
@@ -1,15 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- ffi (1.15.5)
5
- fiddle (1.1.0)
6
-
7
- PLATFORMS
8
- x86_64-linux
9
-
10
- DEPENDENCIES
11
- ffi
12
- fiddle
13
-
14
- BUNDLED WITH
15
- 2.3.12
data/Rakefile DELETED
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- load File.expand_path('./ext/rbspy/Rakefile', __dir__)
4
- load File.expand_path('./ext/thread_id/Rakefile', __dir__)
5
-
6
- task default: %w[hello]
7
-
8
- task :hello do
9
- puts 'Hello!'
10
- end