karafka-web 0.11.2 → 0.11.4
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 +24 -0
- data/Gemfile +0 -2
- data/Gemfile.lock +78 -39
- data/bin/integrations +44 -0
- data/bin/rspecs +6 -2
- data/bin/verify_kafka_warnings +1 -1
- data/config/locales/errors.yml +1 -0
- data/docker-compose.yml +1 -3
- data/karafka-web.gemspec +2 -2
- data/lib/karafka/web/app.rb +2 -3
- data/lib/karafka/web/cli/help.rb +1 -1
- data/lib/karafka/web/config.rb +8 -0
- data/lib/karafka/web/contracts/base.rb +2 -4
- data/lib/karafka/web/contracts/config.rb +5 -5
- data/lib/karafka/web/deserializer.rb +6 -1
- data/lib/karafka/web/errors.rb +8 -5
- data/lib/karafka/web/management/actions/enable.rb +14 -1
- data/lib/karafka/web/management/migrations/consumers_reports/1761645571_rename_process_name_to_id.rb +38 -0
- data/lib/karafka/web/management/migrator.rb +3 -2
- data/lib/karafka/web/pro/commanding/commands/base.rb +1 -1
- data/lib/karafka/web/pro/commanding/contracts/config.rb +2 -4
- data/lib/karafka/web/pro/commanding/handlers/partitions/tracker.rb +2 -3
- data/lib/karafka/web/pro/ui/controllers/scheduled_messages/schedules_controller.rb +1 -2
- data/lib/karafka/web/pro/ui/controllers/topics/distributions_controller.rb +1 -3
- data/lib/karafka/web/pro/ui/lib/branding/contracts/config.rb +2 -4
- data/lib/karafka/web/pro/ui/lib/policies/contracts/config.rb +2 -4
- data/lib/karafka/web/pro/ui/lib/search/contracts/config.rb +3 -5
- data/lib/karafka/web/pro/ui/lib/search/contracts/form.rb +3 -5
- data/lib/karafka/web/pro/ui/lib/search/runner.rb +14 -1
- data/lib/karafka/web/pro/ui/routes/errors.rb +3 -3
- data/lib/karafka/web/pro/ui/routes/explorer.rb +3 -3
- data/lib/karafka/web/pro/ui/views/health/_no_partition_data.erb +9 -0
- data/lib/karafka/web/pro/ui/views/health/_partitions_with_fallback.erb +41 -0
- data/lib/karafka/web/pro/ui/views/health/changes.erb +12 -13
- data/lib/karafka/web/pro/ui/views/health/lags.erb +12 -13
- data/lib/karafka/web/pro/ui/views/health/offsets.erb +12 -13
- data/lib/karafka/web/pro/ui/views/health/overview.erb +15 -16
- data/lib/karafka/web/processing/consumer.rb +8 -3
- data/lib/karafka/web/processing/consumers/aggregators/metrics.rb +1 -1
- data/lib/karafka/web/processing/consumers/aggregators/state.rb +10 -6
- data/lib/karafka/web/processing/consumers/contracts/state.rb +6 -1
- data/lib/karafka/web/processing/consumers/reports_migrator.rb +49 -0
- data/lib/karafka/web/processing/time_series_tracker.rb +1 -1
- data/lib/karafka/web/tracking/consumers/contracts/report.rb +1 -1
- data/lib/karafka/web/tracking/consumers/contracts/topic.rb +1 -0
- data/lib/karafka/web/tracking/consumers/listeners/errors.rb +2 -1
- data/lib/karafka/web/tracking/consumers/listeners/processing.rb +46 -0
- data/lib/karafka/web/tracking/consumers/listeners/statistics.rb +1 -0
- data/lib/karafka/web/tracking/consumers/sampler/enrichers/base.rb +20 -0
- data/lib/karafka/web/tracking/consumers/sampler/enrichers/consumer_groups.rb +116 -0
- data/lib/karafka/web/tracking/consumers/sampler/metrics/base.rb +20 -0
- data/lib/karafka/web/tracking/consumers/sampler/metrics/container.rb +113 -0
- data/lib/karafka/web/tracking/consumers/sampler/metrics/jobs.rb +60 -0
- data/lib/karafka/web/tracking/consumers/sampler/metrics/network.rb +48 -0
- data/lib/karafka/web/tracking/consumers/sampler/metrics/os.rb +206 -0
- data/lib/karafka/web/tracking/consumers/sampler/metrics/server.rb +33 -0
- data/lib/karafka/web/tracking/consumers/sampler.rb +34 -215
- data/lib/karafka/web/tracking/contracts/error.rb +1 -0
- data/lib/karafka/web/tracking/helpers/ttls/hash.rb +2 -3
- data/lib/karafka/web/tracking/helpers/ttls/stats.rb +1 -2
- data/lib/karafka/web/tracking/producers/listeners/base.rb +1 -1
- data/lib/karafka/web/tracking/producers/listeners/errors.rb +2 -1
- data/lib/karafka/web/tracking/ui/errors.rb +76 -0
- data/lib/karafka/web/ui/base.rb +19 -9
- data/lib/karafka/web/ui/controllers/requests/execution_wrapper.rb +2 -4
- data/lib/karafka/web/ui/controllers/requests/params.rb +1 -1
- data/lib/karafka/web/ui/helpers/application_helper.rb +1 -1
- data/lib/karafka/web/ui/helpers/paths_helper.rb +6 -9
- data/lib/karafka/web/ui/lib/sorter.rb +1 -1
- data/lib/karafka/web/ui/models/health.rb +14 -9
- data/lib/karafka/web/ui/models/jobs.rb +4 -6
- data/lib/karafka/web/ui/models/message.rb +7 -8
- data/lib/karafka/web/ui/models/metrics/aggregated.rb +4 -4
- data/lib/karafka/web/ui/models/metrics/charts/aggregated.rb +1 -2
- data/lib/karafka/web/ui/models/metrics/charts/topics.rb +2 -2
- data/lib/karafka/web/ui/models/metrics/topics.rb +3 -4
- data/lib/karafka/web/ui/models/recurring_tasks/schedule.rb +1 -1
- data/lib/karafka/web/ui/public/javascripts/application.min.js.gz +0 -0
- data/lib/karafka/web/ui/public/stylesheets/application.min.css +199 -105
- data/lib/karafka/web/ui/public/stylesheets/application.min.css.br +0 -0
- data/lib/karafka/web/ui/public/stylesheets/application.min.css.gz +0 -0
- data/lib/karafka/web/ui/public/stylesheets/libs/highlight_dark.min.css.gz +0 -0
- data/lib/karafka/web/ui/public/stylesheets/libs/highlight_light.min.css.gz +0 -0
- data/lib/karafka/web/ui/routes/errors.rb +3 -3
- data/lib/karafka/web/ui/views/shared/exceptions/unhandled_error.erb +42 -0
- data/lib/karafka/web/version.rb +1 -1
- data/lib/karafka/web.rb +10 -13
- data/package-lock.json +184 -240
- data/package.json +3 -3
- data/renovate.json +13 -0
- metadata +19 -4
|
Binary file
|
|
Binary file
|
|
@@ -11,10 +11,10 @@ module Karafka
|
|
|
11
11
|
controller = build(Controllers::ErrorsController)
|
|
12
12
|
|
|
13
13
|
r.get Integer do |offset|
|
|
14
|
-
if params.current_offset
|
|
15
|
-
r.redirect root_path('errors', params.current_offset)
|
|
16
|
-
else
|
|
14
|
+
if params.current_offset == -1
|
|
17
15
|
controller.show(offset)
|
|
16
|
+
else
|
|
17
|
+
r.redirect root_path('errors', params.current_offset)
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
20
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<div class="hidden">
|
|
2
|
+
<%== partial 'shared/controls' %>
|
|
3
|
+
</div>
|
|
4
|
+
|
|
5
|
+
<main class="flex items-center justify-center min-h-screen">
|
|
6
|
+
<div id="content" class="max-w-2xl w-full mx-auto">
|
|
7
|
+
<div class="flex items-center justify-center vh-100">
|
|
8
|
+
<div class="text-center">
|
|
9
|
+
<h1 class="text-8xl font-bold">500</h1>
|
|
10
|
+
|
|
11
|
+
<p class="text-3xl mt-5">
|
|
12
|
+
<span class="text-red-500">Oops!</span> Internal Server Error.
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
<div class="mt-5">
|
|
16
|
+
<p class="mb-10 text-lg font-light">
|
|
17
|
+
Something went wrong while processing your request.
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<p class="text-lg font-light mb-5">This error has been reported and logged. Please try the following:</p>
|
|
21
|
+
|
|
22
|
+
<ul class="list-disc text-left text-lg mb-10 pl-5 font-light">
|
|
23
|
+
<li>Visit the <a href="<%= root_path('status') %>" class="text-blue-500 underline">Status</a> page to check if there are any system issues</li>
|
|
24
|
+
<li>Check the <a href="<%= root_path('errors') %>" class="text-blue-500 underline">Errors</a> page for details about this error</li>
|
|
25
|
+
<li>Verify that all required topics exist and are accessible</li>
|
|
26
|
+
<li>Ensure you have a working connection with your Kafka cluster</li>
|
|
27
|
+
<li>Try refreshing the page or navigating back to retry your action</li>
|
|
28
|
+
</ul>
|
|
29
|
+
|
|
30
|
+
<p class="mb-10 text-lg font-light">
|
|
31
|
+
If the problem persists, please check your application logs for more details.
|
|
32
|
+
</p>
|
|
33
|
+
|
|
34
|
+
<p>
|
|
35
|
+
<a href="<%= root_path %>" class="btn btn-primary mr-2 rounded-md py-1">Go Home</a>
|
|
36
|
+
<a href="<%= root_path('status') %>" class="btn btn-success text-white rounded-md">Status page</a>
|
|
37
|
+
</p>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</main>
|
data/lib/karafka/web/version.rb
CHANGED
data/lib/karafka/web.rb
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
uri
|
|
12
|
-
].each { |lib| require lib }
|
|
3
|
+
require 'karafka'
|
|
4
|
+
require 'roda'
|
|
5
|
+
require 'etc'
|
|
6
|
+
require 'open3'
|
|
7
|
+
require 'zlib'
|
|
8
|
+
require 'securerandom'
|
|
9
|
+
require 'cgi'
|
|
10
|
+
require 'uri'
|
|
13
11
|
|
|
14
12
|
module Karafka
|
|
15
13
|
# Karafka Web UI + Karafka web monitoring
|
|
@@ -28,8 +26,7 @@ module Karafka
|
|
|
28
26
|
end
|
|
29
27
|
|
|
30
28
|
# Sets up the whole configuration
|
|
31
|
-
|
|
32
|
-
def setup(&block)
|
|
29
|
+
def setup(&)
|
|
33
30
|
# You should never reconfigure Web UI after it has been enabled
|
|
34
31
|
raise Errors::LateSetupError, 'Always call #setup before #enable!' if config.enabled
|
|
35
32
|
|
|
@@ -40,7 +37,7 @@ module Karafka
|
|
|
40
37
|
Pro::Loader.pre_setup_all(config)
|
|
41
38
|
end
|
|
42
39
|
|
|
43
|
-
Config.configure(&
|
|
40
|
+
Config.configure(&)
|
|
44
41
|
|
|
45
42
|
Pro::Loader.post_setup_all(config) if Karafka.pro?
|
|
46
43
|
|