dynamo-autoscale 0.1 → 0.1.1

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/CHANGELOG ADDED
@@ -0,0 +1,9 @@
1
+ v0.1.1
2
+
3
+ - Added peace-of-mind logging when the program starts so you can actually tell
4
+ it's running.
5
+ - Added Ruby 1.9.3 requirement and R requirement to the gemspec.
6
+
7
+ v0.1
8
+
9
+ - Initial release.
data/bin/dynamo-autoscale CHANGED
@@ -77,6 +77,7 @@ require_relative '../config/environment/common'
77
77
  include DynamoAutoscale
78
78
  extend DynamoAutoscale
79
79
 
80
+ logger.debug "Ensuring tables exist in DynamoDB..."
80
81
  dynamo = AWS::DynamoDB.new
81
82
  tables.select! do |table_name|
82
83
  if dynamo.tables[table_name].exists?
@@ -98,6 +99,7 @@ if general_opts[:dry_run]
98
99
  poller_opts[:filters] = LocalActioner.faux_provisioning_filters
99
100
  end
100
101
 
102
+ logger.debug "Assigning global objects..."
101
103
  DynamoAutoscale.rules = RuleSet.new(ruleset)
102
104
  DynamoAutoscale.dispatcher = Dispatcher.new
103
105
  DynamoAutoscale.poller = CWPoller.new(poller_opts)
@@ -112,6 +114,7 @@ if general_opts[:maximum_throughput]
112
114
  Actioner.maximum_throughput = general_opts[:maximum_throughput]
113
115
  end
114
116
 
117
+ logger.debug "Registering signal handlers..."
115
118
  Signal.trap("USR1") do
116
119
  logger.info "[signal] Caught SIGUSR1. Dumping CSV for all tables in #{Dir.pwd}"
117
120
 
@@ -128,4 +131,5 @@ Signal.trap("USR2") do
128
131
  end
129
132
  end
130
133
 
134
+ logger.info "Finished setup. Starting polling loop."
131
135
  DynamoAutoscale.poller.run
@@ -18,6 +18,11 @@ Gem::Specification.new do |gem|
18
18
 
19
19
  gem.license = 'MIT'
20
20
 
21
+ gem.required_ruby_version = '>= 1.9.3'
22
+
23
+ gem.requirements << "If you want to graph your tables, you'll need R with " +
24
+ "the ggplot and reshape packages installed."
25
+
21
26
  gem.add_dependency 'aws-sdk'
22
27
  gem.add_dependency 'rbtree'
23
28
  gem.add_dependency 'ruby-prof'
@@ -158,10 +158,6 @@ module DynamoAutoscale
158
158
  end
159
159
 
160
160
  def queue_operation! metric, value
161
- if @pending[metric]
162
- logger.debug "[#{metric}] Overwriting pending op with #{value.round(2)}"
163
- end
164
-
165
161
  @pending[metric] = [Time.now.utc, value]
166
162
 
167
163
  try_flush!
@@ -29,8 +29,7 @@ module DynamoAutoscale
29
29
  DynamoAutoscale.rules.test(table)
30
30
  @last_check[table.name] = time
31
31
  else
32
- logger.debug "#{table.name}: Skipped rule check, already checked for " +
33
- "a later data point."
32
+ logger.debug "Skipped rule check, already checked for a later data point."
34
33
  end
35
34
 
36
35
  DynamoAutoscale.current_table = nil
@@ -1,3 +1,3 @@
1
1
  module DynamoAutoscale
2
- VERSION = '0.1'
2
+ VERSION = '0.1.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamo-autoscale
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.1'
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -100,6 +100,7 @@ extensions: []
100
100
  extra_rdoc_files: []
101
101
  files:
102
102
  - .gitignore
103
+ - CHANGELOG
103
104
  - Gemfile
104
105
  - Gemfile.lock
105
106
  - LICENSE
@@ -162,14 +163,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
162
163
  requirements:
163
164
  - - ! '>='
164
165
  - !ruby/object:Gem::Version
165
- version: '0'
166
+ version: 1.9.3
166
167
  required_rubygems_version: !ruby/object:Gem::Requirement
167
168
  none: false
168
169
  requirements:
169
170
  - - ! '>='
170
171
  - !ruby/object:Gem::Version
171
172
  version: '0'
172
- requirements: []
173
+ requirements:
174
+ - If you want to graph your tables, you'll need R with the ggplot and reshape packages
175
+ installed.
173
176
  rubyforge_project:
174
177
  rubygems_version: 1.8.23
175
178
  signing_key: