tunemygc 1.0.61 → 1.0.62
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/.travis.yml +2 -0
- data/Gemfile.lock +4 -1
- data/README.md +9 -2
- data/doc/protocol.md +2 -2
- data/ext/tunemygc/getRSS.c +1 -1
- data/lib/tunemygc.rb +5 -1
- data/lib/tunemygc/agent.rb +3 -3
- data/lib/tunemygc/interposer.rb +2 -2
- data/lib/tunemygc/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1e42968ff1c2b8265df99371ac476794cf89b2c7
|
|
4
|
+
data.tar.gz: 7c1e5605c1af4ca1755c8024906a4ab349264fbd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d2a01c4c691fb954ed49442a29378741f110ef7af3d5ea7ad4de5a1fa2fbfa43d3ccdf78dc8b141b88b21ddcc7c878b6652ec686c0b426a6836b0bbcbf8b0bab
|
|
7
|
+
data.tar.gz: 1bf3f4c30f9337b147ab39c20c30c972825e44d8ee145c8053293025c3bd6b2862be5fd8677e23b7439cbe9f33a0e7d2488a7658825cbf5507257260825bdabe
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
tunemygc (1.0.
|
|
4
|
+
tunemygc (1.0.62)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
@@ -125,3 +125,6 @@ DEPENDENCIES
|
|
|
125
125
|
rake-compiler (~> 0.9, >= 0.9.5)
|
|
126
126
|
tunemygc!
|
|
127
127
|
webmock (~> 1.2, >= 1.2.0)
|
|
128
|
+
|
|
129
|
+
BUNDLED WITH
|
|
130
|
+
1.10.6
|
data/README.md
CHANGED
|
@@ -106,6 +106,13 @@ And after some profiling requests, when the process terminates, you can visit th
|
|
|
106
106
|
[tunemygc, pid: 70160] Please visit https://tunemygc.com/configs/d739119e4abc38d42e183d1361991818 to view your configuration and other Garbage Collector insights
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
+
* `RUBY_GC_TUNE_VERBOSE=0`
|
|
110
|
+
|
|
111
|
+
In some environments (such as CI) you do not want the gem to be outputting the
|
|
112
|
+
"not running" message as this can pollute your log data. If you'd like to
|
|
113
|
+
silence the output, you can set `RUBY_GC_TUNE_VERBOSE=0` and it will not output
|
|
114
|
+
the message.
|
|
115
|
+
|
|
109
116
|
#### Advanced
|
|
110
117
|
|
|
111
118
|
* `RUBY_GC_SPY=action_controller` (Spy on the GC for this type of processing. `action_controller`, `active_job`, `delayed_job`, `que_job`, `minitest` or `rspec` are supported)
|
|
@@ -118,7 +125,7 @@ This gem is only a lightweight agent and designed to not get in your way. It sam
|
|
|
118
125
|
|
|
119
126
|
#### Interpreting results
|
|
120
127
|
|
|
121
|
-
An instrumented process dumps a report URL with a
|
|
128
|
+
An instrumented process dumps a report URL with a recommended config to the Rails logger.
|
|
122
129
|
|
|
123
130
|
``` sh
|
|
124
131
|
[tunemygc, pid: 70160] Syncing 688 snapshots
|
|
@@ -241,4 +248,4 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
241
248
|
|
|
242
249
|
## Credits
|
|
243
250
|
|
|
244
|
-
RSS measuring feature by David Robert Nadeau (http://NadeauSoftware.com/) under Creative Commons Attribution 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/deed.en_US)
|
|
251
|
+
RSS measuring feature by David Robert Nadeau (http://NadeauSoftware.com/) under Creative Commons Attribution 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/deed.en_US)
|
data/doc/protocol.md
CHANGED
|
@@ -175,7 +175,7 @@ The agent (protocol) version requires an upgrade. Response body defines the mini
|
|
|
175
175
|
|
|
176
176
|
### 412 Precondition Failed
|
|
177
177
|
|
|
178
|
-
The GC is already tuned by environment variables, We respect that for most cases, but won't do a
|
|
178
|
+
The GC is already tuned by environment variables, We respect that for most cases, but won't do a recommendation when the tuner detects that we might clobber the existing config by too much. Response body is a JSON encoded Hash of existing RUBY_GC_* environment variables.
|
|
179
179
|
|
|
180
180
|
### 400 Bad Request
|
|
181
181
|
|
|
@@ -187,4 +187,4 @@ An unknown error occurred.
|
|
|
187
187
|
|
|
188
188
|
## Integrations and Support
|
|
189
189
|
|
|
190
|
-
This is an initial draft specification to explore the viability of third party integrations. Please reach out via email to tunemygc@bearmetal.eu if any additional information or support is desired.
|
|
190
|
+
This is an initial draft specification to explore the viability of third party integrations. Please reach out via email to tunemygc@bearmetal.eu if any additional information or support is desired.
|
data/ext/tunemygc/getRSS.c
CHANGED
|
@@ -105,7 +105,7 @@ size_t getCurrentRSS( )
|
|
|
105
105
|
return (size_t)info.resident_size;
|
|
106
106
|
#else
|
|
107
107
|
struct task_basic_info info;
|
|
108
|
-
mach_msg_type_number_t infoCount = TASK_BASIC_INFO_COUNT
|
|
108
|
+
mach_msg_type_number_t infoCount = TASK_BASIC_INFO_COUNT;
|
|
109
109
|
if (task_info( mach_task_self(), TASK_BASIC_INFO,
|
|
110
110
|
(task_info_t)&info, &infoCount) != KERN_SUCCESS)
|
|
111
111
|
return (size_t)0L;
|
data/lib/tunemygc.rb
CHANGED
|
@@ -15,6 +15,10 @@ module TuneMyGc
|
|
|
15
15
|
def self.rails_version
|
|
16
16
|
rails? ? Rails.version : "0.0"
|
|
17
17
|
end
|
|
18
|
+
|
|
19
|
+
def self.run_silently?
|
|
20
|
+
!ENV['RUBY_GC_TUNE_VERBOSE'].nil? && ENV['RUBY_GC_TUNE_VERBOSE'].to_i == 0
|
|
21
|
+
end
|
|
18
22
|
end
|
|
19
23
|
|
|
20
24
|
if ENV["RUBY_GC_TUNE"] && ENV["RUBY_GC_TUNE"] != ""
|
|
@@ -27,5 +31,5 @@ if ENV["RUBY_GC_TUNE"] && ENV["RUBY_GC_TUNE"] != ""
|
|
|
27
31
|
TuneMyGc.booted
|
|
28
32
|
end
|
|
29
33
|
else
|
|
30
|
-
puts "[tunemygc] not enabled"
|
|
34
|
+
puts "[tunemygc] not enabled" unless TuneMyGc.run_silently?
|
|
31
35
|
end
|
data/lib/tunemygc/agent.rb
CHANGED
|
@@ -44,14 +44,14 @@ module TuneMyGc
|
|
|
44
44
|
TuneMyGc::Spies.current
|
|
45
45
|
end
|
|
46
46
|
|
|
47
|
-
def
|
|
47
|
+
def recommendations
|
|
48
48
|
MUTEX.synchronize do
|
|
49
49
|
require "tunemygc/syncer"
|
|
50
50
|
syncer = TuneMyGc::Syncer.new
|
|
51
51
|
config = syncer.sync(snapshotter)
|
|
52
52
|
end
|
|
53
53
|
rescue Exception => e
|
|
54
|
-
log "Config
|
|
54
|
+
log "Config recommendation error (#{e.message})"
|
|
55
55
|
end
|
|
56
56
|
|
|
57
57
|
extend self
|
|
@@ -61,4 +61,4 @@ module TuneMyGc
|
|
|
61
61
|
self.interposer = TuneMyGc::Interposer.new
|
|
62
62
|
self.snapshotter = TuneMyGc::Snapshotter.new
|
|
63
63
|
end
|
|
64
|
-
end
|
|
64
|
+
end
|
data/lib/tunemygc/interposer.rb
CHANGED
|
@@ -42,7 +42,7 @@ module TuneMyGc
|
|
|
42
42
|
TuneMyGc.log "at_exit"
|
|
43
43
|
@spies.each{|s| s.uninstall }
|
|
44
44
|
TuneMyGc.snapshot(:TERMINATED, ObjectSpace.count_objects.merge(:memsize => ObjectSpace.memsize_of_all))
|
|
45
|
-
TuneMyGc.
|
|
45
|
+
TuneMyGc.recommendations
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
48
|
TuneMyGc.log "hooked: at_exit"
|
|
@@ -66,4 +66,4 @@ module TuneMyGc
|
|
|
66
66
|
@installed = false
|
|
67
67
|
end
|
|
68
68
|
end
|
|
69
|
-
end
|
|
69
|
+
end
|
data/lib/tunemygc/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tunemygc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.62
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Bear Metal
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-
|
|
11
|
+
date: 2015-12-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -193,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
193
193
|
version: '0'
|
|
194
194
|
requirements: []
|
|
195
195
|
rubyforge_project:
|
|
196
|
-
rubygems_version: 2.
|
|
196
|
+
rubygems_version: 2.4.5
|
|
197
197
|
signing_key:
|
|
198
198
|
specification_version: 4
|
|
199
199
|
summary: TuneMyGC - optimal MRI Ruby 2.1+ Garbage Collection
|