dbwatcher 1.1.1 → 1.1.3

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.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -2
  3. data/app/assets/config/dbwatcher_manifest.js +1 -0
  4. data/app/assets/javascripts/dbwatcher/components/changes_table_hybrid.js +196 -119
  5. data/app/assets/javascripts/dbwatcher/components/dashboard.js +325 -0
  6. data/app/assets/javascripts/dbwatcher/components/timeline.js +211 -0
  7. data/app/assets/javascripts/dbwatcher/dbwatcher.js +5 -0
  8. data/app/assets/stylesheets/dbwatcher/application.css +691 -41
  9. data/app/assets/stylesheets/dbwatcher/application.scss +5 -0
  10. data/app/assets/stylesheets/dbwatcher/components/_badges.scss +68 -23
  11. data/app/assets/stylesheets/dbwatcher/components/_compact_table.scss +83 -26
  12. data/app/assets/stylesheets/dbwatcher/components/_diagrams.scss +3 -3
  13. data/app/assets/stylesheets/dbwatcher/components/_navigation.scss +9 -0
  14. data/app/assets/stylesheets/dbwatcher/components/_tabulator.scss +248 -0
  15. data/app/assets/stylesheets/dbwatcher/components/_timeline.scss +326 -0
  16. data/app/assets/stylesheets/dbwatcher/vendor/_tabulator_overrides.scss +37 -0
  17. data/app/controllers/dbwatcher/api/v1/sessions_controller.rb +18 -4
  18. data/app/controllers/dbwatcher/api/v1/system_info_controller.rb +180 -0
  19. data/app/controllers/dbwatcher/dashboard/system_info_controller.rb +64 -0
  20. data/app/controllers/dbwatcher/dashboard_controller.rb +17 -0
  21. data/app/controllers/dbwatcher/sessions_controller.rb +3 -19
  22. data/app/helpers/dbwatcher/application_helper.rb +43 -11
  23. data/app/helpers/dbwatcher/diagram_helper.rb +0 -88
  24. data/app/views/dbwatcher/dashboard/_layout.html.erb +27 -0
  25. data/app/views/dbwatcher/dashboard/_overview.html.erb +188 -0
  26. data/app/views/dbwatcher/dashboard/_system_info.html.erb +22 -0
  27. data/app/views/dbwatcher/dashboard/_system_info_content.html.erb +389 -0
  28. data/app/views/dbwatcher/dashboard/index.html.erb +8 -177
  29. data/app/views/dbwatcher/sessions/_layout.html.erb +26 -0
  30. data/app/views/dbwatcher/sessions/{_summary_tab.html.erb → _summary.html.erb} +1 -1
  31. data/app/views/dbwatcher/sessions/_tables.html.erb +170 -0
  32. data/app/views/dbwatcher/sessions/_timeline.html.erb +260 -0
  33. data/app/views/dbwatcher/sessions/index.html.erb +107 -87
  34. data/app/views/dbwatcher/sessions/show.html.erb +12 -4
  35. data/app/views/dbwatcher/tables/index.html.erb +32 -40
  36. data/app/views/layouts/dbwatcher/application.html.erb +101 -48
  37. data/config/routes.rb +25 -7
  38. data/lib/dbwatcher/configuration.rb +18 -1
  39. data/lib/dbwatcher/services/analyzers/table_summary_builder.rb +102 -1
  40. data/lib/dbwatcher/services/api/{changes_data_service.rb → tables_data_service.rb} +6 -6
  41. data/lib/dbwatcher/services/base_service.rb +2 -0
  42. data/lib/dbwatcher/services/system_info/database_info_collector.rb +263 -0
  43. data/lib/dbwatcher/services/system_info/machine_info_collector.rb +387 -0
  44. data/lib/dbwatcher/services/system_info/runtime_info_collector.rb +328 -0
  45. data/lib/dbwatcher/services/system_info/system_info_collector.rb +114 -0
  46. data/lib/dbwatcher/services/timeline_data_service/enhancement_utilities.rb +100 -0
  47. data/lib/dbwatcher/services/timeline_data_service/entry_builder.rb +125 -0
  48. data/lib/dbwatcher/services/timeline_data_service/metadata_builder.rb +93 -0
  49. data/lib/dbwatcher/services/timeline_data_service.rb +130 -0
  50. data/lib/dbwatcher/storage/api/concerns/table_analyzer.rb +1 -1
  51. data/lib/dbwatcher/storage/concerns/error_handler.rb +6 -6
  52. data/lib/dbwatcher/storage/session.rb +5 -0
  53. data/lib/dbwatcher/storage/system_info_storage.rb +242 -0
  54. data/lib/dbwatcher/storage.rb +12 -0
  55. data/lib/dbwatcher/version.rb +1 -1
  56. data/lib/dbwatcher.rb +16 -2
  57. metadata +28 -16
  58. data/app/helpers/dbwatcher/component_helper.rb +0 -29
  59. data/app/views/dbwatcher/sessions/_changes_tab.html.erb +0 -265
  60. data/app/views/dbwatcher/sessions/_tab_navigation.html.erb +0 -12
  61. data/app/views/dbwatcher/sessions/changes.html.erb +0 -21
  62. data/app/views/dbwatcher/sessions/components/changes/_filters.html.erb +0 -44
  63. data/app/views/dbwatcher/sessions/components/changes/_table_list.html.erb +0 -96
  64. data/app/views/dbwatcher/sessions/diagrams.html.erb +0 -21
  65. data/app/views/dbwatcher/sessions/shared/_layout.html.erb +0 -8
  66. data/app/views/dbwatcher/sessions/shared/_navigation.html.erb +0 -35
  67. data/app/views/dbwatcher/sessions/shared/_session_header.html.erb +0 -25
  68. data/app/views/dbwatcher/sessions/summary.html.erb +0 -21
  69. /data/app/views/dbwatcher/sessions/{_diagrams_tab.html.erb → _diagrams.html.erb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0b7957ed033ae660e382a340a970c1a47382069b8c4cf1c0fbe2646c7dc77f84
4
- data.tar.gz: d1b499b5d5154e616393ff7fe6871d7c44b3a27ddb043fb9720cd034ebdc33ec
3
+ metadata.gz: cc4ee903407a594933016fc81eab8e7ea90b7f63fe6b046305191b18e87afc27
4
+ data.tar.gz: e1e9c3f66d04da6e5e043feddf01fb19e02680f0556799e06c5a74ef44da0143
5
5
  SHA512:
6
- metadata.gz: efc9edb1ca9929ced9827093c12cfb3d216a67bbd32de94a16be9e7aeda91b602aa41f6f979904a854577dde2650509891e8cdd933d8c6629c6812c405c4ea15
7
- data.tar.gz: 5b5198fc2e1fcd2b2cca261a5598bcb92fa41b07ef1825aae73ce45403a834524b6a033ad329523e29249697a0bd8dd5e82ed28cf02a79230968096bd28a329e
6
+ metadata.gz: 66c026987650f546ebe5ca2f0ef513d0828f3ca615d28dfeb55174c36c33db4dd1361cea07812905f43d70eab4a369f9ddf0c483191b3337b22f89c699412b19
7
+ data.tar.gz: 95d9a01e5dd54e81d9a1f6260720fb43d2ef650a3c550012cb943d39c66e4d13616d796a39b489bdffdc9816f30d6bedbd78ad3c0537c588ba120821964c3e19
data/README.md CHANGED
@@ -1,6 +1,10 @@
1
1
  # DBWatcher
2
2
 
3
+ [![CI](https://github.com/patrick204nqh/dbwatcher/actions/workflows/ci.yml/badge.svg)](https://github.com/patrick204nqh/dbwatcher/actions/workflows/ci.yml)
4
+ [![Release Gem](https://github.com/patrick204nqh/dbwatcher/actions/workflows/release.yml/badge.svg)](https://github.com/patrick204nqh/dbwatcher/actions/workflows/release.yml)
3
5
  [![Gem Version](https://badge.fury.io/rb/dbwatcher.svg)](https://badge.fury.io/rb/dbwatcher)
6
+ [![Maintainability](https://qlty.sh/gh/patrick204nqh/projects/dbwatcher/maintainability.svg)](https://qlty.sh/gh/patrick204nqh/projects/dbwatcher)
7
+ [![Code Coverage](https://qlty.sh/gh/patrick204nqh/projects/dbwatcher/coverage.svg)](https://qlty.sh/gh/patrick204nqh/projects/dbwatcher)
4
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
9
 
6
10
  A Rails gem that tracks and visualizes database operations in your application. Built for developers who need to understand complex data flows and debug database interactions.
@@ -18,11 +22,11 @@ A Rails gem that tracks and visualizes database operations in your application.
18
22
 
19
23
  ### Dashboard Interface
20
24
 
21
- ![image](https://github.com/user-attachments/assets/1ea48717-0251-4d2b-95ea-87e00e6b89c3)
25
+ ![image](https://github.com/user-attachments/assets/92c94bdc-06fd-463e-a11f-f931a8ff5346)
22
26
 
23
27
  ### Session View
24
28
 
25
- ![image](https://github.com/user-attachments/assets/411423aa-341f-4112-9d10-1dd9e0a4d409)
29
+ ![image](https://github.com/user-attachments/assets/cae4c820-d7d9-4d16-b8fa-5978e0578ff8)
26
30
 
27
31
  [View more screenshots in here →](docs/screenshots.md)
28
32
 
@@ -120,6 +124,24 @@ bundle exec rake unit # Unit tests only
120
124
  bundle exec rake acceptance # Feature tests only
121
125
  ```
122
126
 
127
+ ### Code Coverage
128
+
129
+ The project uses SimpleCov for code coverage and uploads results to Qlty. To run tests with coverage locally:
130
+
131
+ ```bash
132
+ COVERAGE=true bundle exec rake test
133
+ ```
134
+
135
+ Coverage reports will be generated in the `coverage/` directory.
136
+
137
+ ### CI Coverage Setup
138
+
139
+ To enable coverage uploads to Qlty in CI:
140
+
141
+ 1. Create an account at [Qlty.sh](https://qlty.sh)
142
+ 2. Create a new project and get your coverage token
143
+ 3. Add the token as a GitHub repository secret named `QLTY_COVERAGE_TOKEN`
144
+
123
145
  ### Local Development
124
146
 
125
147
  ```bash
@@ -4,6 +4,7 @@
4
4
  //= link dbwatcher/alpine_registrations.js
5
5
  //= link_tree ../javascripts/dbwatcher/components
6
6
  //= link dbwatcher/components/changes_table_hybrid.js
7
+ //= link dbwatcher/components/timeline.js
7
8
  //= link_tree ../javascripts/dbwatcher/core
8
9
  //= link_tree ../javascripts/dbwatcher/services
9
10
  //= link dbwatcher/vendor/lodash.min.js