rubberband_flamethrower 0.3.1 → 0.4.0

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.4.0
@@ -12,6 +12,8 @@ command = args.shift.strip rescue 'help'
12
12
  case command
13
13
  when "fire"
14
14
  RubberbandFlamethrower.fire(*args)
15
+ when "auto"
16
+ RubberbandFlamethrower.auto(*args)
15
17
  else
16
18
  RubberbandFlamethrower.help
17
19
  end
@@ -7,12 +7,28 @@ module RubberbandFlamethrower
7
7
  require File.dirname(__FILE__)+"/rubberband_flamethrower/flamethrower.rb"
8
8
  flamethrower = Flamethrower.new
9
9
  time = Benchmark.measure do
10
- flamethrower.fire(how_many, starting_id, server_url, index, type)
10
+ flamethrower.fire(how_many, starting_id, server_url, index, type, 1)
11
11
  end
12
+ puts "\nFinished Inserting #{how_many} documents into Elastic Search."
12
13
  puts " user system total real"
13
14
  puts time
14
15
  end
15
16
 
17
+ def self.auto(how_many_batches=3, per_batch=5000, starting_id=1, server_url="http://localhost:9200", index="twitter", type="tweet")
18
+ require "active_support/core_ext"
19
+ require 'httparty'
20
+ require "benchmark"
21
+ require File.dirname(__FILE__)+"/rubberband_flamethrower/data_generator.rb"
22
+ require File.dirname(__FILE__)+"/rubberband_flamethrower/flamethrower.rb"
23
+ flamethrower = Flamethrower.new
24
+ Benchmark.bm(8) do |x|
25
+ how_many_batches.to_i.times do |i|
26
+ x.report("set #{i+1}:") { flamethrower.fire(per_batch, starting_id, server_url, index, type) }
27
+ starting_id = starting_id.to_i + per_batch.to_i
28
+ end
29
+ end
30
+ end
31
+
16
32
  def self.help
17
33
  puts "Flamethrower Commands Available:\n\nflamethrower #display this help message\nflamethrower fire #sends a batch to the elastic search server"
18
34
  end
@@ -1,9 +1,10 @@
1
1
  # This class is designed to insert objects created with the DataGenerator class into Elastic Search
2
2
  module RubberbandFlamethrower
3
3
  class Flamethrower
4
- def fire(how_many, starting_id, server_url, index, type)
4
+ def fire(how_many, starting_id, server_url, index, type, printing_level=0)
5
5
 
6
- $stdout.sync = true
6
+
7
+ ($stdout.sync = true) if printing_level == 1
7
8
 
8
9
  # a unique ID must be provided for each document stored in Elastic Search
9
10
  id = starting_id.to_i
@@ -15,17 +16,16 @@ module RubberbandFlamethrower
15
16
 
16
17
  # generate a piece of random data to insert that approxiamates a tweet
17
18
  insert_data = data.generate_random_insert_data
18
- #puts insert_data
19
+ (puts insert_data) if printing_level == 2
19
20
 
20
21
  # insert the random data into local elastic search index "twitter" as type "tweet" with set id
21
22
  response = HTTParty.put("#{server_url}/#{index}/#{type}/#{id}", body: insert_data)
22
- #puts response.body
23
- print "."
23
+ (puts response.body) if printing_level == 2
24
+ (print ".") if printing_level == 1
24
25
 
25
26
  #increment the insert id
26
27
  id = id + 1
27
28
  end
28
- puts "\n\nFinished Inserting #{how_many} documents into Elastic Search."
29
29
  end
30
30
 
31
31
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "rubberband_flamethrower"
8
- s.version = "0.3.1"
8
+ s.version = "0.4.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Orr"]
12
- s.date = "2013-04-08"
12
+ s.date = "2013-04-09"
13
13
  s.description = "Use to quickly fill up some indicies in Elastic Search and to retrieve statistics about insertion rates"
14
14
  s.email = "michael@cloudspace.com"
15
15
  s.executables = ["flamethrower"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubberband_flamethrower
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-08 00:00:00.000000000 Z
12
+ date: 2013-04-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: &13986480 !ruby/object:Gem::Requirement
16
+ requirement: &17477820 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.10.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *13986480
24
+ version_requirements: *17477820
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &13985980 !ruby/object:Gem::Requirement
27
+ requirement: &17477280 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.2.13
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *13985980
35
+ version_requirements: *17477280
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rdoc
38
- requirement: &13985500 !ruby/object:Gem::Requirement
38
+ requirement: &17476800 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '3.12'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *13985500
46
+ version_requirements: *17476800
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &13985000 !ruby/object:Gem::Requirement
49
+ requirement: &17476280 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.3.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *13985000
57
+ version_requirements: *17476280
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &13984520 !ruby/object:Gem::Requirement
60
+ requirement: &17475800 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: 1.8.4
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *13984520
68
+ version_requirements: *17475800
69
69
  description: Use to quickly fill up some indicies in Elastic Search and to retrieve
70
70
  statistics about insertion rates
71
71
  email: michael@cloudspace.com
@@ -117,7 +117,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
117
117
  version: '0'
118
118
  segments:
119
119
  - 0
120
- hash: -629124849433174154
120
+ hash: 3868063792966642724
121
121
  required_rubygems_version: !ruby/object:Gem::Requirement
122
122
  none: false
123
123
  requirements: