pg_eventstore 3.0.1 → 3.1.2
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +29 -8
- data/README.md +1 -0
- data/docs/admin_ui.md +5 -0
- data/docs/metrics.md +233 -0
- data/lib/pg_eventstore/chunks/subscription_events_index_chunk.rb +4 -9
- data/lib/pg_eventstore/queries/replica_queries.rb +8 -5
- data/lib/pg_eventstore/sql_builder.rb +1 -1
- data/lib/pg_eventstore/subscriptions/callback_handlers/subscription_runner_handlers.rb +1 -1
- data/lib/pg_eventstore/subscriptions/runner_recovery_strategies/report_subscription_unrecoverable_error.rb +31 -0
- data/lib/pg_eventstore/subscriptions/runner_recovery_strategies.rb +1 -0
- data/lib/pg_eventstore/subscriptions/subscription_feed_strategies/collection.rb +9 -7
- data/lib/pg_eventstore/subscriptions/subscription_feed_strategies/index_read_strategy.rb +16 -16
- data/lib/pg_eventstore/subscriptions/subscription_feed_strategies/replication_strategy.rb +15 -15
- data/lib/pg_eventstore/subscriptions/subscription_feed_strategy.rb +4 -3
- data/lib/pg_eventstore/subscriptions/subscription_runner.rb +0 -5
- data/lib/pg_eventstore/subscriptions/subscription_runners_feeder.rb +15 -4
- data/lib/pg_eventstore/subscriptions/subscriptions_manager.rb +5 -0
- data/lib/pg_eventstore/utils.rb +2 -0
- data/lib/pg_eventstore/version.rb +1 -1
- data/lib/pg_eventstore/web/application.rb +7 -0
- data/lib/pg_eventstore/web/metrics/application.rb +64 -0
- data/lib/pg_eventstore/web/metrics/collectors/base.rb +69 -0
- data/lib/pg_eventstore/web/metrics/collectors/subscriptions_health.rb +78 -0
- data/lib/pg_eventstore/web/metrics/collectors/subscriptions_latency.rb +161 -0
- data/lib/pg_eventstore/web/metrics/collectors/subscriptions_throughput.rb +59 -0
- data/lib/pg_eventstore/web/metrics/formatter.rb +45 -0
- data/lib/pg_eventstore/web/metrics/helpers.rb +30 -0
- data/lib/pg_eventstore/web/metrics/metric_family.rb +40 -0
- data/lib/pg_eventstore/web/paginator/helpers.rb +27 -23
- data/lib/pg_eventstore/web/views/home/partials/events.erb +8 -6
- data/lib/pg_eventstore/web/views/home/partials/stream_filter.erb +1 -1
- data/lib/pg_eventstore/web/views/streams/partials/streams.erb +1 -1
- data/lib/pg_eventstore/web.rb +8 -0
- data/rbs_collection.lock.yaml +1 -1
- data/sig/pg_eventstore/subscriptions/callback_handlers/subscription_runner_handlers.rbs +1 -1
- data/sig/pg_eventstore/subscriptions/runner_recovery_strategies/report_subscription_unrecoverable_error.rbs +15 -0
- data/sig/pg_eventstore/subscriptions/subscription_feed_strategy/collection.rbs +1 -1
- data/sig/pg_eventstore/subscriptions/subscription_feed_strategy/index_read_strategy.rbs +1 -1
- data/sig/pg_eventstore/subscriptions/subscription_feed_strategy/replication_strategy.rbs +1 -1
- data/sig/pg_eventstore/subscriptions/subscription_feed_strategy.rbs +1 -1
- data/sig/pg_eventstore/subscriptions/subscription_runner.rbs +0 -2
- data/sig/pg_eventstore/subscriptions/subscription_runners_feeder.rbs +2 -0
- data/sig/pg_eventstore/web/application.rbs +2 -0
- data/sig/pg_eventstore/web/metrics/application.rbs +11 -0
- data/sig/pg_eventstore/web/metrics/collectors/base.rbs +33 -0
- data/sig/pg_eventstore/web/metrics/collectors/subscriptions_health.rbs +15 -0
- data/sig/pg_eventstore/web/metrics/collectors/subscriptions_latency.rbs +31 -0
- data/sig/pg_eventstore/web/metrics/collectors/subscriptions_throughput.rbs +15 -0
- data/sig/pg_eventstore/web/metrics/formatter.rbs +19 -0
- data/sig/pg_eventstore/web/metrics/helpers.rbs +11 -0
- data/sig/pg_eventstore/web/metrics/metric_family.rbs +19 -0
- data/sig/pg_eventstore/web/paginator/helpers.rbs +5 -3
- metadata +20 -1
|
@@ -30,7 +30,7 @@ module PgEventstore
|
|
|
30
30
|
|
|
31
31
|
# @return [String]
|
|
32
32
|
def first_page_link
|
|
33
|
-
path = build_path(params.slice(*(params.keys - ['starting_id'])))
|
|
33
|
+
path = url(build_path(params.slice(*(params.keys - ['starting_id']))))
|
|
34
34
|
<<~HTML
|
|
35
35
|
<li class="page-item">
|
|
36
36
|
<a class="page-link" href="#{path}" tabindex="-1">First</a>
|
|
@@ -41,17 +41,19 @@ module PgEventstore
|
|
|
41
41
|
# @param per_page [String] string representation of items per page. E.g. "10", "20", etc.
|
|
42
42
|
# @return [String]
|
|
43
43
|
def per_page_url(per_page)
|
|
44
|
-
build_path(params.merge(per_page:))
|
|
44
|
+
url(build_path(params.merge(per_page:)))
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
# @param order [String] "asc"/"desc"
|
|
48
48
|
# @return [String]
|
|
49
49
|
def sort_url(order)
|
|
50
|
-
build_path(params.merge(order:))
|
|
50
|
+
url(build_path(params.merge(order:)))
|
|
51
51
|
end
|
|
52
52
|
|
|
53
|
+
# @param should_resolve [Boolean]
|
|
54
|
+
# @return [String]
|
|
53
55
|
def resolve_link_tos_url(should_resolve)
|
|
54
|
-
build_path(params.merge(resolve_link_tos: should_resolve))
|
|
56
|
+
url(build_path(params.merge(resolve_link_tos: should_resolve)))
|
|
55
57
|
end
|
|
56
58
|
|
|
57
59
|
# @param number [Integer] total number of events by the current filter
|
|
@@ -82,27 +84,29 @@ module PgEventstore
|
|
|
82
84
|
|
|
83
85
|
# @param stream [PgEventstore::Stream]
|
|
84
86
|
# @return [String]
|
|
85
|
-
def
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
87
|
+
def stream_url(stream)
|
|
88
|
+
url(
|
|
89
|
+
build_path(
|
|
90
|
+
{
|
|
91
|
+
filter: {
|
|
92
|
+
streams: [
|
|
93
|
+
{
|
|
94
|
+
context: escape_empty_string(stream.context),
|
|
95
|
+
stream_name: escape_empty_string(stream.stream_name),
|
|
96
|
+
stream_id: escape_empty_string(stream.stream_id),
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
},
|
|
96
100
|
},
|
|
97
|
-
|
|
98
|
-
|
|
101
|
+
base_path: '/'
|
|
102
|
+
)
|
|
99
103
|
)
|
|
100
104
|
end
|
|
101
105
|
|
|
102
106
|
# @param marker [String]
|
|
103
107
|
# @return [String]
|
|
104
|
-
def
|
|
105
|
-
build_path({ filter: { markers: [escape_empty_string(marker)] } },
|
|
108
|
+
def event_marker_url(marker)
|
|
109
|
+
url(build_path({ filter: { markers: [escape_empty_string(marker)] } }, base_path: '/'))
|
|
106
110
|
end
|
|
107
111
|
|
|
108
112
|
# @param str [String]
|
|
@@ -120,16 +124,16 @@ module PgEventstore
|
|
|
120
124
|
def build_starting_id_link(starting_id)
|
|
121
125
|
return 'javascript: void(0);' unless starting_id
|
|
122
126
|
|
|
123
|
-
build_path(params.merge(starting_id:))
|
|
127
|
+
url(build_path(params.merge(starting_id:)))
|
|
124
128
|
end
|
|
125
129
|
|
|
126
130
|
# @param params [Hash, Array]
|
|
127
131
|
# @return [String]
|
|
128
|
-
def build_path(params,
|
|
132
|
+
def build_path(params, base_path: request.path_info)
|
|
129
133
|
encoded_params = Rack::Utils.build_nested_query(params)
|
|
130
|
-
return
|
|
134
|
+
return base_path if encoded_params.empty?
|
|
131
135
|
|
|
132
|
-
"#{
|
|
136
|
+
"#{base_path}?#{encoded_params}"
|
|
133
137
|
end
|
|
134
138
|
end
|
|
135
139
|
end
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<td><%= empty_characters_fallback(h event.stream.context) %></td>
|
|
13
13
|
<td><%= empty_characters_fallback(h event.stream.stream_name) %></td>
|
|
14
14
|
<td>
|
|
15
|
-
<a href="<%=
|
|
15
|
+
<a href="<%= stream_url(event.stream) %>"><%= empty_characters_fallback(h event.stream.stream_id) %></a>
|
|
16
16
|
<a role="button" href="#" data-title="Copy stream definition." class="copy-to-clipboard"
|
|
17
17
|
data-clipboard-content="<%= h "PgEventstore::Stream.new(context: #{event.stream.context.inspect}, stream_name: #{event.stream.stream_name.inspect}, stream_id: #{event.stream.stream_id.inspect})" %>">
|
|
18
18
|
<i class="fa fa-clipboard"></i>
|
|
@@ -33,9 +33,11 @@
|
|
|
33
33
|
<a href="javascript: void(0);" class="d-inline-block text-nowrap toggle-event-data">
|
|
34
34
|
JSON <i class="fa fa-eye"></i>
|
|
35
35
|
</a>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
<% if can_delete? %>
|
|
37
|
+
<a href="javascript: void(0);" class="ml-2 btn btn-danger btn-small delete-event-btn" data-global-position="<%= event.global_position %>" data-url="<%= delete_event_url(event.global_position) %>" data-toggle="modal" data-target="#delete-event-modal">
|
|
38
|
+
Delete
|
|
39
|
+
</a>
|
|
40
|
+
<% end %>
|
|
39
41
|
</td>
|
|
40
42
|
</tr>
|
|
41
43
|
<tr class="event-payload d-none">
|
|
@@ -55,7 +57,7 @@
|
|
|
55
57
|
<% event.feature_markers.each do |feature_marker| %>
|
|
56
58
|
<li>
|
|
57
59
|
<%= "#{h feature_marker.description}:" if feature_marker.description %>
|
|
58
|
-
<a href="<%=
|
|
60
|
+
<a href="<%= event_marker_url(feature_marker.marker) %>">
|
|
59
61
|
<%= empty_characters_fallback(h feature_marker.marker) %>
|
|
60
62
|
</a>
|
|
61
63
|
</li>
|
|
@@ -66,7 +68,7 @@
|
|
|
66
68
|
Event markers
|
|
67
69
|
<ul>
|
|
68
70
|
<% event.markers.each do |marker| %>
|
|
69
|
-
<li> <a href="<%=
|
|
71
|
+
<li> <a href="<%= event_marker_url(marker) %>"><%= empty_characters_fallback(h marker) %></a> </li>
|
|
70
72
|
<% end %>
|
|
71
73
|
</ul>
|
|
72
74
|
<% end %>
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
<a class="btn btn-default remove-filter" href="javascript: void(0);">
|
|
40
40
|
<i class="fa fa-minus-circle"></i>
|
|
41
41
|
</a>
|
|
42
|
-
<% if stream[:context] && stream[:stream_name] && stream[:stream_id] %>
|
|
42
|
+
<% if stream[:context] && stream[:stream_name] && stream[:stream_id] && can_delete? %>
|
|
43
43
|
<a class="btn btn-danger btn-small delete-stream" data-confirm="You are about to delete all events in <%= h stream.inspect %> stream. This action is irreversible Continue?" data-confirm-title="Delete Stream" data-method="post" href="<%= delete_stream_url(stream) %>">
|
|
44
44
|
Delete stream
|
|
45
45
|
</a>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<td><%= empty_characters_fallback(h stream.context) %></td>
|
|
5
5
|
<td><%= empty_characters_fallback(h stream.stream_name) %></td>
|
|
6
6
|
<td>
|
|
7
|
-
<a href="<%=
|
|
7
|
+
<a href="<%= stream_url(stream) %>" target="_blank"><%= empty_characters_fallback(h stream.stream_id) %></a>
|
|
8
8
|
</td>
|
|
9
9
|
<td><%= stream.stream_revision %></td>
|
|
10
10
|
</tr>
|
data/lib/pg_eventstore/web.rb
CHANGED
|
@@ -19,6 +19,14 @@ require_relative 'web/subscriptions/with_state/set_collection'
|
|
|
19
19
|
require_relative 'web/subscriptions/with_state/subscriptions'
|
|
20
20
|
require_relative 'web/subscriptions/with_state/subscriptions_set'
|
|
21
21
|
require_relative 'web/subscriptions/helpers'
|
|
22
|
+
require_relative 'web/metrics/metric_family'
|
|
23
|
+
require_relative 'web/metrics/formatter'
|
|
24
|
+
require_relative 'web/metrics/collectors/base'
|
|
25
|
+
require_relative 'web/metrics/collectors/subscriptions_latency'
|
|
26
|
+
require_relative 'web/metrics/collectors/subscriptions_health'
|
|
27
|
+
require_relative 'web/metrics/collectors/subscriptions_throughput'
|
|
28
|
+
require_relative 'web/metrics/helpers'
|
|
29
|
+
require_relative 'web/metrics/application'
|
|
22
30
|
require_relative 'web/application'
|
|
23
31
|
|
|
24
32
|
module PgEventstore
|
data/rbs_collection.lock.yaml
CHANGED
|
@@ -15,7 +15,7 @@ module PgEventstore
|
|
|
15
15
|
Integer events_number
|
|
16
16
|
) -> void
|
|
17
17
|
|
|
18
|
-
def self.update_subscription_error: (Subscription subscription,
|
|
18
|
+
def self.update_subscription_error: (Subscription subscription, StandardError error) -> void
|
|
19
19
|
|
|
20
20
|
def self.update_subscription_chunk_stats: (Subscription subscription, Integer subscription_position) -> void
|
|
21
21
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module PgEventstore
|
|
2
|
+
module RunnerRecoveryStrategies
|
|
3
|
+
class ReportSubscriptionUnrecoverableError
|
|
4
|
+
include RunnerRecoveryStrategy
|
|
5
|
+
|
|
6
|
+
@failed_subscription_notifier: _FailedSubscriptionNotifier?
|
|
7
|
+
@subscription: Subscription
|
|
8
|
+
|
|
9
|
+
def initialize: (
|
|
10
|
+
subscription: Subscription,
|
|
11
|
+
failed_subscription_notifier: _FailedSubscriptionNotifier?
|
|
12
|
+
)-> untyped
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -4,7 +4,7 @@ module PgEventstore
|
|
|
4
4
|
DEFAULT_SUBSCRIPTIONS_NUM_PER_QUERY: Integer
|
|
5
5
|
|
|
6
6
|
def self.create: (
|
|
7
|
-
|
|
7
|
+
Hash[SubscriptionRunner | ReplicaSubscriptionRunner, Hash[Symbol, untyped]] runners_query_options,
|
|
8
8
|
Connection connection,
|
|
9
9
|
QueryStrategy query_strategy,
|
|
10
10
|
?subscriptions_per_query: Integer
|
|
@@ -7,7 +7,7 @@ module PgEventstore
|
|
|
7
7
|
|
|
8
8
|
@connection: Connection
|
|
9
9
|
@query_strategy: QueryStrategy
|
|
10
|
-
@
|
|
10
|
+
@runners_query_options: Hash[SubscriptionRunner, Hash[Symbol, untyped]]
|
|
11
11
|
|
|
12
12
|
def initialize: (Connection connection, QueryStrategy query_strategy) -> void
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@ module PgEventstore
|
|
|
7
7
|
|
|
8
8
|
@connection: Connection
|
|
9
9
|
@query_strategy: QueryStrategy
|
|
10
|
-
@
|
|
10
|
+
@runners_query_options: Hash[ReplicaSubscriptionRunner, Hash[Symbol, untyped]]
|
|
11
11
|
|
|
12
12
|
def initialize: (Connection connection, QueryStrategy query_strategy) -> void
|
|
13
13
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module PgEventstore
|
|
2
|
+
module Web
|
|
3
|
+
module Metrics
|
|
4
|
+
module Collectors
|
|
5
|
+
class Base
|
|
6
|
+
STATEMENT_TIMEOUT: Integer
|
|
7
|
+
|
|
8
|
+
@connection: Connection
|
|
9
|
+
|
|
10
|
+
@sets: Array[String]
|
|
11
|
+
|
|
12
|
+
attr_reader connection: Connection
|
|
13
|
+
|
|
14
|
+
attr_reader sets: Array[String]
|
|
15
|
+
|
|
16
|
+
def initialize: (Connection connection, ?sets: Array[String]) -> void
|
|
17
|
+
|
|
18
|
+
def call: -> Array[Web::Metrics::MetricFamily]
|
|
19
|
+
|
|
20
|
+
def subscriptions_sql_builder: -> SQLBuilder
|
|
21
|
+
|
|
22
|
+
private
|
|
23
|
+
|
|
24
|
+
def subscription_labels: (Hash[String, untyped] row) -> Hash[Symbol, untyped]
|
|
25
|
+
|
|
26
|
+
def transaction_queries: -> TransactionQueries
|
|
27
|
+
|
|
28
|
+
def with_safe_conn: () { (PgConnection conn) -> PG::Result } -> Array[Hash[String, untyped]]
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module PgEventstore
|
|
2
|
+
module Web
|
|
3
|
+
module Metrics
|
|
4
|
+
module Collectors
|
|
5
|
+
class SubscriptionsLatency < Base
|
|
6
|
+
def call: -> Array[MetricFamily]
|
|
7
|
+
|
|
8
|
+
private
|
|
9
|
+
|
|
10
|
+
def add_samples: (
|
|
11
|
+
Hash[String, untyped] row,
|
|
12
|
+
Hash[Integer, Time] created_at_by_position,
|
|
13
|
+
Time now,
|
|
14
|
+
MetricFamily lag_events,
|
|
15
|
+
MetricFamily lag_seconds
|
|
16
|
+
) -> void
|
|
17
|
+
|
|
18
|
+
def positions: -> [Integer, Integer]
|
|
19
|
+
|
|
20
|
+
def subscription_rows: (Integer frontier_position) -> Array[Hash[String, untyped]]
|
|
21
|
+
|
|
22
|
+
def resolve_created_at: (Array[Hash[String, untyped]] subscription_rows) -> Hash[Integer, Time]
|
|
23
|
+
|
|
24
|
+
def events_global_index_queries: -> EventsGlobalIndexQueries
|
|
25
|
+
|
|
26
|
+
def store_families: (Integer frontier_position, Integer head_global_position) -> Array[MetricFamily]
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module PgEventstore
|
|
2
|
+
module Web
|
|
3
|
+
module Metrics
|
|
4
|
+
class Formatter
|
|
5
|
+
CONTENT_TYPE: String
|
|
6
|
+
|
|
7
|
+
def call: (Array[MetricFamily] families) -> String
|
|
8
|
+
|
|
9
|
+
private
|
|
10
|
+
|
|
11
|
+
def format_family: (MetricFamily family) -> String
|
|
12
|
+
|
|
13
|
+
def format_labels: (Hash[Symbol, untyped] labels) -> String
|
|
14
|
+
|
|
15
|
+
def escape_label_value: (String value) -> String
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module PgEventstore
|
|
2
|
+
module Web
|
|
3
|
+
module Metrics
|
|
4
|
+
class MetricFamily
|
|
5
|
+
attr_reader name: String
|
|
6
|
+
|
|
7
|
+
attr_reader type: String
|
|
8
|
+
|
|
9
|
+
attr_reader help: String
|
|
10
|
+
|
|
11
|
+
attr_reader samples: Array[Hash[Symbol, untyped]]
|
|
12
|
+
|
|
13
|
+
def initialize: (name: String, type: String, help: String) -> void
|
|
14
|
+
|
|
15
|
+
def add_sample: (labels: Hash[Symbol, untyped], value: Integer | Float) -> void
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -4,7 +4,7 @@ module PgEventstore
|
|
|
4
4
|
module Helpers
|
|
5
5
|
def empty_characters_fallback: (String str)-> String
|
|
6
6
|
|
|
7
|
-
def
|
|
7
|
+
def event_marker_url: (String marker) -> String
|
|
8
8
|
|
|
9
9
|
def previous_page_link: (BaseCollection collection) -> String
|
|
10
10
|
|
|
@@ -14,17 +14,19 @@ module PgEventstore
|
|
|
14
14
|
|
|
15
15
|
def per_page_url: (String per_page) -> String
|
|
16
16
|
|
|
17
|
+
def resolve_link_tos_url: (bool should_resolve) -> String
|
|
18
|
+
|
|
17
19
|
def sort_url: (String order) -> String
|
|
18
20
|
|
|
19
21
|
def total_count: (Integer number) -> String
|
|
20
22
|
|
|
21
23
|
def number_with_delimiter: (Integer number, ?delimiter: String) -> String
|
|
22
24
|
|
|
23
|
-
def
|
|
25
|
+
def stream_url: (Stream stream) -> String
|
|
24
26
|
|
|
25
27
|
def build_starting_id_link: ((String | Integer)? starting_id) -> String
|
|
26
28
|
|
|
27
|
-
def build_path: ((::Hash[untyped, untyped] | ::Array[untyped]) params, ?
|
|
29
|
+
def build_path: ((::Hash[untyped, untyped] | ::Array[untyped]) params, ?base_path: String) -> String
|
|
28
30
|
end
|
|
29
31
|
end
|
|
30
32
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pg_eventstore
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ivan Dzyzenko
|
|
@@ -119,6 +119,7 @@ files:
|
|
|
119
119
|
- docs/how_it_works.md
|
|
120
120
|
- docs/linking_events.md
|
|
121
121
|
- docs/maintenance.md
|
|
122
|
+
- docs/metrics.md
|
|
122
123
|
- docs/multiple_commands.md
|
|
123
124
|
- docs/reading_events.md
|
|
124
125
|
- docs/reading_streams.md
|
|
@@ -265,6 +266,7 @@ files:
|
|
|
265
266
|
- lib/pg_eventstore/subscriptions/replica_subscription_handler.rb
|
|
266
267
|
- lib/pg_eventstore/subscriptions/replica_subscription_runner.rb
|
|
267
268
|
- lib/pg_eventstore/subscriptions/runner_recovery_strategies.rb
|
|
269
|
+
- lib/pg_eventstore/subscriptions/runner_recovery_strategies/report_subscription_unrecoverable_error.rb
|
|
268
270
|
- lib/pg_eventstore/subscriptions/runner_recovery_strategies/restore_connection.rb
|
|
269
271
|
- lib/pg_eventstore/subscriptions/runner_recovery_strategies/restore_subscription_feeder.rb
|
|
270
272
|
- lib/pg_eventstore/subscriptions/runner_recovery_strategies/restore_subscription_runner.rb
|
|
@@ -302,6 +304,14 @@ files:
|
|
|
302
304
|
- lib/pg_eventstore/version.rb
|
|
303
305
|
- lib/pg_eventstore/web.rb
|
|
304
306
|
- lib/pg_eventstore/web/application.rb
|
|
307
|
+
- lib/pg_eventstore/web/metrics/application.rb
|
|
308
|
+
- lib/pg_eventstore/web/metrics/collectors/base.rb
|
|
309
|
+
- lib/pg_eventstore/web/metrics/collectors/subscriptions_health.rb
|
|
310
|
+
- lib/pg_eventstore/web/metrics/collectors/subscriptions_latency.rb
|
|
311
|
+
- lib/pg_eventstore/web/metrics/collectors/subscriptions_throughput.rb
|
|
312
|
+
- lib/pg_eventstore/web/metrics/formatter.rb
|
|
313
|
+
- lib/pg_eventstore/web/metrics/helpers.rb
|
|
314
|
+
- lib/pg_eventstore/web/metrics/metric_family.rb
|
|
305
315
|
- lib/pg_eventstore/web/paginator/base_collection.rb
|
|
306
316
|
- lib/pg_eventstore/web/paginator/event_types_collection.rb
|
|
307
317
|
- lib/pg_eventstore/web/paginator/events_collection.rb
|
|
@@ -494,6 +504,7 @@ files:
|
|
|
494
504
|
- sig/pg_eventstore/subscriptions/queries/subscriptions_set_queries.rbs
|
|
495
505
|
- sig/pg_eventstore/subscriptions/replica_subscription_handler.rbs
|
|
496
506
|
- sig/pg_eventstore/subscriptions/replica_subscription_runner.rbs
|
|
507
|
+
- sig/pg_eventstore/subscriptions/runner_recovery_strategies/report_subscription_unrecoverable_error.rbs
|
|
497
508
|
- sig/pg_eventstore/subscriptions/runner_recovery_strategies/restore_connection.rbs
|
|
498
509
|
- sig/pg_eventstore/subscriptions/runner_recovery_strategies/restore_subscription_feeder.rbs
|
|
499
510
|
- sig/pg_eventstore/subscriptions/runner_recovery_strategies/restore_subscription_runner.rbs
|
|
@@ -529,6 +540,14 @@ files:
|
|
|
529
540
|
- sig/pg_eventstore/utils.rbs
|
|
530
541
|
- sig/pg_eventstore/version.rbs
|
|
531
542
|
- sig/pg_eventstore/web/application.rbs
|
|
543
|
+
- sig/pg_eventstore/web/metrics/application.rbs
|
|
544
|
+
- sig/pg_eventstore/web/metrics/collectors/base.rbs
|
|
545
|
+
- sig/pg_eventstore/web/metrics/collectors/subscriptions_health.rbs
|
|
546
|
+
- sig/pg_eventstore/web/metrics/collectors/subscriptions_latency.rbs
|
|
547
|
+
- sig/pg_eventstore/web/metrics/collectors/subscriptions_throughput.rbs
|
|
548
|
+
- sig/pg_eventstore/web/metrics/formatter.rbs
|
|
549
|
+
- sig/pg_eventstore/web/metrics/helpers.rbs
|
|
550
|
+
- sig/pg_eventstore/web/metrics/metric_family.rbs
|
|
532
551
|
- sig/pg_eventstore/web/paginator/base_collection.rbs
|
|
533
552
|
- sig/pg_eventstore/web/paginator/event_types_collection.rbs
|
|
534
553
|
- sig/pg_eventstore/web/paginator/events_collection.rbs
|