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 +1 -1
- data/bin/flamethrower +2 -0
- data/lib/rubberband_flamethrower.rb +17 -1
- data/lib/rubberband_flamethrower/flamethrower.rb +6 -6
- data/rubberband_flamethrower.gemspec +2 -2
- metadata +13 -13
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
data/bin/flamethrower
CHANGED
@@ -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
|
-
|
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
|
-
|
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
|
-
|
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.
|
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-
|
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.
|
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-
|
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: &
|
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: *
|
24
|
+
version_requirements: *17477820
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activesupport
|
27
|
-
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: *
|
35
|
+
version_requirements: *17477280
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rdoc
|
38
|
-
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: *
|
46
|
+
version_requirements: *17476800
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
|
-
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: *
|
57
|
+
version_requirements: *17476280
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: jeweler
|
60
|
-
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: *
|
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:
|
120
|
+
hash: 3868063792966642724
|
121
121
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
122
122
|
none: false
|
123
123
|
requirements:
|