app_profiler 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b5be705606d138c4e042f4d87820e97413be62f3eeeb92cbb34d5e02aac600ea
4
- data.tar.gz: d15e16f16c53f939cb874ab841b60528f4b46b5359e755ba5ce6acfe01265b3e
3
+ metadata.gz: 1d088d71f0d625a8627a17aa418840597b1d26e01bc05a93848440ce710f461a
4
+ data.tar.gz: 5f65cc77daaeaacbeed54cc913c08e89fddbc30e64458e1538c2cce2f5e9b381
5
5
  SHA512:
6
- metadata.gz: ccbe4b8fb2b5a4a1882fb7e33e03f35b7f91afa2a8eeb836e705bae104131e05b1d48d6c7d118cd1c69665e9736c2d9d621a1b05626ba112d63299615de609b1
7
- data.tar.gz: ff0cb2c2cced5f0edd575d9b6ddb2d6cf83021225d528c4f7e194ed527360bab09a511864e6e5ed047e2e84ddbab737a7060c39b9931ac8fbc976a4489aa128e
6
+ metadata.gz: a99c98c4bcf876d9c7147bf552b47ae5b8052f2e3c314a2279c8e34a2f37a9781f47c9f7ee99260281490682d1ea776f00be946494dd8fcd0bb83cbd5db07537
7
+ data.tar.gz: 4fafc43c3a589636928566a4bdf96fde0abf91eebde85e267852c281f7b5439ce76048c1cbca1cfe18119b99057bc7355fe41c2e48537c6b6a62f7a41b0ffa4b
@@ -96,12 +96,16 @@ module AppProfiler
96
96
  private
97
97
 
98
98
  def path
99
- filename = [
100
- AppProfiler.profile_file_prefix.call,
101
- mode,
102
- id,
103
- Socket.gethostname,
104
- ].compact.join("-") << format
99
+ filename = if AppProfiler.profile_file_name.present?
100
+ AppProfiler.profile_file_name.call(metadata) + format
101
+ else
102
+ [
103
+ AppProfiler.profile_file_prefix.call,
104
+ mode,
105
+ id,
106
+ Socket.gethostname,
107
+ ].compact.join("-") << format
108
+ end
105
109
 
106
110
  raise UnsafeFilename if /[^0-9A-Za-z.\-\_]/.match?(filename)
107
111
 
@@ -42,6 +42,7 @@ module AppProfiler
42
42
  AppProfiler.upload_queue_max_length = app.config.app_profiler.upload_queue_max_length || 10
43
43
  AppProfiler.upload_queue_interval_secs = app.config.app_profiler.upload_queue_interval_secs || 5
44
44
  AppProfiler.profile_file_prefix = app.config.app_profiler.profile_file_prefix || DefaultProfilePrefix
45
+ AppProfiler.profile_file_name = app.config.app_profiler.profile_file_name
45
46
  AppProfiler.profile_enqueue_success = app.config.app_profiler.profile_enqueue_success
46
47
  AppProfiler.profile_enqueue_failure = app.config.app_profiler.profile_enqueue_failure
47
48
  AppProfiler.after_process_queue = app.config.app_profiler.after_process_queue
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AppProfiler
4
- VERSION = "0.2.6"
4
+ VERSION = "0.2.7"
5
5
  end
@@ -48,7 +48,7 @@ module AppProfiler
48
48
 
49
49
  def setup_profile_viewer
50
50
  exec("which", "profile-viewer", silent: true) do
51
- gem_install("profile_viewer")
51
+ gem_install("profile-viewer")
52
52
  end
53
53
  @profile_viewer_initialized = true
54
54
  end
data/lib/app_profiler.rb CHANGED
@@ -68,8 +68,8 @@ module AppProfiler
68
68
  mattr_reader :profile_enqueue_failure, default: nil
69
69
  mattr_reader :after_process_queue, default: nil
70
70
  mattr_accessor :forward_metadata_on_upload, default: false
71
-
72
71
  mattr_accessor :profile_sampler_config
72
+ mattr_reader :profile_file_name
73
73
 
74
74
  class << self
75
75
  def deprecator # :nodoc:
@@ -129,6 +129,12 @@ module AppProfiler
129
129
  @@vernier_viewer ||= Viewer::FirefoxViewer # rubocop:disable Style/ClassVars
130
130
  end
131
131
 
132
+ def profile_file_name=(value)
133
+ raise ArgumentError, "profile_file_name must be a proc" if value && !value.is_a?(Proc)
134
+
135
+ @@profile_file_name = value # rubocop:disable Style/ClassVars
136
+ end
137
+
132
138
  def profile_sampler_enabled=(value)
133
139
  if value.is_a?(Proc)
134
140
  raise ArgumentError,
@@ -167,7 +173,7 @@ module AppProfiler
167
173
  end
168
174
 
169
175
  def vernier_supported?
170
- RUBY_VERSION >= "3.2.1"
176
+ RUBY_VERSION >= "3.2.1" && defined?(AppProfiler::Backend::VernierBackend.name)
171
177
  end
172
178
 
173
179
  def profile_header=(profile_header)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: app_profiler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gannon McGibbon
@@ -12,7 +12,7 @@ authors:
12
12
  - Scott Francis
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2025-01-22 00:00:00.000000000 Z
15
+ date: 2025-01-30 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: activesupport
@@ -186,7 +186,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
188
  requirements: []
189
- rubygems_version: 3.6.2
189
+ rubygems_version: 3.6.3
190
190
  specification_version: 4
191
191
  summary: Collect performance profiles for your Rails application.
192
192
  test_files: []