test_bench-telemetry 2.0.0.1 → 2.1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/lib/test_bench/telemetry/controls/event/event_data.rb +15 -0
  3. data/lib/test_bench/telemetry/controls/event/metadata.rb +70 -0
  4. data/lib/test_bench/telemetry/controls/event.rb +112 -51
  5. data/lib/test_bench/telemetry/controls/event_data.rb +129 -0
  6. data/lib/test_bench/telemetry/controls/file.rb +84 -0
  7. data/lib/test_bench/telemetry/controls/handler.rb +48 -43
  8. data/lib/test_bench/telemetry/controls/{detail_level.rb → process_id.rb} +7 -3
  9. data/lib/test_bench/telemetry/controls/projection/receiver.rb +31 -0
  10. data/lib/test_bench/telemetry/controls/projection.rb +84 -0
  11. data/lib/test_bench/telemetry/controls/random.rb +1 -1
  12. data/lib/test_bench/telemetry/controls/sink.rb +23 -1
  13. data/lib/test_bench/telemetry/controls/time.rb +49 -2
  14. data/lib/test_bench/telemetry/controls.rb +10 -33
  15. data/lib/test_bench/telemetry/event.rb +74 -13
  16. data/lib/test_bench/telemetry/{event → event_data}/serialization.rb +78 -53
  17. data/lib/test_bench/telemetry/event_data.rb +13 -0
  18. data/lib/test_bench/telemetry/sink/file.rb +3 -3
  19. data/lib/test_bench/telemetry/sink/handler/event_registry.rb +42 -0
  20. data/lib/test_bench/telemetry/sink/handler.rb +54 -30
  21. data/lib/test_bench/telemetry/sink/projection.rb +132 -0
  22. data/lib/test_bench/telemetry/sink.rb +11 -0
  23. data/lib/test_bench/telemetry/substitute/sink.rb +83 -0
  24. data/lib/test_bench/telemetry/substitute.rb +13 -54
  25. data/lib/test_bench/telemetry/telemetry.rb +60 -19
  26. data/lib/test_bench/telemetry.rb +8 -10
  27. metadata +17 -40
  28. data/lib/test_bench/telemetry/controls/capture_sink/path.rb +0 -30
  29. data/lib/test_bench/telemetry/controls/capture_sink/record.rb +0 -21
  30. data/lib/test_bench/telemetry/controls/comment.rb +0 -19
  31. data/lib/test_bench/telemetry/controls/error.rb +0 -36
  32. data/lib/test_bench/telemetry/controls/events/asserted.rb +0 -32
  33. data/lib/test_bench/telemetry/controls/events/commented.rb +0 -26
  34. data/lib/test_bench/telemetry/controls/events/context_entered.rb +0 -31
  35. data/lib/test_bench/telemetry/controls/events/context_exited.rb +0 -34
  36. data/lib/test_bench/telemetry/controls/events/context_skipped.rb +0 -31
  37. data/lib/test_bench/telemetry/controls/events/detail_decreased.rb +0 -23
  38. data/lib/test_bench/telemetry/controls/events/detail_increased.rb +0 -23
  39. data/lib/test_bench/telemetry/controls/events/error_raised.rb +0 -26
  40. data/lib/test_bench/telemetry/controls/events/file_entered.rb +0 -29
  41. data/lib/test_bench/telemetry/controls/events/file_exited.rb +0 -32
  42. data/lib/test_bench/telemetry/controls/events/fixture_finished.rb +0 -29
  43. data/lib/test_bench/telemetry/controls/events/fixture_started.rb +0 -26
  44. data/lib/test_bench/telemetry/controls/events/run_aborted.rb +0 -29
  45. data/lib/test_bench/telemetry/controls/events/run_finished.rb +0 -32
  46. data/lib/test_bench/telemetry/controls/events/run_started.rb +0 -29
  47. data/lib/test_bench/telemetry/controls/events/test_finished.rb +0 -34
  48. data/lib/test_bench/telemetry/controls/events/test_skipped.rb +0 -31
  49. data/lib/test_bench/telemetry/controls/events/test_started.rb +0 -31
  50. data/lib/test_bench/telemetry/controls/events.rb +0 -27
  51. data/lib/test_bench/telemetry/controls/fixture_name.rb +0 -19
  52. data/lib/test_bench/telemetry/controls/line_number.rb +0 -10
  53. data/lib/test_bench/telemetry/controls/path.rb +0 -87
  54. data/lib/test_bench/telemetry/controls/result.rb +0 -12
  55. data/lib/test_bench/telemetry/controls/title.rb +0 -43
  56. data/lib/test_bench/telemetry/event/events.rb +0 -35
  57. data/lib/test_bench/telemetry/event/type.rb +0 -27
  58. data/lib/test_bench/telemetry/sink/capture/path.rb +0 -69
  59. data/lib/test_bench/telemetry/sink/capture/record/generate.rb +0 -49
  60. data/lib/test_bench/telemetry/sink/capture/record.rb +0 -73
  61. data/lib/test_bench/telemetry/sink/capture.rb +0 -55
@@ -5,48 +5,65 @@ module TestBench
5
5
  def self.included(cls)
6
6
  cls.class_exec do
7
7
  include Sink
8
+ include Receive
8
9
 
9
10
  extend HandlerMethod
10
11
  extend HandleMacro
12
+ end
13
+ end
11
14
 
12
- include Event::Events
15
+ module Receive
16
+ def receive(event_data)
17
+ handle(event_data)
13
18
  end
14
19
  end
15
20
 
16
- def handle(event)
17
- handles = handle?(event)
21
+ def handle(event_or_event_data)
22
+ handles = handle?(event_or_event_data)
18
23
 
19
24
  if handles
20
- handler_method = handler_method(event)
25
+ if event_or_event_data.is_a?(Event)
26
+ event = event_or_event_data
27
+ else
28
+ event_data = event_or_event_data
29
+ event_type = event_data.type
30
+ event_class = self.class.event_registry.get(event_type)
31
+
32
+ event = Event::Import.(event_data, event_class)
33
+ end
21
34
 
22
- parameters = method(handler_method).parameters
35
+ handler_method = handler_method(event)
23
36
 
24
- final_parameter_type, _ = parameters.last
25
- if not final_parameter_type == :rest
26
- parameter_count = parameters.count
37
+ if method(handler_method).parameters.any?
38
+ __send__(handler_method, event)
39
+ else
40
+ __send__(handler_method)
41
+ end
27
42
 
28
- arguments = event.values[0...parameter_count]
43
+ event
44
+ elsif respond_to?(:handle_event_data)
45
+ if event_or_event_data.is_a?(Event)
46
+ event_data = Event::Export.(event_or_event_data)
29
47
  else
30
- arguments = event.values
48
+ event_data = event_or_event_data
31
49
  end
32
50
 
33
- __send__(handler_method, *arguments)
51
+ handle_event_data(event_data)
34
52
 
35
- true
53
+ event_data
36
54
  else
37
- false
55
+ nil
38
56
  end
39
57
  end
40
- alias :call :handle
41
58
 
42
- def handle?(event_or_event_type)
43
- handler_method = handler_method(event_or_event_type)
59
+ def handle?(...)
60
+ handler_method = handler_method(...)
44
61
 
45
62
  not handler_method.nil?
46
63
  end
47
64
 
48
- def handler_method(event_or_event_type)
49
- handler_method = self.class.handler_method(event_or_event_type)
65
+ def handler_method(event_or_event_data)
66
+ handler_method = self.class.handler_method(event_or_event_data)
50
67
 
51
68
  if respond_to?(handler_method)
52
69
  handler_method
@@ -57,31 +74,38 @@ module TestBench
57
74
 
58
75
  module HandleMacro
59
76
  def handle_macro(event_class, &block)
60
- event_type = event_class
77
+ event_registry.register(event_class)
78
+
79
+ event_type = event_class.event_type
61
80
 
62
81
  handler_method = HandlerMethod.get(event_type)
63
82
 
64
83
  define_method(handler_method, &block)
65
84
  end
66
85
  alias :handle :handle_macro
67
- end
68
86
 
69
- module HandlerMethod
70
- def handler_method(event_or_event_type)
71
- HandlerMethod.get(event_or_event_type)
87
+ def event_registry
88
+ @event_registry ||= EventRegistry.new
72
89
  end
90
+ end
73
91
 
74
- def self.get(event_or_event_type)
75
- if event_or_event_type.is_a?(Symbol)
76
- event_type = event_or_event_type
77
- else
78
- event = event_or_event_type
92
+ module HandlerMethod
93
+ def handler_method(event_or_event_data)
94
+ if event_or_event_data.is_a?(Event)
95
+ event = event_or_event_data
79
96
  event_type = event.event_type
97
+ else
98
+ event_data = event_or_event_data
99
+ event_type = event_data.type
80
100
  end
81
101
 
82
- event_type_method_cased = Event::Type.method_cased(event_type)
102
+ HandlerMethod.get(event_type)
103
+ end
104
+
105
+ def self.get(event_type)
106
+ event_name = Event::EventName.get(event_type)
83
107
 
84
- :"handle_#{event_type_method_cased}"
108
+ :"handle_#{event_name}"
85
109
  end
86
110
  end
87
111
  end
@@ -0,0 +1,132 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Sink
4
+ module Projection
5
+ def self.included(cls)
6
+ cls.class_exec do
7
+ include Sink
8
+ include Receive
9
+
10
+ extend ReceiverNameMacro
11
+
12
+ extend ApplyMethod
13
+ extend ApplyMacro
14
+ end
15
+ end
16
+
17
+ attr_accessor :receiver
18
+
19
+ def initialize(receiver)
20
+ @receiver = receiver
21
+ end
22
+
23
+ module Receive
24
+ def receive(event_data)
25
+ apply(event_data)
26
+ end
27
+ end
28
+
29
+ def apply(event_or_event_data)
30
+ applies = apply?(event_or_event_data)
31
+
32
+ if applies
33
+ if event_or_event_data.is_a?(Event)
34
+ event = event_or_event_data
35
+ else
36
+ event_data = event_or_event_data
37
+ event_type = event_data.type
38
+ event_class = self.class.event_registry.get(event_type)
39
+
40
+ event = Event::Import.(event_data, event_class)
41
+ end
42
+
43
+ apply_method = apply_method(event)
44
+
45
+ if method(apply_method).parameters.any?
46
+ __send__(apply_method, event)
47
+ else
48
+ __send__(apply_method)
49
+ end
50
+
51
+ event
52
+ elsif respond_to?(:apply_event_data)
53
+ if event_or_event_data.is_a?(Event)
54
+ event_data = Event::Export.(event_or_event_data)
55
+ else
56
+ event_data = event_or_event_data
57
+ end
58
+
59
+ apply_event_data(event_data)
60
+
61
+ event_data
62
+ else
63
+ nil
64
+ end
65
+ end
66
+ alias :call :apply
67
+
68
+ def apply?(...)
69
+ apply_method = apply_method(...)
70
+
71
+ not apply_method.nil?
72
+ end
73
+
74
+ def apply_method(event_or_event_data)
75
+ apply_method = self.class.apply_method(event_or_event_data)
76
+
77
+ if respond_to?(apply_method)
78
+ apply_method
79
+ else
80
+ nil
81
+ end
82
+ end
83
+
84
+ module ReceiverNameMacro
85
+ def receiver_name_macro(receiver_name)
86
+ define_method(receiver_name) do
87
+ receiver
88
+ end
89
+ end
90
+ alias :receiver_name :receiver_name_macro
91
+ end
92
+
93
+ module ApplyMacro
94
+ def apply_macro(event_class, &block)
95
+ event_registry.register(event_class)
96
+
97
+ event_type = event_class.event_type
98
+
99
+ apply_method = ApplyMethod.get(event_type)
100
+
101
+ define_method(apply_method, &block)
102
+ end
103
+ alias :apply :apply_macro
104
+
105
+ def event_registry
106
+ @event_registry ||= Handler::EventRegistry.new
107
+ end
108
+ end
109
+
110
+ module ApplyMethod
111
+ def apply_method(event_or_event_data)
112
+ if event_or_event_data.is_a?(Event)
113
+ event = event_or_event_data
114
+ event_type = event.event_type
115
+ else
116
+ event_data = event_or_event_data
117
+ event_type = event_data.type
118
+ end
119
+
120
+ ApplyMethod.get(event_type)
121
+ end
122
+
123
+ def self.get(event_type)
124
+ event_name = Event::EventName.get(event_type)
125
+
126
+ :"apply_#{event_name}"
127
+ end
128
+ end
129
+ end
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,11 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Sink
4
+ ReceiveError = Class.new(RuntimeError)
5
+
6
+ def receive(event_data)
7
+ raise ReceiveError, "Sink #{self.class} doesn't implement receive"
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,83 @@
1
+ module TestBench
2
+ class Telemetry
3
+ module Substitute
4
+ class Sink
5
+ MatchError = Class.new(RuntimeError)
6
+
7
+ include Telemetry::Sink
8
+
9
+ def self.read(path)
10
+ file_text = ::File.read(path)
11
+
12
+ instance = new
13
+
14
+ file_text.each_line do |event_data_text|
15
+ event_data = Telemetry::EventData.load(event_data_text)
16
+
17
+ instance.receive(event_data)
18
+ end
19
+
20
+ instance
21
+ end
22
+
23
+ def received_events
24
+ @received_events ||= []
25
+ end
26
+
27
+ def receive(event_data)
28
+ received_events << event_data
29
+ end
30
+
31
+ def received?(event_data)
32
+ received_events.include?(event_data)
33
+ end
34
+
35
+ def one_event?(...)
36
+ !one_event(...).nil?
37
+ end
38
+
39
+ def one_event(...)
40
+ events = events(...)
41
+
42
+ if events.count > 1
43
+ event_type = events.first.event_type
44
+ raise MatchError, "More than one event matches (Type: #{event_type.inspect}, Matching Events: #{events.count})"
45
+ end
46
+
47
+ events.first
48
+ end
49
+
50
+ def any_event?(...)
51
+ events(...).any?
52
+ end
53
+ alias :event? :any_event?
54
+
55
+ def events(event_class, **attributes)
56
+ event_type = event_class.event_type
57
+
58
+ events = []
59
+
60
+ received_events.each do |event_data|
61
+ event_types_correspond = event_data.type == event_type
62
+
63
+ if event_types_correspond
64
+ event = Event::Import.(event_data, event_class)
65
+
66
+ attributes_correspond = attributes.all? do |attribute, compare_value|
67
+ value = event.public_send(attribute)
68
+
69
+ value == compare_value
70
+ end
71
+
72
+ if attributes_correspond
73
+ events << event
74
+ end
75
+ end
76
+ end
77
+
78
+ events
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -6,67 +6,26 @@ module TestBench
6
6
  end
7
7
 
8
8
  class Telemetry < Telemetry
9
- def capture_sink
10
- @capture_sink ||= Sink::Capture.new
9
+ attr_accessor :process_id
10
+ attr_accessor :current_time
11
+
12
+ def sink
13
+ @sink ||= Substitute::Sink.new
11
14
  end
15
+ attr_writer :sink
12
16
 
13
17
  def self.build
14
18
  instance = new
15
- instance.register(instance.capture_sink)
19
+ instance.register(instance.sink)
16
20
  instance
17
21
  end
18
22
 
19
- Event.each_event_type do |event_type|
20
- event_type_method_cased = Event::Type.method_cased(event_type)
21
-
22
- module_eval(<<~RUBY, __FILE__, __LINE__)
23
- def one_#{event_type_method_cased}_record?(*arguments, **keyword_arguments, &block)
24
- one_record?(*arguments, **keyword_arguments) do |compare_event_type, *event_values|
25
- block ||= proc { true }
26
-
27
- if compare_event_type == #{event_type.inspect}
28
- block.(*event_values)
29
- end
30
- end
31
- end
32
-
33
- def one_#{event_type_method_cased}_record(*arguments, **keyword_arguments, &block)
34
- block ||= proc { true }
35
-
36
- one_record(*arguments, **keyword_arguments) do |compare_event_type, *event_values|
37
- if compare_event_type == #{event_type.inspect}
38
- block.(*event_values)
39
- end
40
- end
41
- end
42
-
43
- def any_#{event_type_method_cased}_record?(*arguments, **keyword_arguments, &block)
44
- block ||= proc { true }
45
-
46
- any_record?(*arguments, **keyword_arguments) do |compare_event_type, *event_values|
47
- if compare_event_type == #{event_type.inspect}
48
- block.(*event_values)
49
- end
50
- end
51
- end
52
- alias :#{event_type_method_cased}_record? :any_#{event_type_method_cased}_record?
53
-
54
- def #{event_type_method_cased}_records(*arguments, **keyword_arguments, &block)
55
- block ||= proc { true }
56
-
57
- records(*arguments, **keyword_arguments) do |compare_event_type, *event_values|
58
- if compare_event_type == #{event_type.inspect}
59
- block.(*event_values)
60
- end
61
- end
62
- end
63
- RUBY
64
- end
65
-
66
- def one_record?(...) = capture_sink.one_record?(...)
67
- def one_record(...) = capture_sink.one_record(...)
68
- def any_record?(...) = capture_sink.any_record?(...)
69
- def records(...) = capture_sink.records(...)
23
+ def one_event?(...) = sink.one_event?(...)
24
+ def one_event(...) = sink.one_event(...)
25
+ def any_event?(...) = sink.any_event?(...)
26
+ alias :event? :any_event?
27
+ def events(...) = sink.events(...)
28
+ def recorded?(...) = sink.received?(...)
70
29
  end
71
30
  end
72
31
  end
@@ -1,12 +1,12 @@
1
1
  module TestBench
2
2
  class Telemetry
3
- include Event::Events
4
-
5
3
  RegistrationError = Class.new(RuntimeError)
4
+ GetError = Class.new(RuntimeError)
6
5
 
7
6
  def sinks
8
7
  @sinks ||= []
9
8
  end
9
+ attr_writer :sinks
10
10
 
11
11
  def self.build(*sinks)
12
12
  instance = new
@@ -25,14 +25,39 @@ module TestBench
25
25
  receiver.public_send(:"#{attr_name}=", instance)
26
26
  end
27
27
 
28
- def record(event, now=nil)
29
- event.time ||= current_time(now)
28
+ def record(event)
29
+ if event.is_a?(Event)
30
+ event.metadata ||= Event::Metadata.new
31
+
32
+ event_data = Event::Export.(event)
33
+ else
34
+ event_data = event
35
+ end
36
+
37
+ event_data.process_id ||= process_id
38
+ event_data.time ||= current_time
30
39
 
31
40
  sinks.each do |sink|
32
- sink.(event)
41
+ sink.receive(event_data)
33
42
  end
34
43
 
35
- event
44
+ event_data
45
+ end
46
+
47
+ def current_time
48
+ self.class.current_time
49
+ end
50
+
51
+ def process_id
52
+ self.class.process_id
53
+ end
54
+
55
+ def self.current_time
56
+ ::Time.now
57
+ end
58
+
59
+ def self.process_id
60
+ ::Process.pid
36
61
  end
37
62
 
38
63
  def register(sink)
@@ -40,29 +65,45 @@ module TestBench
40
65
  raise RegistrationError, "Already registered #{sink.inspect}"
41
66
  end
42
67
 
43
- sinks << sink
68
+ sinks.push(sink)
44
69
  end
45
70
 
46
- def registered?(sink)
47
- sinks.include?(sink)
71
+ def unregister(sink)
72
+ deleted_sink = sinks.delete(sink)
73
+
74
+ if deleted_sink.nil?
75
+ raise RegistrationError, "Not registered #{sink.inspect}"
76
+ end
48
77
  end
49
78
 
50
- Event.each_event_type do |event_type|
51
- event_class = Event.const_get(event_type)
79
+ def registered?(sink_or_sink_class)
80
+ if sink_or_sink_class.is_a?(Sink)
81
+ sink = sink_or_sink_class
82
+
83
+ sinks.include?(sink)
84
+ else
85
+ sink_class = sink_or_sink_class
52
86
 
53
- event_type_method_cased = Event::Type.method_cased(event_type)
87
+ sink = get_sink(sink_class)
54
88
 
55
- module_eval(<<~RUBY, __FILE__, __LINE__)
56
- def record_#{event_type_method_cased}(*values)
57
- event = #{event_class}.new(*values)
89
+ !sink.nil?
90
+ end
91
+ end
92
+
93
+ def get_sink(sink_class)
94
+ sink, *other_sinks = get_sinks(sink_class)
58
95
 
59
- record(event)
96
+ if other_sinks.any?
97
+ raise GetError, "Multiple sinks match: #{sink_class.inspect}"
60
98
  end
61
- RUBY
99
+
100
+ sink
62
101
  end
63
102
 
64
- def current_time(now)
65
- now || ::Time.now
103
+ def get_sinks(sink_class)
104
+ sinks.select do |sink|
105
+ sink.instance_of?(sink_class)
106
+ end
66
107
  end
67
108
  end
68
109
  end
@@ -1,19 +1,17 @@
1
1
  require 'test_bench/random'
2
2
 
3
- require 'test_bench/telemetry/event'
4
- require 'test_bench/telemetry/event/type'
5
- require 'test_bench/telemetry/event/serialization'
6
- require 'test_bench/telemetry/event/events'
7
-
8
- require 'test_bench/telemetry/sink/handler'
3
+ require 'test_bench/telemetry/event_data'
4
+ require 'test_bench/telemetry/event_data/serialization'
9
5
 
10
- require 'test_bench/telemetry/sink/capture/path'
11
- require 'test_bench/telemetry/sink/capture/record'
12
- require 'test_bench/telemetry/sink/capture/record/generate'
13
- require 'test_bench/telemetry/sink/capture'
6
+ require 'test_bench/telemetry/event'
14
7
 
8
+ require 'test_bench/telemetry/sink'
15
9
  require 'test_bench/telemetry/sink/file'
10
+ require 'test_bench/telemetry/sink/handler/event_registry'
11
+ require 'test_bench/telemetry/sink/handler'
12
+ require 'test_bench/telemetry/sink/projection'
16
13
 
17
14
  require 'test_bench/telemetry/telemetry'
18
15
 
16
+ require 'test_bench/telemetry/substitute/sink'
19
17
  require 'test_bench/telemetry/substitute'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_bench-telemetry
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.1
4
+ version: 2.1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Ladd
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-31 00:00:00.000000000 Z
11
+ date: 2023-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test_bench-random
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: test_bench-bootstrap
28
+ name: test_bench-isolated
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -46,51 +46,28 @@ extra_rdoc_files: []
46
46
  files:
47
47
  - lib/test_bench/telemetry.rb
48
48
  - lib/test_bench/telemetry/controls.rb
49
- - lib/test_bench/telemetry/controls/capture_sink/path.rb
50
- - lib/test_bench/telemetry/controls/capture_sink/record.rb
51
- - lib/test_bench/telemetry/controls/comment.rb
52
- - lib/test_bench/telemetry/controls/detail_level.rb
53
- - lib/test_bench/telemetry/controls/error.rb
54
49
  - lib/test_bench/telemetry/controls/event.rb
55
- - lib/test_bench/telemetry/controls/events.rb
56
- - lib/test_bench/telemetry/controls/events/asserted.rb
57
- - lib/test_bench/telemetry/controls/events/commented.rb
58
- - lib/test_bench/telemetry/controls/events/context_entered.rb
59
- - lib/test_bench/telemetry/controls/events/context_exited.rb
60
- - lib/test_bench/telemetry/controls/events/context_skipped.rb
61
- - lib/test_bench/telemetry/controls/events/detail_decreased.rb
62
- - lib/test_bench/telemetry/controls/events/detail_increased.rb
63
- - lib/test_bench/telemetry/controls/events/error_raised.rb
64
- - lib/test_bench/telemetry/controls/events/file_entered.rb
65
- - lib/test_bench/telemetry/controls/events/file_exited.rb
66
- - lib/test_bench/telemetry/controls/events/fixture_finished.rb
67
- - lib/test_bench/telemetry/controls/events/fixture_started.rb
68
- - lib/test_bench/telemetry/controls/events/run_aborted.rb
69
- - lib/test_bench/telemetry/controls/events/run_finished.rb
70
- - lib/test_bench/telemetry/controls/events/run_started.rb
71
- - lib/test_bench/telemetry/controls/events/test_finished.rb
72
- - lib/test_bench/telemetry/controls/events/test_skipped.rb
73
- - lib/test_bench/telemetry/controls/events/test_started.rb
74
- - lib/test_bench/telemetry/controls/fixture_name.rb
50
+ - lib/test_bench/telemetry/controls/event/event_data.rb
51
+ - lib/test_bench/telemetry/controls/event/metadata.rb
52
+ - lib/test_bench/telemetry/controls/event_data.rb
53
+ - lib/test_bench/telemetry/controls/file.rb
75
54
  - lib/test_bench/telemetry/controls/handler.rb
76
- - lib/test_bench/telemetry/controls/line_number.rb
77
- - lib/test_bench/telemetry/controls/path.rb
55
+ - lib/test_bench/telemetry/controls/process_id.rb
56
+ - lib/test_bench/telemetry/controls/projection.rb
57
+ - lib/test_bench/telemetry/controls/projection/receiver.rb
78
58
  - lib/test_bench/telemetry/controls/random.rb
79
- - lib/test_bench/telemetry/controls/result.rb
80
59
  - lib/test_bench/telemetry/controls/sink.rb
81
60
  - lib/test_bench/telemetry/controls/time.rb
82
- - lib/test_bench/telemetry/controls/title.rb
83
61
  - lib/test_bench/telemetry/event.rb
84
- - lib/test_bench/telemetry/event/events.rb
85
- - lib/test_bench/telemetry/event/serialization.rb
86
- - lib/test_bench/telemetry/event/type.rb
87
- - lib/test_bench/telemetry/sink/capture.rb
88
- - lib/test_bench/telemetry/sink/capture/path.rb
89
- - lib/test_bench/telemetry/sink/capture/record.rb
90
- - lib/test_bench/telemetry/sink/capture/record/generate.rb
62
+ - lib/test_bench/telemetry/event_data.rb
63
+ - lib/test_bench/telemetry/event_data/serialization.rb
64
+ - lib/test_bench/telemetry/sink.rb
91
65
  - lib/test_bench/telemetry/sink/file.rb
92
66
  - lib/test_bench/telemetry/sink/handler.rb
67
+ - lib/test_bench/telemetry/sink/handler/event_registry.rb
68
+ - lib/test_bench/telemetry/sink/projection.rb
93
69
  - lib/test_bench/telemetry/substitute.rb
70
+ - lib/test_bench/telemetry/substitute/sink.rb
94
71
  - lib/test_bench/telemetry/telemetry.rb
95
72
  homepage: https://github.com/test-bench/test-bench-telemetry
96
73
  licenses:
@@ -111,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
88
  - !ruby/object:Gem::Version
112
89
  version: '0'
113
90
  requirements: []
114
- rubygems_version: 3.3.23
91
+ rubygems_version: 3.4.10
115
92
  signing_key:
116
93
  specification_version: 4
117
94
  summary: Telemetry subsystem for TestBench