karafka-web 0.6.0 → 0.6.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
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +22 -1
- data/Gemfile.lock +1 -1
- data/lib/karafka/web/config.rb +2 -0
- data/lib/karafka/web/tracking/consumers/contracts/report.rb +7 -3
- data/lib/karafka/web/tracking/consumers/reporter.rb +5 -3
- data/lib/karafka/web/tracking/consumers/sampler.rb +2 -1
- data/lib/karafka/web/tracking/sampler.rb +5 -0
- data/lib/karafka/web/ui/base.rb +6 -2
- data/lib/karafka/web/ui/controllers/base.rb +17 -0
- data/lib/karafka/web/ui/controllers/cluster.rb +5 -2
- data/lib/karafka/web/ui/controllers/consumers.rb +3 -1
- data/lib/karafka/web/ui/controllers/errors.rb +19 -6
- data/lib/karafka/web/ui/controllers/jobs.rb +3 -1
- data/lib/karafka/web/ui/controllers/requests/params.rb +10 -0
- data/lib/karafka/web/ui/lib/paginations/base.rb +61 -0
- data/lib/karafka/web/ui/lib/paginations/offset_based.rb +96 -0
- data/lib/karafka/web/ui/lib/paginations/page_based.rb +70 -0
- data/lib/karafka/web/ui/lib/paginations/paginators/arrays.rb +33 -0
- data/lib/karafka/web/ui/lib/paginations/paginators/base.rb +23 -0
- data/lib/karafka/web/ui/lib/paginations/paginators/partitions.rb +52 -0
- data/lib/karafka/web/ui/lib/paginations/paginators/sets.rb +85 -0
- data/lib/karafka/web/ui/lib/ttl_cache.rb +74 -0
- data/lib/karafka/web/ui/models/cluster_info.rb +59 -0
- data/lib/karafka/web/ui/models/message.rb +114 -38
- data/lib/karafka/web/ui/models/status.rb +34 -8
- data/lib/karafka/web/ui/pro/app.rb +11 -3
- data/lib/karafka/web/ui/pro/controllers/consumers.rb +3 -1
- data/lib/karafka/web/ui/pro/controllers/dlq.rb +1 -2
- data/lib/karafka/web/ui/pro/controllers/errors.rb +43 -10
- data/lib/karafka/web/ui/pro/controllers/explorer.rb +52 -7
- data/lib/karafka/web/ui/pro/views/consumers/consumer/_metrics.erb +6 -1
- data/lib/karafka/web/ui/pro/views/errors/_breadcrumbs.erb +8 -6
- data/lib/karafka/web/ui/pro/views/errors/_error.erb +1 -1
- data/lib/karafka/web/ui/pro/views/errors/_partition_option.erb +1 -1
- data/lib/karafka/web/ui/pro/views/errors/_table.erb +21 -0
- data/lib/karafka/web/ui/pro/views/errors/_title_with_select.erb +31 -0
- data/lib/karafka/web/ui/pro/views/errors/index.erb +9 -56
- data/lib/karafka/web/ui/pro/views/errors/partition.erb +17 -0
- data/lib/karafka/web/ui/pro/views/explorer/_breadcrumbs.erb +1 -1
- data/lib/karafka/web/ui/pro/views/explorer/_message.erb +8 -2
- data/lib/karafka/web/ui/pro/views/explorer/_partition_option.erb +1 -1
- data/lib/karafka/web/ui/pro/views/explorer/_topic.erb +1 -1
- data/lib/karafka/web/ui/pro/views/explorer/partition/_messages.erb +1 -0
- data/lib/karafka/web/ui/pro/views/explorer/partition.erb +1 -1
- data/lib/karafka/web/ui/pro/views/explorer/topic/_empty.erb +3 -0
- data/lib/karafka/web/ui/pro/views/explorer/topic/_limited.erb +4 -0
- data/lib/karafka/web/ui/pro/views/explorer/topic/_partitions.erb +11 -0
- data/lib/karafka/web/ui/pro/views/explorer/topic.erb +49 -0
- data/lib/karafka/web/ui/pro/views/shared/_navigation.erb +1 -1
- data/lib/karafka/web/ui/views/cluster/_partition.erb +1 -1
- data/lib/karafka/web/ui/views/errors/_error.erb +1 -1
- data/lib/karafka/web/ui/views/shared/_pagination.erb +16 -12
- data/lib/karafka/web/ui/views/status/failures/_initial_state.erb +1 -10
- data/lib/karafka/web/ui/views/status/info/_components.erb +6 -1
- data/lib/karafka/web/ui/views/status/show.erb +6 -1
- data/lib/karafka/web/ui/views/status/successes/_connection.erb +1 -0
- data/lib/karafka/web/ui/views/status/warnings/_connection.erb +11 -0
- data/lib/karafka/web/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +20 -3
- metadata.gz.sig +0 -0
- data/lib/karafka/web/ui/lib/paginate_array.rb +0 -38
@@ -18,10 +18,11 @@ module Karafka
|
|
18
18
|
module Controllers
|
19
19
|
# Data explorer controller
|
20
20
|
class Explorer < Ui::Controllers::Base
|
21
|
+
include Ui::Lib::Paginations
|
22
|
+
|
21
23
|
# Lists all the topics we can explore
|
22
24
|
def index
|
23
|
-
@topics =
|
24
|
-
.cluster_info
|
25
|
+
@topics = Models::ClusterInfo
|
25
26
|
.topics
|
26
27
|
.reject { |topic| topic[:topic_name] == '__consumer_offsets' }
|
27
28
|
.sort_by { |topic| topic[:topic_name] }
|
@@ -29,6 +30,34 @@ module Karafka
|
|
29
30
|
respond
|
30
31
|
end
|
31
32
|
|
33
|
+
# Displays aggregated messages from (potentially) all partitions of a topic
|
34
|
+
#
|
35
|
+
# @param topic_id [String]
|
36
|
+
#
|
37
|
+
# @note This view may not be 100% accurate because we merge multiple partitions data
|
38
|
+
# into a single view and this is never accurate. It can be used however to quickly
|
39
|
+
# look at most recent data flowing, etc, hence it is still useful for aggregated
|
40
|
+
# metrics information
|
41
|
+
#
|
42
|
+
# @note We cannot use offset references here because each of the partitions may have
|
43
|
+
# completely different values
|
44
|
+
def topic(topic_id)
|
45
|
+
@topic_id = topic_id
|
46
|
+
@partitions_count = Models::ClusterInfo.partitions_count(topic_id)
|
47
|
+
|
48
|
+
@active_partitions, materialized_page, @limited = Paginators::Partitions.call(
|
49
|
+
@partitions_count, @params.current_page
|
50
|
+
)
|
51
|
+
|
52
|
+
@messages, next_page = Models::Message.topic_page(
|
53
|
+
topic_id, @active_partitions, materialized_page
|
54
|
+
)
|
55
|
+
|
56
|
+
paginate(@params.current_page, next_page)
|
57
|
+
|
58
|
+
respond
|
59
|
+
end
|
60
|
+
|
32
61
|
# Shows messages available in a given partition
|
33
62
|
#
|
34
63
|
# @param topic_id [String]
|
@@ -36,13 +65,16 @@ module Karafka
|
|
36
65
|
def partition(topic_id, partition_id)
|
37
66
|
@topic_id = topic_id
|
38
67
|
@partition_id = partition_id
|
39
|
-
|
40
68
|
@watermark_offsets = Ui::Models::WatermarkOffsets.find(topic_id, partition_id)
|
69
|
+
@partitions_count = Models::ClusterInfo.partitions_count(topic_id)
|
41
70
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
71
|
+
previous_offset, @messages, next_offset = current_partition_data
|
72
|
+
|
73
|
+
paginate(
|
74
|
+
previous_offset,
|
75
|
+
@params.current_offset,
|
76
|
+
next_offset,
|
77
|
+
@messages.map(&:offset)
|
46
78
|
)
|
47
79
|
|
48
80
|
respond
|
@@ -74,6 +106,19 @@ module Karafka
|
|
74
106
|
|
75
107
|
respond
|
76
108
|
end
|
109
|
+
|
110
|
+
private
|
111
|
+
|
112
|
+
# Fetches current page data
|
113
|
+
# @return [Array] fetched data with pagination information for the requested partition
|
114
|
+
def current_partition_data
|
115
|
+
Ui::Models::Message.offset_page(
|
116
|
+
@topic_id,
|
117
|
+
@partition_id,
|
118
|
+
@params.current_offset,
|
119
|
+
@watermark_offsets
|
120
|
+
)
|
121
|
+
end
|
77
122
|
end
|
78
123
|
end
|
79
124
|
end
|
@@ -1,14 +1,16 @@
|
|
1
1
|
<li class="breadcrumb-item">
|
2
|
-
<a href="<%= root_path('errors'
|
2
|
+
<a href="<%= root_path('errors') %>">
|
3
3
|
Errors
|
4
4
|
</a>
|
5
5
|
</li>
|
6
6
|
|
7
|
-
|
8
|
-
<
|
9
|
-
|
10
|
-
|
11
|
-
</
|
7
|
+
<% if @partition_id %>
|
8
|
+
<li class="breadcrumb-item">
|
9
|
+
<a href="<%= root_path('errors', @partition_id) %>">
|
10
|
+
Partition <%= @partition_id %>
|
11
|
+
</a>
|
12
|
+
</li>
|
13
|
+
<% end %>
|
12
14
|
|
13
15
|
<% if @offset %>
|
14
16
|
<li class="breadcrumb-item">
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<table class="processes bg-white table table-hover table-bordered table-striped mb-0 align-middle">
|
2
|
+
<thead>
|
3
|
+
<tr class="align-middle">
|
4
|
+
<th>Origin</th>
|
5
|
+
<th>Process name</th>
|
6
|
+
<th>Error</th>
|
7
|
+
<th>Occurred at</th>
|
8
|
+
<th></th>
|
9
|
+
</tr>
|
10
|
+
</thead>
|
11
|
+
|
12
|
+
<tbody>
|
13
|
+
<%==
|
14
|
+
each_partial(
|
15
|
+
@error_messages,
|
16
|
+
'errors/error',
|
17
|
+
local: :error_msg
|
18
|
+
)
|
19
|
+
%>
|
20
|
+
</tbody>
|
21
|
+
</table>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<div class="container mb-4">
|
2
|
+
<div class="row">
|
3
|
+
<div class="col">
|
4
|
+
<h3>
|
5
|
+
Errors
|
6
|
+
</h3>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<div class="col">
|
10
|
+
<div class="col-auto text-end">
|
11
|
+
<label class="col-form-label">Partition</label>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
|
15
|
+
<div class="col pt-1 mb-0 pb-0">
|
16
|
+
<div class="col-auto">
|
17
|
+
<select class="form-select form-select-sm mb-0 form-control" id="current-partition">
|
18
|
+
<%==
|
19
|
+
each_partial(
|
20
|
+
[nil] + @partitions_count.times.to_a,
|
21
|
+
'errors/partition_option',
|
22
|
+
local: :partition
|
23
|
+
)
|
24
|
+
%>
|
25
|
+
</select>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
|
30
|
+
<hr>
|
31
|
+
</div>
|
@@ -1,65 +1,18 @@
|
|
1
|
-
|
2
|
-
<div class="row">
|
3
|
-
<div class="col">
|
4
|
-
<h3>
|
5
|
-
Errors
|
6
|
-
</h3>
|
7
|
-
</div>
|
8
|
-
|
9
|
-
<div class="col">
|
10
|
-
<div class="col-auto text-end">
|
11
|
-
<label class="col-form-label">Partition</label>
|
12
|
-
</div>
|
13
|
-
</div>
|
14
|
-
|
15
|
-
<div class="col pt-1 mb-0 pb-0">
|
16
|
-
<div class="col-auto">
|
17
|
-
<select class="form-select form-select-sm mb-0 form-control" id="current-partition">
|
18
|
-
<%==
|
19
|
-
each_partial(
|
20
|
-
@partitions_count.times.to_a,
|
21
|
-
'errors/partition_option',
|
22
|
-
local: :partition
|
23
|
-
)
|
24
|
-
%>
|
25
|
-
</select>
|
26
|
-
</div>
|
27
|
-
</div>
|
28
|
-
</div>
|
29
|
-
|
30
|
-
<hr>
|
31
|
-
</div>
|
1
|
+
<%== partial('errors/title_with_select') %>
|
32
2
|
|
33
3
|
<div class="container">
|
34
4
|
<div class="row mb-5">
|
35
5
|
<div class="col-sm-12">
|
36
|
-
<%== partial('explorer/
|
6
|
+
<%== partial('explorer/topic/partitions') %>
|
7
|
+
|
8
|
+
<% if @limited %>
|
9
|
+
<%== partial('explorer/topic/limited') %>
|
10
|
+
<% end %>
|
37
11
|
|
38
|
-
<% if @
|
39
|
-
<%== partial '
|
40
|
-
<% elsif @watermark_offsets.cleaned? %>
|
41
|
-
<%== partial 'errors/cleaned' %>
|
12
|
+
<% if @error_messages.empty? && params.current_page == 1 %>
|
13
|
+
<%== partial 'explorer/topic/empty' %>
|
42
14
|
<% else %>
|
43
|
-
|
44
|
-
<thead>
|
45
|
-
<tr class="align-middle">
|
46
|
-
<th>Origin</th>
|
47
|
-
<th>Process name</th>
|
48
|
-
<th>Error</th>
|
49
|
-
<th>Occurred at</th>
|
50
|
-
<th></th>
|
51
|
-
</tr>
|
52
|
-
</thead>
|
53
|
-
<tbody>
|
54
|
-
<%==
|
55
|
-
each_partial(
|
56
|
-
@error_messages,
|
57
|
-
'errors/error',
|
58
|
-
local: :error_msg
|
59
|
-
)
|
60
|
-
%>
|
61
|
-
</tbody>
|
62
|
-
</table>
|
15
|
+
<%== partial 'errors/table' %>
|
63
16
|
<% end %>
|
64
17
|
</div>
|
65
18
|
</div>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%== partial('errors/title_with_select') %>
|
2
|
+
|
3
|
+
<div class="container">
|
4
|
+
<div class="row mb-5">
|
5
|
+
<div class="col-sm-12">
|
6
|
+
<%== partial('explorer/partition/watermark_offsets') %>
|
7
|
+
|
8
|
+
<% if @watermark_offsets.empty? %>
|
9
|
+
<%== partial 'errors/no_errors' %>
|
10
|
+
<% elsif @watermark_offsets.cleaned? %>
|
11
|
+
<%== partial 'errors/cleaned' %>
|
12
|
+
<% else %>
|
13
|
+
<%== partial 'errors/table' %>
|
14
|
+
<% end %>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
</div>
|
@@ -1,7 +1,10 @@
|
|
1
|
-
<% if message.is_a?(
|
1
|
+
<% if message.is_a?(Array) %>
|
2
2
|
<tr>
|
3
3
|
<td class="text-muted">
|
4
|
-
<%= message %>
|
4
|
+
<%= message[0] %>
|
5
|
+
</td>
|
6
|
+
<td class="text-muted">
|
7
|
+
<%= message[1] %>
|
5
8
|
</td>
|
6
9
|
<td colspan="3" class="text-center text-muted">
|
7
10
|
This message has either been removed or compacted and is no longer available.
|
@@ -9,6 +12,9 @@
|
|
9
12
|
</tr>
|
10
13
|
<% else %>
|
11
14
|
<tr>
|
15
|
+
<td>
|
16
|
+
<%= message.partition %>
|
17
|
+
</td>
|
12
18
|
<td>
|
13
19
|
<%= message.offset %>
|
14
20
|
</td>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<div class="card" >
|
3
3
|
<div class="card-body p-2">
|
4
4
|
<p class="card-text mb-0 p-2">
|
5
|
-
<a href="<%= root_path('explorer', topic[:topic_name]
|
5
|
+
<a href="<%= root_path('explorer', topic[:topic_name]) %>">
|
6
6
|
<%= topic[:topic_name] %> /
|
7
7
|
<%= topic[:partition_count] %>
|
8
8
|
</a>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<p class="text-end mb-4">
|
2
|
+
Partitions:
|
3
|
+
<span class="badge bg-secondary mt-1 mb-1">
|
4
|
+
total: <%= @partitions_count %>
|
5
|
+
</span>
|
6
|
+
|
7
|
+
<span class="badge bg-secondary mt-1 mb-1">
|
8
|
+
visible:
|
9
|
+
<%= [@active_partitions.first, @active_partitions.last].uniq.join(' to ') %>
|
10
|
+
</span>
|
11
|
+
</p>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<div class="container mb-4">
|
2
|
+
<div class="row">
|
3
|
+
<div class="col">
|
4
|
+
<h3>
|
5
|
+
<%= @topic_id %>
|
6
|
+
</h3>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<div class="col">
|
10
|
+
<div class="col-auto text-end">
|
11
|
+
<label class="col-form-label">Partition</label>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
|
15
|
+
<div class="col pt-1 mb-0 pb-0">
|
16
|
+
<div class="col-auto">
|
17
|
+
<select class="form-select form-select-sm mb-0 form-control" id="current-partition">
|
18
|
+
<%==
|
19
|
+
each_partial(
|
20
|
+
[nil] + @partitions_count.times.to_a,
|
21
|
+
'explorer/partition_option',
|
22
|
+
local: :partition
|
23
|
+
)
|
24
|
+
%>
|
25
|
+
</select>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
|
30
|
+
<hr>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<div class="container">
|
34
|
+
<div class="row mb-5">
|
35
|
+
<div class="col-sm-12">
|
36
|
+
<%== partial('explorer/topic/partitions') %>
|
37
|
+
|
38
|
+
<% if @limited %>
|
39
|
+
<%== partial('explorer/topic/limited') %>
|
40
|
+
<% end %>
|
41
|
+
|
42
|
+
<% if @messages.empty? && params.current_page == 1 %>
|
43
|
+
<%== partial 'explorer/topic/empty' %>
|
44
|
+
<% else %>
|
45
|
+
<%== partial('explorer/partition/messages') %>
|
46
|
+
<% end %>
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
</div>
|
@@ -31,7 +31,7 @@
|
|
31
31
|
</a>
|
32
32
|
</li>
|
33
33
|
<li class="nav-item ms-3">
|
34
|
-
<a class="nav-link <%= nav_class(start_with: '/errors') %>" href="<%= root_path('errors
|
34
|
+
<a class="nav-link <%= nav_class(start_with: '/errors') %>" href="<%= root_path('errors') %>">
|
35
35
|
Errors
|
36
36
|
</a>
|
37
37
|
</li>
|
@@ -1,28 +1,32 @@
|
|
1
|
-
<% if @
|
1
|
+
<% if @pagination && @pagination.paginate? %>
|
2
2
|
<div id="pagination" class="container mb-5">
|
3
3
|
<div class="row">
|
4
4
|
<nav>
|
5
5
|
<ul class="pagination justify-content-center">
|
6
|
-
<li class="page-item <%= 'disabled'
|
7
|
-
<a class="page-link" href="<%= current_path(
|
6
|
+
<li class="page-item <%= 'disabled' unless @pagination.first_offset? %>">
|
7
|
+
<a class="page-link" href="<%= current_path(@pagination.offset_key => @pagination.first_offset) %>">
|
8
8
|
<span>«</span>
|
9
9
|
</a>
|
10
10
|
</li>
|
11
11
|
|
12
|
-
<li class="page-item <%= 'disabled'
|
13
|
-
<a class="page-link" href="<%= current_path(
|
12
|
+
<li class="page-item <%= 'disabled' unless @pagination.previous_offset? %>">
|
13
|
+
<a class="page-link" href="<%= current_path(@pagination.offset_key => @pagination.previous_offset) %>">
|
14
14
|
<span>‹ Prev</span>
|
15
15
|
</a>
|
16
16
|
</li>
|
17
17
|
|
18
|
-
|
19
|
-
<
|
20
|
-
<
|
21
|
-
|
22
|
-
|
18
|
+
<% if @pagination.current_offset? %>
|
19
|
+
<li class="page-item active disabled">
|
20
|
+
<a class="page-link" href="<%= current_path(@pagination.offset_key => @pagination.current_offset) %>">
|
21
|
+
<span>
|
22
|
+
<%= @pagination.current_label %>
|
23
|
+
</span>
|
24
|
+
</a>
|
25
|
+
</li>
|
26
|
+
<% end %>
|
23
27
|
|
24
|
-
<li class="page-item <%= 'disabled' unless @
|
25
|
-
<a class="page-link" href="<%= current_path(
|
28
|
+
<li class="page-item <%= 'disabled' unless @pagination.next_offset? %>">
|
29
|
+
<a class="page-link" href="<%= current_path(@pagination.offset_key => @pagination.next_offset) %>">
|
26
30
|
<span>Next ›</span>
|
27
31
|
</a>
|
28
32
|
</li>
|
@@ -7,14 +7,5 @@
|
|
7
7
|
</p>
|
8
8
|
|
9
9
|
<p>
|
10
|
-
To fix this, you
|
11
|
-
</p>
|
12
|
-
|
13
|
-
<ul>
|
14
|
-
<li>Run <code>bundle exec karafka-web install</code></li>
|
15
|
-
<li>Run at least one Karafka consumer process</li>
|
16
|
-
</ul>
|
17
|
-
|
18
|
-
<p class="mb-0">
|
19
|
-
Any of the above, when successful, will bootstrap the initial state.
|
10
|
+
To fix this, you need to ensure that the <code>bundle exec karafka-web install</code> runs successfully.
|
20
11
|
</p>
|
@@ -8,7 +8,12 @@
|
|
8
8
|
"status/#{@status.connection.to_s}",
|
9
9
|
locals: {
|
10
10
|
title: 'Connection to Kafka',
|
11
|
-
description: partial(
|
11
|
+
description: partial(
|
12
|
+
"status/#{@status.connection.partial_namespace}/connection",
|
13
|
+
locals: {
|
14
|
+
details: @status.connection.details
|
15
|
+
}
|
16
|
+
)
|
12
17
|
}
|
13
18
|
)
|
14
19
|
%>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%# Expected to be empty. No content on success needed. %>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<p>
|
2
|
+
High latency detected when connecting to the Kafka cluster from the Web-UI.
|
3
|
+
</p>
|
4
|
+
|
5
|
+
<p>
|
6
|
+
Kafka is not designed to perform optimally under high network latencies; even when configurations seem appropriate, you may still encounter disconnects and other unexpected issues.
|
7
|
+
</p>
|
8
|
+
|
9
|
+
<p class="mb-0">
|
10
|
+
It took Web-UI <strong><%= details[:time].round(2) %> ms</strong> to get the cluster info.
|
11
|
+
</p>
|
data/lib/karafka/web/version.rb
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: karafka-web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maciej Mensfeld
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
Qf04B9ceLUaC4fPVEz10FyobjaFoY4i32xRto3XnrzeAgfEe4swLq8bQsR3w/EF3
|
36
36
|
MGU0FeSV2Yj7Xc2x/7BzLK8xQn5l7Yy75iPF+KP3vVmDHnNl
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2023-
|
38
|
+
date: 2023-07-22 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: erubi
|
@@ -218,7 +218,15 @@ files:
|
|
218
218
|
- lib/karafka/web/ui/controllers/status.rb
|
219
219
|
- lib/karafka/web/ui/helpers/application_helper.rb
|
220
220
|
- lib/karafka/web/ui/lib/hash_proxy.rb
|
221
|
-
- lib/karafka/web/ui/lib/
|
221
|
+
- lib/karafka/web/ui/lib/paginations/base.rb
|
222
|
+
- lib/karafka/web/ui/lib/paginations/offset_based.rb
|
223
|
+
- lib/karafka/web/ui/lib/paginations/page_based.rb
|
224
|
+
- lib/karafka/web/ui/lib/paginations/paginators/arrays.rb
|
225
|
+
- lib/karafka/web/ui/lib/paginations/paginators/base.rb
|
226
|
+
- lib/karafka/web/ui/lib/paginations/paginators/partitions.rb
|
227
|
+
- lib/karafka/web/ui/lib/paginations/paginators/sets.rb
|
228
|
+
- lib/karafka/web/ui/lib/ttl_cache.rb
|
229
|
+
- lib/karafka/web/ui/models/cluster_info.rb
|
222
230
|
- lib/karafka/web/ui/models/consumer_group.rb
|
223
231
|
- lib/karafka/web/ui/models/counters.rb
|
224
232
|
- lib/karafka/web/ui/models/health.rb
|
@@ -264,7 +272,10 @@ files:
|
|
264
272
|
- lib/karafka/web/ui/pro/views/errors/_breadcrumbs.erb
|
265
273
|
- lib/karafka/web/ui/pro/views/errors/_error.erb
|
266
274
|
- lib/karafka/web/ui/pro/views/errors/_partition_option.erb
|
275
|
+
- lib/karafka/web/ui/pro/views/errors/_table.erb
|
276
|
+
- lib/karafka/web/ui/pro/views/errors/_title_with_select.erb
|
267
277
|
- lib/karafka/web/ui/pro/views/errors/index.erb
|
278
|
+
- lib/karafka/web/ui/pro/views/errors/partition.erb
|
268
279
|
- lib/karafka/web/ui/pro/views/errors/show.erb
|
269
280
|
- lib/karafka/web/ui/pro/views/explorer/_breadcrumbs.erb
|
270
281
|
- lib/karafka/web/ui/pro/views/explorer/_detail.erb
|
@@ -280,6 +291,10 @@ files:
|
|
280
291
|
- lib/karafka/web/ui/pro/views/explorer/partition/_messages.erb
|
281
292
|
- lib/karafka/web/ui/pro/views/explorer/partition/_watermark_offsets.erb
|
282
293
|
- lib/karafka/web/ui/pro/views/explorer/show.erb
|
294
|
+
- lib/karafka/web/ui/pro/views/explorer/topic.erb
|
295
|
+
- lib/karafka/web/ui/pro/views/explorer/topic/_empty.erb
|
296
|
+
- lib/karafka/web/ui/pro/views/explorer/topic/_limited.erb
|
297
|
+
- lib/karafka/web/ui/pro/views/explorer/topic/_partitions.erb
|
283
298
|
- lib/karafka/web/ui/pro/views/health/_breadcrumbs.erb
|
284
299
|
- lib/karafka/web/ui/pro/views/health/_partition.erb
|
285
300
|
- lib/karafka/web/ui/pro/views/health/index.erb
|
@@ -349,6 +364,8 @@ files:
|
|
349
364
|
- lib/karafka/web/ui/views/status/failures/_topics.erb
|
350
365
|
- lib/karafka/web/ui/views/status/info/_components.erb
|
351
366
|
- lib/karafka/web/ui/views/status/show.erb
|
367
|
+
- lib/karafka/web/ui/views/status/successes/_connection.erb
|
368
|
+
- lib/karafka/web/ui/views/status/warnings/_connection.erb
|
352
369
|
- lib/karafka/web/ui/views/status/warnings/_pro_subscription.erb
|
353
370
|
- lib/karafka/web/version.rb
|
354
371
|
- renovate.json
|
metadata.gz.sig
CHANGED
Binary file
|