Module: HerokuVector
- Defined in:
- lib/heroku_vector.rb,
lib/heroku_vector.rb,
lib/heroku_vector.rb,
lib/heroku_vector/helper.rb,
lib/heroku_vector/worker.rb,
lib/heroku_vector/sampler.rb,
lib/heroku_vector/version.rb,
lib/heroku_vector/dyno_scaler.rb,
lib/heroku_vector/process_manager.rb
Defined Under Namespace
Modules: Engine, Helper, Source
Classes: DynoScaler, ProcessManager, Sampler, Worker
Constant Summary
collapse
- DEFAULTS =
{
:min_scale_time_secs => 5 * 60, :log_level => Logger::INFO,
:engine => Engine::Heroku.new
}
- VERSION =
"0.0.2"
Class Method Summary
collapse
Class Method Details
.add_dyno_scaler(name, options = {}) ⇒ Object
72
73
74
|
# File 'lib/heroku_vector.rb', line 72
def add_dyno_scaler(name, options={})
dyno_scalers[name] = options
end
|
44
45
46
|
# File 'lib/heroku_vector.rb', line 44
def configure
yield self if block_given?
end
|
.default_logger ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/heroku_vector.rb', line 24
def default_logger
return options[:logger] if options[:logger]
logger = Logger.new(STDOUT)
logger.level = options[:log_level]
logger.formatter = proc do |severity, time, program_name, message|
"#{time.utc.iso8601(3)} #{severity}: #{message}\n"
end
logger
end
|
.dyno_scalers ⇒ Object
64
65
66
|
# File 'lib/heroku_vector.rb', line 64
def dyno_scalers
@dyno_scalers ||= {}
end
|
.dyno_scalers=(dyno_scalers) ⇒ Object
68
69
70
|
# File 'lib/heroku_vector.rb', line 68
def dyno_scalers=(dyno_scalers)
@dyno_scalers = dyno_scalers
end
|
.engine ⇒ Object
56
57
58
|
# File 'lib/heroku_vector.rb', line 56
def engine
@engine ||= options[:engine]
end
|
.engine=(engine) ⇒ Object
60
61
62
|
# File 'lib/heroku_vector.rb', line 60
def engine=(engine)
@engine = engine
end
|
.heroku_app_name ⇒ Object
84
85
86
|
# File 'lib/heroku_vector.rb', line 84
def heroku_app_name
@heroku_app_name ||= ENV['HEROKU_APP_NAME']
end
|
.heroku_app_name=(app_name) ⇒ Object
88
89
90
|
# File 'lib/heroku_vector.rb', line 88
def heroku_app_name=(app_name)
@heroku_app_name = app_name
end
|
.logger ⇒ Object
48
49
50
|
# File 'lib/heroku_vector.rb', line 48
def logger
@logger ||= default_logger
end
|
.logger=(log) ⇒ Object
52
53
54
|
# File 'lib/heroku_vector.rb', line 52
def logger=(log)
@logger = log
end
|
.min_scale_time_secs ⇒ Object
76
77
78
|
# File 'lib/heroku_vector.rb', line 76
def min_scale_time_secs
@min_scale_time_secs ||= options[:min_scale_time_secs]
end
|
.min_scale_time_secs=(time_secs) ⇒ Object
80
81
82
|
# File 'lib/heroku_vector.rb', line 80
def min_scale_time_secs=(time_secs)
@min_scale_time_secs = time_secs
end
|
.newrelic_account_id ⇒ Object
100
101
102
|
# File 'lib/heroku_vector.rb', line 100
def newrelic_account_id
@newrelic_account_id ||= ENV['NEWRELIC_ACCOUNT_ID']
end
|
.newrelic_account_id=(account_id) ⇒ Object
104
105
106
|
# File 'lib/heroku_vector.rb', line 104
def newrelic_account_id=(account_id)
@newrelic_account_id = account_id
end
|
.newrelic_api_key ⇒ Object
92
93
94
|
# File 'lib/heroku_vector.rb', line 92
def newrelic_api_key
@newrelic_api_key ||= ENV['NEWRELIC_API_KEY']
end
|
.newrelic_api_key=(api_key) ⇒ Object
96
97
98
|
# File 'lib/heroku_vector.rb', line 96
def newrelic_api_key=(api_key)
@newrelic_api_key = api_key
end
|
.newrelic_app_id ⇒ Object
108
109
110
|
# File 'lib/heroku_vector.rb', line 108
def newrelic_app_id
@newrelic_app_id ||= ENV['NEWRELIC_APP_ID']
end
|
.newrelic_app_id=(app_id) ⇒ Object
112
113
114
|
# File 'lib/heroku_vector.rb', line 112
def newrelic_app_id=(app_id)
@newrelic_app_id = app_id
end
|
.options ⇒ Object
36
37
38
|
# File 'lib/heroku_vector.rb', line 36
def options
@options ||= DEFAULTS.dup
end
|
.options=(opts) ⇒ Object
40
41
42
|
# File 'lib/heroku_vector.rb', line 40
def options=(opts)
@options = opts
end
|
.sidekiq_redis_namespace ⇒ Object
120
121
122
|
# File 'lib/heroku_vector.rb', line 120
def sidekiq_redis_namespace
ENV['SIDEKIQ_REDIS_NAMESPACE']
end
|
.sidekiq_redis_url ⇒ Object
116
117
118
|
# File 'lib/heroku_vector.rb', line 116
def sidekiq_redis_url
ENV['REDIS_URL'] || 'redis://127.0.0.1/0'
end
|