Class: Crusher::LoadGenerator
- Inherits:
-
Object
- Object
- Crusher::LoadGenerator
- Defined in:
- lib/crusher/load_generator.rb
Direct Known Subclasses
Instance Method Summary collapse
- #act! ⇒ Object
-
#initialize(crush_session, options) ⇒ LoadGenerator
constructor
A new instance of LoadGenerator.
- #log(message) ⇒ Object
- #log_stats(event_type, data) ⇒ Object
- #prepare ⇒ Object
- #stats_log_file(event_type) ⇒ Object
Constructor Details
#initialize(crush_session, options) ⇒ LoadGenerator
Returns a new instance of LoadGenerator.
5 6 7 8 9 10 11 |
# File 'lib/crusher/load_generator.rb', line 5 def initialize(crush_session, ) @crush_session = crush_session @options = Dir.mkdir @options[:stats_log_dir] if @options[:stats_log_dir] && !File.exist?(@options[:stats_log_dir]) end |
Instance Method Details
#act! ⇒ Object
13 |
# File 'lib/crusher/load_generator.rb', line 13 def act!; end |
#log(message) ⇒ Object
17 18 19 |
# File 'lib/crusher/load_generator.rb', line 17 def log() @crush_session.log() end |
#log_stats(event_type, data) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/crusher/load_generator.rb', line 21 def log_stats(event_type, data) keys, values = data.map{|k,v| [k.to_s,v.to_s] }.transpose stats_log_file(event_type) do |file| file.syswrite "#{Time.now.strftime('%Y-%m-%d %H:%M:%S')},#{values.join(',')}\n" file.flush unless file.fsync end end |
#prepare ⇒ Object
15 |
# File 'lib/crusher/load_generator.rb', line 15 def prepare; end |
#stats_log_file(event_type) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/crusher/load_generator.rb', line 29 def stats_log_file(event_type) event_type = event_type.to_sym File.open(File.join(@options[:stats_log_dir], "#{event_type}.csv"), 'a') do |file| yield file end end |