press 0.20 → 0.21

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.
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: