press 0.20 → 0.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/lib/example.rb +71 -22
  2. data/lib/press/printer.rb +71 -0
  3. data/lib/press.rb +51 -0
  4. metadata +3 -2
data/lib/example.rb CHANGED
@@ -43,19 +43,17 @@ module Measure
43
43
  def self.run
44
44
  puts "########## running ##########"
45
45
 
46
- r = mpd hello: "world"
47
- puts "XXX=#{r.inspect}"
46
+ cpd hello: "world"
48
47
 
49
- r = mpd hello: "world" do
48
+ r = xpd hello: "world" do
50
49
  42
51
50
  end
52
51
  puts r
53
52
  puts
54
53
 
55
- r = mpdfm __FILE__, __method__, hello: "world"
56
- puts "XXX=#{r.inspect}"
54
+ cpdfm __FILE__, __method__, hello: "world"
57
55
 
58
- r = mpdfm __FILE__, __method__, hello: "world" do
56
+ r = xpdfm __FILE__, __method__, hello: "world" do
59
57
  42
60
58
  end
61
59
  puts r
@@ -64,19 +62,17 @@ module Measure
64
62
  begin
65
63
  1 / 0
66
64
  rescue => e
67
- r = mpde e, hello: "world"
68
- puts "XXX=#{r.inspect}"
69
- r = mpdfme __FILE__, __method__, e, hello: "world"
70
- puts "XXX=#{r.inspect}"
65
+ cpde e, hello: "world"
66
+ cpdfme __FILE__, __method__, e, hello: "world"
71
67
  end
72
68
  puts
73
69
 
74
- mpd hello: "world" do
70
+ xpd hello: "world" do
75
71
  1 / 0
76
72
  end rescue
77
73
  puts
78
74
 
79
- mpdfm __FILE__, __method__, hello: "world" do
75
+ xpdfm __FILE__, __method__, hello: "world" do
80
76
  1 / 0
81
77
  end rescue
82
78
  puts
@@ -89,19 +85,19 @@ module MeasureEvent
89
85
  def self.run
90
86
  puts "########## running ##########"
91
87
 
92
- mpd hello: "world", event: "sunset"
88
+ cpd hello: "world", event: "sunset"
93
89
  puts
94
90
 
95
- r = mpd hello: "world", event: "sunset" do
91
+ r = xpd hello: "world", event: "sunset" do
96
92
  42
97
93
  end
98
94
  puts r
99
95
  puts
100
96
 
101
- mpdfm __FILE__, __method__, hello: "world", event: "sunset"
97
+ cpdfm __FILE__, __method__, hello: "world", event: "sunset"
102
98
  puts
103
99
 
104
- r = mpdfm __FILE__, __method__, hello: "world", event: "sunset" do
100
+ r = xpdfm __FILE__, __method__, hello: "world", event: "sunset" do
105
101
  42
106
102
  end
107
103
  puts r
@@ -110,17 +106,66 @@ module MeasureEvent
110
106
  begin
111
107
  1 / 0
112
108
  rescue => e
113
- mpde e, hello: "world", event: "sunset"
114
- mpdfme __FILE__, __method__, e, hello: "world", event: "sunset"
109
+ cpde e, hello: "world", event: "sunset"
110
+ cpdfme __FILE__, __method__, e, hello: "world", event: "sunset"
115
111
  end
116
112
  puts
117
113
 
118
- mpd hello: "world", event: "sunset" do
114
+ xpd hello: "world", event: "sunset" do
119
115
  1 / 0
120
116
  end rescue
121
117
  puts
122
118
 
123
- mpdfm __FILE__, __method__, hello: "world", event: "sunset" do
119
+ xpdfm __FILE__, __method__, hello: "world", event: "sunset" do
120
+ 1 / 0
121
+ end rescue
122
+ puts
123
+ end
124
+ end
125
+
126
+ module NewEvent
127
+ extend Press
128
+
129
+ def self.run
130
+ puts "########## running ##########"
131
+
132
+ # cpd hello: "world", event: "sunset"
133
+ # puts
134
+
135
+ # spd hello: "world", event: "sunset", val: 10
136
+ # puts
137
+
138
+ r = xpd hello: "world", event: "sunset" do
139
+ 42
140
+ end
141
+ puts r
142
+ puts
143
+
144
+ # cpdfm __FILE__, __method__, hello: "world", event: "sunset"
145
+ # puts
146
+
147
+ r = xpdfm __FILE__, __method__, hello: "world", event: "sunset" do
148
+ 42
149
+ end
150
+ puts r
151
+ puts
152
+
153
+ # begin
154
+ # 1 / 0
155
+ # rescue => e
156
+ # cpde e, hello: "world"
157
+ # cpde e, hello: "world", event: "sunset"
158
+ # cpdfme __FILE__, __method__, e, hello: "world"
159
+ # cpdfme __FILE__, __method__, e, hello: "world", event: "sunset"
160
+ # end
161
+ # puts
162
+
163
+ xpd hello: "world", event: "sunset" do
164
+ 1 / 0
165
+ end rescue
166
+ puts
167
+
168
+ xpdfm __FILE__, __method__, hello: "world", event: "sunset" do
124
169
  1 / 0
125
170
  end rescue
126
171
  puts
@@ -136,8 +181,8 @@ end
136
181
  # Measure.run
137
182
  # Measure.mctx ["ripper", "production"].join("."), nil
138
183
  # Measure.run
139
- Measure.mctx ["screamer", "testing"].join("."), app: "shreiker", deploy: "beta"
140
- Measure.run
184
+ # Measure.mctx ["screamer", "testing"].join("."), app: "shreiker", deploy: "beta"
185
+ # Measure.run
141
186
 
142
187
  # MeasureEvent.mctx nil, nil
143
188
  # MeasureEvent.run
@@ -145,3 +190,7 @@ Measure.run
145
190
  # MeasureEvent.run
146
191
  # MeasureEvent.mctx ["screamer", "testing"].join("."), app: "shreiker", deploy: "beta"
147
192
  # MeasureEvent.run
193
+
194
+
195
+ NewEvent.mctx ["screamer", "testing"].join("."), app: "shreiker", deploy: "beta"
196
+ NewEvent.run
data/lib/press/printer.rb CHANGED
@@ -3,46 +3,96 @@ require "time"
3
3
  module Press
4
4
  module Printer
5
5
 
6
+ # context
6
7
  def self.ctx=(data)
7
8
  @ctx = data
8
9
  end
9
10
 
11
+ # measure tag
10
12
  def self.mtx=(tag)
11
13
  @mtx = tag
12
14
  end
13
15
 
16
+ # print data
14
17
  def self.pd(*data, &blk)
15
18
  write($stdout, hashify(*data, {}), &blk)
16
19
  end
17
20
 
21
+ # measure print data
18
22
  def self.mpd(*data, &blk)
19
23
  mwrite($stdout, @mtx, hashify(*data, {}), &blk)
20
24
  end
21
25
 
26
+ # measure print data
27
+ def self.xpd(*data, &blk)
28
+ xwrite($stdout, @mtx, hashify(*data, {}), &blk)
29
+ end
30
+
31
+ # sample print data
32
+ def self.spd(*data)
33
+ swrite($stdout, @mtx, hashify(*data, {}))
34
+ end
35
+
36
+ # count print data
37
+ def self.cpd(*data)
38
+ cwrite($stdout, @mtx, hashify(*data, {}))
39
+ end
40
+
41
+ # print data file method
22
42
  def self.pdfm(file, m, *data, &blk)
23
43
  write($stdout, hashify(*data, :file => File.basename(file, ".rb"), :fn => m), &blk)
24
44
  end
25
45
 
46
+ # measure print data file method
26
47
  def self.mpdfm(file, m, *data, &blk)
27
48
  mwrite($stdout, [@mtx, File.basename(file, ".rb"), m].compact.join("."), hashify(*data, :file => File.basename(file, ".rb"), :fn => m), &blk)
28
49
  end
29
50
 
51
+ # measure print data file method
52
+ def self.xpdfm(file, m, *data, &blk)
53
+ xwrite($stdout, [@mtx, File.basename(file, ".rb"), m].compact.join("."), hashify(*data, :file => File.basename(file, ".rb"), :fn => m), &blk)
54
+ end
55
+
56
+ # sample print data file method
57
+ def self.spdfm(file, m, *data)
58
+ swrite($stdout, [@mtx, File.basename(file, ".rb"), m].compact.join("."), hashify(*data, :file => File.basename(file, ".rb"), :fn => m))
59
+ end
60
+
61
+ # count print data file method
62
+ def self.cpdfm(file, m, *data)
63
+ cwrite($stdout, [@mtx, File.basename(file, ".rb"), m].compact.join("."), hashify(*data, :file => File.basename(file, ".rb"), :fn => m))
64
+ end
65
+
66
+ # print data exception
30
67
  def self.pde(e, *data)
31
68
  write($stderr, hashify(*data, errorify(e)))
32
69
  end
33
70
 
71
+ # measure print data exception
34
72
  def self.mpde(e, *data)
35
73
  mwrite($stderr, [@mtx, "error"].compact.join("."), hashify(*data, errorify(e)))
36
74
  end
37
75
 
76
+ # count print data exception
77
+ def self.cpde(e, *data)
78
+ cwrite($stderr, [@mtx, "error"].compact.join("."), hashify(*data, errorify(e)))
79
+ end
80
+
81
+ # print data file method exception
38
82
  def self.pdfme(file, m, e, *data)
39
83
  write($stderr, hashify(*data, errorify(e).merge(:file => File.basename(file, ".rb"), :fn => m)))
40
84
  end
41
85
 
86
+ # measure print data file method exception
42
87
  def self.mpdfme(file, m, e, *data)
43
88
  mwrite($stderr, [@mtx, "error"].compact.join("."), hashify(*data, errorify(e).merge(:file => File.basename(file, ".rb"), :fn => m)))
44
89
  end
45
90
 
91
+ # count print data file method exception
92
+ def self.cpdfme(file, m, e, *data)
93
+ cwrite($stderr, [@mtx, "error"].compact.join("."), hashify(*data, errorify(e).merge(:file => File.basename(file, ".rb"), :fn => m)))
94
+ end
95
+
46
96
  def self.errorify(e)
47
97
  { :at => "error", :class => e.class, :message => e.message.lines.to_a.first, :trace => e.backtrace.map { |i| i.match(/(#{Gem.dir}|#{Dir.getwd})?\/(.*):in (.*)/) && $2 }[0..5].compact.inspect}
48
98
  end
@@ -97,5 +147,26 @@ module Press
97
147
  end
98
148
  end
99
149
  end
150
+
151
+ def self.xwrite(file, tag, data, &blk)
152
+ unless blk
153
+ write(file, data.tap { |d| d["measure.#{[tag, d[:event]].compact.join(".")}"] = d[:val] if tag })
154
+ else
155
+ start = Time.now
156
+ write(file, { :at => "start" }.merge(data))
157
+ yield.tap do
158
+ elapsed = Time.now - start;
159
+ xwrite(file, tag, { :at => "finish", :elapsed => elapsed }.merge(data).tap { |d| d[:val] = elapsed if tag })
160
+ end
161
+ end
162
+ end
163
+
164
+ def self.swrite(file, tag, data)
165
+ write(file, data.tap { |d| d["sample.#{[tag, d[:event]].compact.join(".")}"] = d[:val] if tag })
166
+ end
167
+
168
+ def self.cwrite(file, tag, data)
169
+ write(file, data.tap { |d| d["count.#{[tag, d[:event]].compact.join(".")}"] = 1 if tag })
170
+ end
100
171
  end
101
172
  end
data/lib/press.rb CHANGED
@@ -2,51 +2,102 @@ require "press/printer"
2
2
 
3
3
  module Press
4
4
 
5
+ # context
5
6
  def ctx(data)
6
7
  Printer.ctx = data
7
8
  end
8
9
 
10
+ # measure tag
9
11
  def mtx(tag)
10
12
  Printer.mtx = tag
11
13
  end
12
14
 
15
+ # measure tag, context
13
16
  def mctx(tag, data)
14
17
  mtx tag
15
18
  ctx data
16
19
  end
17
20
 
21
+ # print data
18
22
  def pd(*data, &blk)
19
23
  Printer.pd *data, &blk
20
24
  end
21
25
 
26
+ # measure print data
22
27
  def mpd(*data, &blk)
23
28
  Printer.mpd *data, &blk
24
29
  end
25
30
 
31
+ # measure print data
32
+ def xpd(*data, &blk)
33
+ Printer.xpd *data, &blk
34
+ end
35
+
36
+ # sample print data
37
+ def spd(*data)
38
+ Printer.spd *data
39
+ end
40
+
41
+ # count print data
42
+ def cpd(*data)
43
+ Printer.cpd *data
44
+ end
45
+
46
+ # print data file method
26
47
  def pdfm(file, m, *data, &blk)
27
48
  Printer.pdfm file, m, *data, &blk
28
49
  end
29
50
 
51
+ # measure print data file method
30
52
  def mpdfm(file, m, *data, &blk)
31
53
  Printer.mpdfm file, m, *data, &blk
32
54
  end
33
55
 
56
+ # measure print data file method
57
+ def xpdfm(file, m, *data, &blk)
58
+ Printer.xpdfm file, m, *data, &blk
59
+ end
60
+
61
+ # sample print data file method
62
+ def spdfm(file, m, *data)
63
+ Printer.spdfm file, m, *data
64
+ end
65
+
66
+ # count print data file method
67
+ def cpdfm(file, m, *data)
68
+ Printer.cpdfm file, m, *data
69
+ end
70
+
71
+ # print data exception
34
72
  def pde(e, *data)
35
73
  Printer.pde e, *data
36
74
  end
37
75
 
76
+ # measure print data exception
38
77
  def mpde(e, *data)
39
78
  Printer.mpde e, *data
40
79
  end
41
80
 
81
+ # count print data exception
82
+ def cpde(e, *data)
83
+ Printer.cpde e, *data
84
+ end
85
+
86
+ # print data file method exception
42
87
  def pdfme(file, m, e, *data)
43
88
  Printer.pdfme file, m, e, *data
44
89
  end
45
90
 
91
+ # measure print data file method exception
46
92
  def mpdfme(file, m, e, *data)
47
93
  Printer.mpdfme file, m, e, *data
48
94
  end
49
95
 
96
+ # count print data file method exception
97
+ def cpdfme(file, m, e, *data)
98
+ Printer.cpdfme file, m, e, *data
99
+ end
100
+
50
101
  class Logger
51
102
 
52
103
  def self.level(*attrs)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: press
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.20'
4
+ version: '0.21'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-26 00:00:00.000000000 Z
12
+ date: 2013-09-06 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Data and exception printer.
15
15
  email: mark.fine@gmail.com
@@ -47,3 +47,4 @@ signing_key:
47
47
  specification_version: 3
48
48
  summary: printer
49
49
  test_files: []
50
+ has_rdoc: