karafka-web 0.6.0 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +22 -1
  4. data/Gemfile.lock +1 -1
  5. data/lib/karafka/web/config.rb +2 -0
  6. data/lib/karafka/web/tracking/consumers/contracts/report.rb +7 -3
  7. data/lib/karafka/web/tracking/consumers/reporter.rb +5 -3
  8. data/lib/karafka/web/tracking/consumers/sampler.rb +2 -1
  9. data/lib/karafka/web/tracking/sampler.rb +5 -0
  10. data/lib/karafka/web/ui/base.rb +6 -2
  11. data/lib/karafka/web/ui/controllers/base.rb +17 -0
  12. data/lib/karafka/web/ui/controllers/cluster.rb +5 -2
  13. data/lib/karafka/web/ui/controllers/consumers.rb +3 -1
  14. data/lib/karafka/web/ui/controllers/errors.rb +19 -6
  15. data/lib/karafka/web/ui/controllers/jobs.rb +3 -1
  16. data/lib/karafka/web/ui/controllers/requests/params.rb +10 -0
  17. data/lib/karafka/web/ui/lib/paginations/base.rb +61 -0
  18. data/lib/karafka/web/ui/lib/paginations/offset_based.rb +96 -0
  19. data/lib/karafka/web/ui/lib/paginations/page_based.rb +70 -0
  20. data/lib/karafka/web/ui/lib/paginations/paginators/arrays.rb +33 -0
  21. data/lib/karafka/web/ui/lib/paginations/paginators/base.rb +23 -0
  22. data/lib/karafka/web/ui/lib/paginations/paginators/partitions.rb +52 -0
  23. data/lib/karafka/web/ui/lib/paginations/paginators/sets.rb +85 -0
  24. data/lib/karafka/web/ui/lib/ttl_cache.rb +74 -0
  25. data/lib/karafka/web/ui/models/cluster_info.rb +59 -0
  26. data/lib/karafka/web/ui/models/message.rb +114 -38
  27. data/lib/karafka/web/ui/models/status.rb +34 -8
  28. data/lib/karafka/web/ui/pro/app.rb +11 -3
  29. data/lib/karafka/web/ui/pro/controllers/consumers.rb +3 -1
  30. data/lib/karafka/web/ui/pro/controllers/dlq.rb +1 -2
  31. data/lib/karafka/web/ui/pro/controllers/errors.rb +43 -10
  32. data/lib/karafka/web/ui/pro/controllers/explorer.rb +52 -7
  33. data/lib/karafka/web/ui/pro/views/consumers/consumer/_metrics.erb +6 -1
  34. data/lib/karafka/web/ui/pro/views/errors/_breadcrumbs.erb +8 -6
  35. data/lib/karafka/web/ui/pro/views/errors/_error.erb +1 -1
  36. data/lib/karafka/web/ui/pro/views/errors/_partition_option.erb +1 -1
  37. data/lib/karafka/web/ui/pro/views/errors/_table.erb +21 -0
  38. data/lib/karafka/web/ui/pro/views/errors/_title_with_select.erb +31 -0
  39. data/lib/karafka/web/ui/pro/views/errors/index.erb +9 -56
  40. data/lib/karafka/web/ui/pro/views/errors/partition.erb +17 -0
  41. data/lib/karafka/web/ui/pro/views/explorer/_breadcrumbs.erb +1 -1
  42. data/lib/karafka/web/ui/pro/views/explorer/_message.erb +8 -2
  43. data/lib/karafka/web/ui/pro/views/explorer/_partition_option.erb +1 -1
  44. data/lib/karafka/web/ui/pro/views/explorer/_topic.erb +1 -1
  45. data/lib/karafka/web/ui/pro/views/explorer/partition/_messages.erb +1 -0
  46. data/lib/karafka/web/ui/pro/views/explorer/partition.erb +1 -1
  47. data/lib/karafka/web/ui/pro/views/explorer/topic/_empty.erb +3 -0
  48. data/lib/karafka/web/ui/pro/views/explorer/topic/_limited.erb +4 -0
  49. data/lib/karafka/web/ui/pro/views/explorer/topic/_partitions.erb +11 -0
  50. data/lib/karafka/web/ui/pro/views/explorer/topic.erb +49 -0
  51. data/lib/karafka/web/ui/pro/views/shared/_navigation.erb +1 -1
  52. data/lib/karafka/web/ui/views/cluster/_partition.erb +1 -1
  53. data/lib/karafka/web/ui/views/errors/_error.erb +1 -1
  54. data/lib/karafka/web/ui/views/shared/_pagination.erb +16 -12
  55. data/lib/karafka/web/ui/views/status/failures/_initial_state.erb +1 -10
  56. data/lib/karafka/web/ui/views/status/info/_components.erb +6 -1
  57. data/lib/karafka/web/ui/views/status/show.erb +6 -1
  58. data/lib/karafka/web/ui/views/status/successes/_connection.erb +1 -0
  59. data/lib/karafka/web/ui/views/status/warnings/_connection.erb +11 -0
  60. data/lib/karafka/web/version.rb +1 -1
  61. data.tar.gz.sig +0 -0
  62. metadata +20 -3
  63. metadata.gz.sig +0 -0
  64. 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 = Karafka::Admin
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
- @previous_page, @messages, @next_page, @partitions_count = Ui::Models::Message.page(
43
- @topic_id,
44
- @partition_id,
45
- @params.current_page
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
@@ -113,7 +113,12 @@
113
113
  </span>
114
114
 
115
115
  <span class="badge bg-secondary">
116
- karafka core
116
+ karafka-web
117
+ <%= @process.karafka_web %>
118
+ </span>
119
+
120
+ <span class="badge bg-secondary">
121
+ karafka-core
117
122
  <%= @process.karafka_core %>
118
123
  </span>
119
124
 
@@ -1,14 +1,16 @@
1
1
  <li class="breadcrumb-item">
2
- <a href="<%= root_path('errors', 0) %>">
2
+ <a href="<%= root_path('errors') %>">
3
3
  Errors
4
4
  </a>
5
5
  </li>
6
6
 
7
- <li class="breadcrumb-item">
8
- <a href="<%= root_path('errors', @partition_id) %>">
9
- Partition <%= @partition_id %>
10
- </a>
11
- </li>
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">
@@ -1,4 +1,4 @@
1
- <% if error_msg.is_a?(Integer) %>
1
+ <% if error_msg.is_a?(Array) %>
2
2
  <tr>
3
3
  <td colspan="5" class="text-center text-muted">
4
4
  This error has either been removed or compacted and is no longer available.
@@ -3,5 +3,5 @@
3
3
  <% else %>
4
4
  <option value="<%= root_path('errors', partition) %>">
5
5
  <% end %>
6
- <%= partition %>
6
+ <%= partition || 'All' %>
7
7
  </option>
@@ -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
- <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
- @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/partition/watermark_offsets') %>
6
+ <%== partial('explorer/topic/partitions') %>
7
+
8
+ <% if @limited %>
9
+ <%== partial('explorer/topic/limited') %>
10
+ <% end %>
37
11
 
38
- <% if @watermark_offsets.empty? %>
39
- <%== partial 'errors/no_errors' %>
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
- <table class="processes bg-white table table-hover table-bordered table-striped mb-0 align-middle">
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>
@@ -6,7 +6,7 @@
6
6
 
7
7
  <% if @topic_id %>
8
8
  <li class="breadcrumb-item">
9
- <a href="<%= root_path('explorer', @topic_id, 0) %>">
9
+ <a href="<%= root_path('explorer', @topic_id) %>">
10
10
  <%= @topic_id %>
11
11
  </a>
12
12
  </li>
@@ -1,7 +1,10 @@
1
- <% if message.is_a?(Integer) %>
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>
@@ -3,5 +3,5 @@
3
3
  <% else %>
4
4
  <option value="<%= root_path('explorer', @topic_id, partition) %>">
5
5
  <% end %>
6
- <%= partition %>
6
+ <%= partition || 'All' %>
7
7
  </option>
@@ -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], 0) %>">
5
+ <a href="<%= root_path('explorer', topic[:topic_name]) %>">
6
6
  <%= topic[:topic_name] %> /
7
7
  <%= topic[:partition_count] %>
8
8
  </a>
@@ -1,6 +1,7 @@
1
1
  <table class="processes bg-white table table-hover table-bordered table-striped mb-0 align-middle">
2
2
  <thead>
3
3
  <tr class="align-middle">
4
+ <th>Partition</th>
4
5
  <th>Offset</th>
5
6
  <th>Timestamp</th>
6
7
  <th>Key</th>
@@ -17,7 +17,7 @@
17
17
  <select class="form-select form-select-sm mb-0 form-control" id="current-partition">
18
18
  <%==
19
19
  each_partial(
20
- @partitions_count.times.to_a,
20
+ [nil] + @partitions_count.times.to_a,
21
21
  'explorer/partition_option',
22
22
  local: :partition
23
23
  )
@@ -0,0 +1,3 @@
1
+ <div class="alert alert-info mt-4" role="alert">
2
+ This topic is empty and does not contain any data in any of the partitions.
3
+ </div>
@@ -0,0 +1,4 @@
1
+ <div class="alert alert-info mt-4 mb-4" role="alert">
2
+ Due to many partitions, only part of the data is visible on each page.
3
+ Please navigate through the pages to view all data.
4
+ </div>
@@ -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/0') %>">
34
+ <a class="nav-link <%= nav_class(start_with: '/errors') %>" href="<%= root_path('errors') %>">
35
35
  Errors
36
36
  </a>
37
37
  </li>
@@ -3,7 +3,7 @@
3
3
  <% if topic[:topic_name] != '__consumer_offsets' %>
4
4
  <tr>
5
5
  <td>
6
- <a href="<%= root_path('explorer', topic[:topic_name], 0) %>">
6
+ <a href="<%= root_path('explorer', topic[:topic_name]) %>">
7
7
  <%= topic[:topic_name] %>
8
8
  </a>
9
9
  <td>
@@ -1,4 +1,4 @@
1
- <% if error_msg.is_a?(Integer) %>
1
+ <% if error_msg.is_a?(Array) %>
2
2
  <tr>
3
3
  <td colspan="5" class="text-center text-muted">
4
4
  This error has either been removed or compacted and is no longer available.
@@ -1,28 +1,32 @@
1
- <% if @current_page && (@current_page > 1 || @next_page) %>
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' if @current_page <= 1 %>">
7
- <a class="page-link" href="<%= current_path(page: 1) %>">
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>&laquo;</span>
9
9
  </a>
10
10
  </li>
11
11
 
12
- <li class="page-item <%= 'disabled' if @current_page <= 1 %>">
13
- <a class="page-link" href="<%= current_path(page: @current_page - 1) %>">
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>&lsaquo; Prev</span>
15
15
  </a>
16
16
  </li>
17
17
 
18
- <li class="page-item active disabled">
19
- <a class="page-link" href="<%= current_path(page: @current_page) %>">
20
- <span><%= @current_page %></span>
21
- </a>
22
- </li>
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 @next_page %>">
25
- <a class="page-link" href="<%= current_path(page: @next_page) %>">
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 &rsaquo;</span>
27
31
  </a>
28
32
  </li>
@@ -7,14 +7,5 @@
7
7
  </p>
8
8
 
9
9
  <p>
10
- To fix this, you can either:
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>
@@ -13,7 +13,12 @@
13
13
  </span>
14
14
 
15
15
  <span class="badge bg-secondary">
16
- karafka core
16
+ karafka-web
17
+ <%= @sampler.karafka_web_version %>
18
+ </span>
19
+
20
+ <span class="badge bg-secondary">
21
+ karafka-core
17
22
  <%= @sampler.karafka_core_version %>
18
23
  </span>
19
24
 
@@ -8,7 +8,12 @@
8
8
  "status/#{@status.connection.to_s}",
9
9
  locals: {
10
10
  title: 'Connection to Kafka',
11
- description: partial('status/failures/connection')
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>
@@ -3,6 +3,6 @@
3
3
  module Karafka
4
4
  module Web
5
5
  # Current gem version
6
- VERSION = '0.6.0'
6
+ VERSION = '0.6.2'
7
7
  end
8
8
  end
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.0
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-06-13 00:00:00.000000000 Z
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/paginate_array.rb
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