jtl 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +13 -5
  2. data/README.md +17 -8
  3. data/lib/jtl/jtl.rb +10 -0
  4. data/lib/jtl/version.rb +1 -1
  5. metadata +11 -11
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: b30d3cc2a4b0c7d80c8841e9891c626210e9b20c
4
- data.tar.gz: 56862bed1eecfb670735155e8bcf4eeff3cbc343
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NmZjMDhlMmY5OTAzZWQyYWQ0OTU4MmM1OGE5ZWVjYjkxNGU2Zjg5Mg==
5
+ data.tar.gz: !binary |-
6
+ YjM4ZWVkNTUxODVlZWU3NGJiZTFiYTE4ZDViNDY1NTk5YTgzZjIxYQ==
5
7
  SHA512:
6
- metadata.gz: 372abdaf0f91b7e226d625b4bfb196827ee618eb73056c0e6c686ae4b977988022ce38ae33819cc33e9451fe446e87ab58c363d0703f2a0bf72bba97b1707a29
7
- data.tar.gz: 9e8ed41c5fe78fbc5565d0cd3086e2f6100f573e037ca4a979dbdf1abb5e57ff691eac0674befd47c6248bfa9d2c5aaa359ae3d2807bf3d9f434bb811e23f6c3
8
+ metadata.gz: !binary |-
9
+ ZjU0N2I2ZTM4MzIzNDNjYTJlMGQxZDYxOWVhZmQxYWU5NzA4NWViODE2YTQz
10
+ NDExY2Y1ZTg0NjRlYWM3MjJkMzk1Yjk3ZTYwYTVjZjVkNTM0YWVhMzUyMmRh
11
+ YjAyN2VmMDJjYmQxZTNjNDIxOTY1NmZlMzQyYTE5ZWVhYjNkZTM=
12
+ data.tar.gz: !binary |-
13
+ MjQxYzZiNmM3YzVmOTdlYTY4YTEzODEwMjQ3NDZhNTY0ODE5ZWRhODU0YTE2
14
+ NmIxZWNiNzc1MjA4YmIyMmFkZDllZGY0YjkxMWEwODUwMDI5MjA3OTEzYThh
15
+ ODU1NzZmZDlhYmUwODZlZThjZjM5YzNjMTk3YTI4MzFhMWVlMmU=
data/README.md CHANGED
@@ -28,15 +28,24 @@ require 'gruff'
28
28
  jtl = Jtl.new('jmeter.jtl', interval: 10_000)
29
29
  # ~~~~~~~~~~~~~~~~ interval: 10s (default: 1s)
30
30
 
31
- g = Gruff::Line.new
31
+ g_line = Gruff::Line.new
32
32
 
33
- g.title = 'elapsed (avg)'
34
- marks = jtl.scale_marks.map {|i| i.strftime('%M:%S') }
35
- g.labels = Hash[*(0...marks.length).zip(marks).flatten]
33
+ g_line.title = 'elapsed (avg)'
34
+ g_line.labels = jtl.scale_marks.map {|i| i.strftime('%M:%S') }.to_gruff_labels
36
35
 
37
- g.data :all, jtl.elapseds {|i| i.mean }
38
- g.data :my_label1, jtl.elapseds.my_label1 {|i| i.mean }
39
- g.data :my_label2, jtl.elapseds.my_label2 {|i| i.mean }
36
+ g_line.data :all, jtl.elapseds {|i| i.mean }
37
+ g_line.data :my_label1, jtl.elapseds.my_label1 {|i| i.mean }
38
+ g_line.data :my_label2, jtl.elapseds.my_label2 {|i| i.mean }
40
39
 
41
- g.write('elapsed.png')
40
+ g_line.write('elapsed.png')
41
+
42
+ jtl = jtl.flatten
43
+ fs = jtl.elapseds.frequencies(10)
44
+
45
+ g_bar = Gruff::Bar.new
46
+ g_bar.title = 'histogram'
47
+ g_bar.labels = fs.keys.to_gruff_labels {|k, v| (v % 100).zero? }
48
+ g_bar.data :elapsed, fs.values
49
+
50
+ g.write('histogram.png')
42
51
  ```
data/lib/jtl/jtl.rb CHANGED
@@ -1,4 +1,6 @@
1
1
  class Jtl
2
+ attr_reader :path
3
+
2
4
  COLUMNS = [
3
5
  :time_stamp,
4
6
  :elapsed,
@@ -26,6 +28,14 @@ class Jtl
26
28
  @jtl = @jtl.sort_by {|i| i[0] } if @options[:sort]
27
29
  end
28
30
 
31
+ def write(output_path)
32
+ CSV.open(output_path, 'wb') do |csv|
33
+ @jtl.each do |row|
34
+ csv << row
35
+ end
36
+ end
37
+ end
38
+
29
39
  def interval
30
40
  @options[:interval]
31
41
  end
data/lib/jtl/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Jtl
2
- VERSION = '0.1.2'
2
+ VERSION = '0.1.3'
3
3
  end
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jtl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-26 00:00:00.000000000 Z
11
+ date: 2014-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simple_stats
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: orderedhash
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
@@ -56,14 +56,14 @@ dependencies:
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ! '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
@@ -113,17 +113,17 @@ require_paths:
113
113
  - lib
114
114
  required_ruby_version: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - '>='
116
+ - - ! '>='
117
117
  - !ruby/object:Gem::Version
118
118
  version: '0'
119
119
  required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - '>='
121
+ - - ! '>='
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0'
124
124
  requirements: []
125
125
  rubyforge_project:
126
- rubygems_version: 2.0.14
126
+ rubygems_version: 2.1.11
127
127
  signing_key:
128
128
  specification_version: 4
129
129
  summary: Parse a default jtl file of Apache JMeter.