Module: Evidence
- Defined in:
- lib/evidence.rb,
lib/evidence/stream.rb,
lib/evidence/log_parser.rb,
lib/evidence/rails_action_parser.rb,
lib/evidence/littles_law_analysis.rb
Defined Under Namespace
Classes: ArrayStream, Counter, FileStream, LittlesLawAnalysis, LogParser, MergedStream, RailsActionParser, Stream
Class Method Summary
collapse
Class Method Details
.counter ⇒ Object
32
33
34
|
# File 'lib/evidence.rb', line 32
def counter
Counter.new
end
|
.default_unmatched_processor ⇒ Object
48
49
50
|
# File 'lib/evidence.rb', line 48
def default_unmatched_processor
lambda {|log| }
end
|
.littles_law_analysis(time_window) ⇒ Object
44
45
46
|
# File 'lib/evidence.rb', line 44
def littles_law_analysis(time_window)
LittlesLawAnalysis.new(time_window)
end
|
.log_parser(pattern, unmatched = default_unmatched_processor) ⇒ Object
36
37
38
|
# File 'lib/evidence.rb', line 36
def log_parser(pattern, unmatched=default_unmatched_processor)
LogParser.new(pattern, unmatched)
end
|
.merge_streams(streams, comparator) ⇒ Object
23
24
25
26
27
28
29
30
|
# File 'lib/evidence.rb', line 23
def merge_streams(streams, comparator)
loop do
s1 = streams.shift
return s1 if streams.empty?
s2 = streams.shift
streams << MergedStream.new([s1, s2], comparator)
end
end
|
.rails_action_parser(pid, message, unmatched = default_unmatched_processor) ⇒ Object
40
41
42
|
# File 'lib/evidence.rb', line 40
def rails_action_parser(pid, message, unmatched=default_unmatched_processor)
RailsActionParser.new(pid, message, unmatched)
end
|
.stream(obj, processor = nil) ⇒ Object
A stream is an Enumerable with a processor processing the data comming from upstream and yield to downstream
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/evidence.rb', line 11
def stream(obj, processor=nil)
up_stream = case obj
when Array
ArrayStream.new(obj)
when File
FileStream.new(obj)
else
obj
end
Stream.new(up_stream, processor || lambda {|b| b})
end
|