test_bench-telemetry 2.0.0.1 → 2.1.0.1

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 (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.1
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