rails_error_dashboard 0.1.1 → 0.1.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/README.md +92 -21
- data/app/assets/stylesheets/rails_error_dashboard/_catppuccin_mocha.scss +107 -0
- data/app/assets/stylesheets/rails_error_dashboard/_components.scss +625 -0
- data/app/assets/stylesheets/rails_error_dashboard/_layout.scss +257 -0
- data/app/assets/stylesheets/rails_error_dashboard/_theme_variables.scss +203 -0
- data/app/assets/stylesheets/rails_error_dashboard/application.css.map +7 -0
- data/app/assets/stylesheets/rails_error_dashboard/application.scss +61 -0
- data/app/controllers/rails_error_dashboard/errors_controller.rb +135 -1
- data/app/helpers/rails_error_dashboard/application_helper.rb +80 -4
- data/app/helpers/rails_error_dashboard/backtrace_helper.rb +91 -0
- data/app/helpers/rails_error_dashboard/overview_helper.rb +78 -0
- data/app/helpers/rails_error_dashboard/user_agent_helper.rb +118 -0
- data/app/models/rails_error_dashboard/error_comment.rb +27 -0
- data/app/models/rails_error_dashboard/error_log.rb +159 -0
- data/app/views/layouts/rails_error_dashboard/application.html.erb +39 -1
- data/app/views/layouts/rails_error_dashboard.html.erb +796 -299
- data/app/views/layouts/rails_error_dashboard_old_backup.html.erb +383 -0
- data/app/views/rails_error_dashboard/errors/_error_row.html.erb +2 -0
- data/app/views/rails_error_dashboard/errors/_pattern_insights.html.erb +4 -4
- data/app/views/rails_error_dashboard/errors/_timeline.html.erb +167 -0
- data/app/views/rails_error_dashboard/errors/analytics.html.erb +439 -22
- data/app/views/rails_error_dashboard/errors/index.html.erb +127 -11
- data/app/views/rails_error_dashboard/errors/overview.html.erb +253 -0
- data/app/views/rails_error_dashboard/errors/platform_comparison.html.erb +29 -18
- data/app/views/rails_error_dashboard/errors/show.html.erb +353 -54
- data/config/routes.rb +11 -1
- data/db/migrate/20251226020000_add_workflow_fields_to_error_logs.rb +27 -0
- data/db/migrate/20251226020100_create_error_comments.rb +18 -0
- data/lib/generators/rails_error_dashboard/install/install_generator.rb +8 -2
- data/lib/generators/rails_error_dashboard/install/templates/initializer.rb +21 -0
- data/lib/generators/rails_error_dashboard/uninstall/uninstall_generator.rb +317 -0
- data/lib/rails_error_dashboard/commands/batch_delete_errors.rb +1 -1
- data/lib/rails_error_dashboard/commands/batch_resolve_errors.rb +2 -2
- data/lib/rails_error_dashboard/commands/log_error.rb +47 -9
- data/lib/rails_error_dashboard/commands/resolve_error.rb +1 -1
- data/lib/rails_error_dashboard/configuration.rb +8 -0
- data/lib/rails_error_dashboard/error_reporter.rb +4 -4
- data/lib/rails_error_dashboard/logger.rb +105 -0
- data/lib/rails_error_dashboard/middleware/error_catcher.rb +2 -2
- data/lib/rails_error_dashboard/plugin.rb +3 -3
- data/lib/rails_error_dashboard/plugin_registry.rb +2 -2
- data/lib/rails_error_dashboard/plugins/jira_integration_plugin.rb +1 -1
- data/lib/rails_error_dashboard/plugins/metrics_plugin.rb +1 -1
- data/lib/rails_error_dashboard/queries/dashboard_stats.rb +109 -1
- data/lib/rails_error_dashboard/queries/errors_list.rb +134 -7
- data/lib/rails_error_dashboard/queries/mttr_stats.rb +111 -0
- data/lib/rails_error_dashboard/queries/recurring_issues.rb +97 -0
- data/lib/rails_error_dashboard/services/backtrace_parser.rb +113 -0
- data/lib/rails_error_dashboard/version.rb +1 -1
- data/lib/rails_error_dashboard.rb +5 -0
- data/lib/tasks/rails_error_dashboard_tasks.rake +85 -4
- metadata +36 -2
|
@@ -1,4 +1,85 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
namespace :rails_error_dashboard do
|
|
4
|
+
namespace :db do
|
|
5
|
+
desc "Drop all Rails Error Dashboard database tables (⚠️ DESTRUCTIVE - deletes all error data)"
|
|
6
|
+
task drop: :environment do
|
|
7
|
+
puts "\n"
|
|
8
|
+
puts "=" * 80
|
|
9
|
+
puts " ⚠️ Rails Error Dashboard - Drop Database Tables"
|
|
10
|
+
puts "=" * 80
|
|
11
|
+
puts "\n"
|
|
12
|
+
|
|
13
|
+
# List tables that will be dropped
|
|
14
|
+
tables_to_drop = [
|
|
15
|
+
"rails_error_dashboard_error_comments",
|
|
16
|
+
"rails_error_dashboard_error_occurrences",
|
|
17
|
+
"rails_error_dashboard_cascade_patterns",
|
|
18
|
+
"rails_error_dashboard_error_baselines",
|
|
19
|
+
"rails_error_dashboard_error_logs"
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
existing_tables = tables_to_drop.select do |table|
|
|
23
|
+
ActiveRecord::Base.connection.table_exists?(table)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
if existing_tables.empty?
|
|
27
|
+
puts "No Rails Error Dashboard tables found in the database."
|
|
28
|
+
puts "\n"
|
|
29
|
+
exit 0
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
puts "The following tables will be PERMANENTLY DELETED:"
|
|
33
|
+
existing_tables.each do |table|
|
|
34
|
+
record_count = ActiveRecord::Base.connection.execute("SELECT COUNT(*) FROM #{table}").first.values.first rescue 0
|
|
35
|
+
puts " • #{table} (#{record_count} records)"
|
|
36
|
+
end
|
|
37
|
+
puts "\n"
|
|
38
|
+
puts "⚠️ This action CANNOT be undone!"
|
|
39
|
+
puts "\n"
|
|
40
|
+
|
|
41
|
+
# Ask for confirmation
|
|
42
|
+
print "Type 'DELETE ALL DATA' to confirm: "
|
|
43
|
+
confirmation = $stdin.gets.chomp
|
|
44
|
+
|
|
45
|
+
if confirmation != "DELETE ALL DATA"
|
|
46
|
+
puts "\n"
|
|
47
|
+
puts "Cancelled. No tables were dropped."
|
|
48
|
+
puts "\n"
|
|
49
|
+
exit 0
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
puts "\n"
|
|
53
|
+
puts "Dropping tables..."
|
|
54
|
+
|
|
55
|
+
# Drop tables in reverse order (respects foreign keys)
|
|
56
|
+
dropped_count = 0
|
|
57
|
+
existing_tables.reverse.each do |table|
|
|
58
|
+
begin
|
|
59
|
+
ActiveRecord::Base.connection.drop_table(table, if_exists: true)
|
|
60
|
+
puts " ✓ Dropped #{table}"
|
|
61
|
+
dropped_count += 1
|
|
62
|
+
rescue => e
|
|
63
|
+
puts " ✗ Failed to drop #{table}: #{e.message}"
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
puts "\n"
|
|
68
|
+
puts "=" * 80
|
|
69
|
+
puts " ✅ Successfully dropped #{dropped_count} table(s)"
|
|
70
|
+
puts "=" * 80
|
|
71
|
+
puts "\n"
|
|
72
|
+
puts "Next steps:"
|
|
73
|
+
puts " 1. Remove gem 'rails_error_dashboard' from Gemfile"
|
|
74
|
+
puts " 2. Run: bundle install"
|
|
75
|
+
puts " 3. Remove initializer: config/initializers/rails_error_dashboard.rb"
|
|
76
|
+
puts " 4. Remove route from config/routes.rb"
|
|
77
|
+
puts " 5. Delete migration files: db/migrate/*rails_error_dashboard*.rb"
|
|
78
|
+
puts " 6. Restart your Rails server"
|
|
79
|
+
puts "\n"
|
|
80
|
+
puts "Or use the automated uninstaller:"
|
|
81
|
+
puts " rails generate rails_error_dashboard:uninstall"
|
|
82
|
+
puts "\n"
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rails_error_dashboard
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Anjan Jagirdar
|
|
@@ -65,6 +65,20 @@ dependencies:
|
|
|
65
65
|
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
67
|
version: '6.0'
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: chartkick
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '5.0'
|
|
75
|
+
type: :runtime
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '5.0'
|
|
68
82
|
- !ruby/object:Gem::Dependency
|
|
69
83
|
name: httparty
|
|
70
84
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -253,10 +267,19 @@ files:
|
|
|
253
267
|
- MIT-LICENSE
|
|
254
268
|
- README.md
|
|
255
269
|
- Rakefile
|
|
270
|
+
- app/assets/stylesheets/rails_error_dashboard/_catppuccin_mocha.scss
|
|
271
|
+
- app/assets/stylesheets/rails_error_dashboard/_components.scss
|
|
272
|
+
- app/assets/stylesheets/rails_error_dashboard/_layout.scss
|
|
273
|
+
- app/assets/stylesheets/rails_error_dashboard/_theme_variables.scss
|
|
256
274
|
- app/assets/stylesheets/rails_error_dashboard/application.css
|
|
275
|
+
- app/assets/stylesheets/rails_error_dashboard/application.css.map
|
|
276
|
+
- app/assets/stylesheets/rails_error_dashboard/application.scss
|
|
257
277
|
- app/controllers/rails_error_dashboard/application_controller.rb
|
|
258
278
|
- app/controllers/rails_error_dashboard/errors_controller.rb
|
|
259
279
|
- app/helpers/rails_error_dashboard/application_helper.rb
|
|
280
|
+
- app/helpers/rails_error_dashboard/backtrace_helper.rb
|
|
281
|
+
- app/helpers/rails_error_dashboard/overview_helper.rb
|
|
282
|
+
- app/helpers/rails_error_dashboard/user_agent_helper.rb
|
|
260
283
|
- app/jobs/rails_error_dashboard/application_job.rb
|
|
261
284
|
- app/jobs/rails_error_dashboard/async_error_logging_job.rb
|
|
262
285
|
- app/jobs/rails_error_dashboard/baseline_alert_job.rb
|
|
@@ -269,19 +292,23 @@ files:
|
|
|
269
292
|
- app/mailers/rails_error_dashboard/error_notification_mailer.rb
|
|
270
293
|
- app/models/rails_error_dashboard/cascade_pattern.rb
|
|
271
294
|
- app/models/rails_error_dashboard/error_baseline.rb
|
|
295
|
+
- app/models/rails_error_dashboard/error_comment.rb
|
|
272
296
|
- app/models/rails_error_dashboard/error_log.rb
|
|
273
297
|
- app/models/rails_error_dashboard/error_logs_record.rb
|
|
274
298
|
- app/models/rails_error_dashboard/error_occurrence.rb
|
|
275
299
|
- app/views/layouts/rails_error_dashboard.html.erb
|
|
276
300
|
- app/views/layouts/rails_error_dashboard/application.html.erb
|
|
301
|
+
- app/views/layouts/rails_error_dashboard_old_backup.html.erb
|
|
277
302
|
- app/views/rails_error_dashboard/error_notification_mailer/error_alert.html.erb
|
|
278
303
|
- app/views/rails_error_dashboard/error_notification_mailer/error_alert.text.erb
|
|
279
304
|
- app/views/rails_error_dashboard/errors/_error_row.html.erb
|
|
280
305
|
- app/views/rails_error_dashboard/errors/_pattern_insights.html.erb
|
|
281
306
|
- app/views/rails_error_dashboard/errors/_stats.html.erb
|
|
307
|
+
- app/views/rails_error_dashboard/errors/_timeline.html.erb
|
|
282
308
|
- app/views/rails_error_dashboard/errors/analytics.html.erb
|
|
283
309
|
- app/views/rails_error_dashboard/errors/correlation.html.erb
|
|
284
310
|
- app/views/rails_error_dashboard/errors/index.html.erb
|
|
311
|
+
- app/views/rails_error_dashboard/errors/overview.html.erb
|
|
285
312
|
- app/views/rails_error_dashboard/errors/platform_comparison.html.erb
|
|
286
313
|
- app/views/rails_error_dashboard/errors/show.html.erb
|
|
287
314
|
- config/routes.rb
|
|
@@ -295,11 +322,14 @@ files:
|
|
|
295
322
|
- db/migrate/20251225100236_create_error_occurrences.rb
|
|
296
323
|
- db/migrate/20251225101920_create_cascade_patterns.rb
|
|
297
324
|
- db/migrate/20251225102500_create_error_baselines.rb
|
|
325
|
+
- db/migrate/20251226020000_add_workflow_fields_to_error_logs.rb
|
|
326
|
+
- db/migrate/20251226020100_create_error_comments.rb
|
|
298
327
|
- lib/generators/rails_error_dashboard/install/install_generator.rb
|
|
299
328
|
- lib/generators/rails_error_dashboard/install/templates/README
|
|
300
329
|
- lib/generators/rails_error_dashboard/install/templates/initializer.rb
|
|
301
330
|
- lib/generators/rails_error_dashboard/solid_queue/solid_queue_generator.rb
|
|
302
331
|
- lib/generators/rails_error_dashboard/solid_queue/templates/queue.yml
|
|
332
|
+
- lib/generators/rails_error_dashboard/uninstall/uninstall_generator.rb
|
|
303
333
|
- lib/rails_error_dashboard.rb
|
|
304
334
|
- lib/rails_error_dashboard/commands/batch_delete_errors.rb
|
|
305
335
|
- lib/rails_error_dashboard/commands/batch_resolve_errors.rb
|
|
@@ -308,6 +338,7 @@ files:
|
|
|
308
338
|
- lib/rails_error_dashboard/configuration.rb
|
|
309
339
|
- lib/rails_error_dashboard/engine.rb
|
|
310
340
|
- lib/rails_error_dashboard/error_reporter.rb
|
|
341
|
+
- lib/rails_error_dashboard/logger.rb
|
|
311
342
|
- lib/rails_error_dashboard/middleware/error_catcher.rb
|
|
312
343
|
- lib/rails_error_dashboard/plugin.rb
|
|
313
344
|
- lib/rails_error_dashboard/plugin_registry.rb
|
|
@@ -322,8 +353,11 @@ files:
|
|
|
322
353
|
- lib/rails_error_dashboard/queries/error_correlation.rb
|
|
323
354
|
- lib/rails_error_dashboard/queries/errors_list.rb
|
|
324
355
|
- lib/rails_error_dashboard/queries/filter_options.rb
|
|
356
|
+
- lib/rails_error_dashboard/queries/mttr_stats.rb
|
|
325
357
|
- lib/rails_error_dashboard/queries/platform_comparison.rb
|
|
358
|
+
- lib/rails_error_dashboard/queries/recurring_issues.rb
|
|
326
359
|
- lib/rails_error_dashboard/queries/similar_errors.rb
|
|
360
|
+
- lib/rails_error_dashboard/services/backtrace_parser.rb
|
|
327
361
|
- lib/rails_error_dashboard/services/baseline_alert_throttler.rb
|
|
328
362
|
- lib/rails_error_dashboard/services/baseline_calculator.rb
|
|
329
363
|
- lib/rails_error_dashboard/services/cascade_detector.rb
|
|
@@ -354,7 +388,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
354
388
|
- !ruby/object:Gem::Version
|
|
355
389
|
version: '0'
|
|
356
390
|
requirements: []
|
|
357
|
-
rubygems_version: 3.
|
|
391
|
+
rubygems_version: 3.6.9
|
|
358
392
|
specification_version: 4
|
|
359
393
|
summary: Self-hosted Rails error monitoring — free, forever. Zero SaaS fees, zero
|
|
360
394
|
lock-in.
|