rails_pulse 0.1.0

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 (160) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +638 -0
  4. data/Rakefile +207 -0
  5. data/app/assets/images/rails_pulse/dashboard.png +0 -0
  6. data/app/assets/images/rails_pulse/menu.svg +1 -0
  7. data/app/assets/images/rails_pulse/rails-pulse-logo.png +0 -0
  8. data/app/assets/images/rails_pulse/request.png +0 -0
  9. data/app/assets/images/rails_pulse/routes.png +0 -0
  10. data/app/assets/stylesheets/rails_pulse/application.css +102 -0
  11. data/app/assets/stylesheets/rails_pulse/components/alert.css +24 -0
  12. data/app/assets/stylesheets/rails_pulse/components/badge.css +58 -0
  13. data/app/assets/stylesheets/rails_pulse/components/base.css +79 -0
  14. data/app/assets/stylesheets/rails_pulse/components/breadcrumb.css +31 -0
  15. data/app/assets/stylesheets/rails_pulse/components/button.css +99 -0
  16. data/app/assets/stylesheets/rails_pulse/components/card.css +19 -0
  17. data/app/assets/stylesheets/rails_pulse/components/chart.css +18 -0
  18. data/app/assets/stylesheets/rails_pulse/components/csp_safe_positioning.css +86 -0
  19. data/app/assets/stylesheets/rails_pulse/components/descriptive_list.css +9 -0
  20. data/app/assets/stylesheets/rails_pulse/components/dialog.css +56 -0
  21. data/app/assets/stylesheets/rails_pulse/components/flash.css +47 -0
  22. data/app/assets/stylesheets/rails_pulse/components/input.css +80 -0
  23. data/app/assets/stylesheets/rails_pulse/components/layouts.css +63 -0
  24. data/app/assets/stylesheets/rails_pulse/components/menu.css +43 -0
  25. data/app/assets/stylesheets/rails_pulse/components/popover.css +36 -0
  26. data/app/assets/stylesheets/rails_pulse/components/prose.css +144 -0
  27. data/app/assets/stylesheets/rails_pulse/components/row.css +24 -0
  28. data/app/assets/stylesheets/rails_pulse/components/sidebar_menu.css +79 -0
  29. data/app/assets/stylesheets/rails_pulse/components/skeleton.css +5 -0
  30. data/app/assets/stylesheets/rails_pulse/components/table.css +37 -0
  31. data/app/assets/stylesheets/rails_pulse/components/utilities.css +36 -0
  32. data/app/controllers/concerns/chart_table_concern.rb +82 -0
  33. data/app/controllers/concerns/response_range_concern.rb +24 -0
  34. data/app/controllers/concerns/time_range_concern.rb +67 -0
  35. data/app/controllers/concerns/zoom_range_concern.rb +40 -0
  36. data/app/controllers/rails_pulse/application_controller.rb +67 -0
  37. data/app/controllers/rails_pulse/assets_controller.rb +33 -0
  38. data/app/controllers/rails_pulse/caches_controller.rb +115 -0
  39. data/app/controllers/rails_pulse/csp_test_controller.rb +57 -0
  40. data/app/controllers/rails_pulse/dashboard_controller.rb +6 -0
  41. data/app/controllers/rails_pulse/operations_controller.rb +219 -0
  42. data/app/controllers/rails_pulse/queries_controller.rb +121 -0
  43. data/app/controllers/rails_pulse/requests_controller.rb +69 -0
  44. data/app/controllers/rails_pulse/routes_controller.rb +99 -0
  45. data/app/helpers/rails_pulse/application_helper.rb +111 -0
  46. data/app/helpers/rails_pulse/breadcrumbs_helper.rb +62 -0
  47. data/app/helpers/rails_pulse/cached_component_helper.rb +73 -0
  48. data/app/helpers/rails_pulse/chart_formatters.rb +43 -0
  49. data/app/helpers/rails_pulse/chart_helper.rb +140 -0
  50. data/app/helpers/rails_pulse/formatting_helper.rb +29 -0
  51. data/app/helpers/rails_pulse/status_helper.rb +279 -0
  52. data/app/helpers/rails_pulse/table_helper.rb +54 -0
  53. data/app/javascript/rails_pulse/application.js +119 -0
  54. data/app/javascript/rails_pulse/controllers/color_scheme_controller.js +20 -0
  55. data/app/javascript/rails_pulse/controllers/context_menu_controller.js +16 -0
  56. data/app/javascript/rails_pulse/controllers/dialog_controller.js +21 -0
  57. data/app/javascript/rails_pulse/controllers/expandable_row_controller.js +67 -0
  58. data/app/javascript/rails_pulse/controllers/form_controller.js +39 -0
  59. data/app/javascript/rails_pulse/controllers/icon_controller.js +170 -0
  60. data/app/javascript/rails_pulse/controllers/index_controller.js +230 -0
  61. data/app/javascript/rails_pulse/controllers/menu_controller.js +60 -0
  62. data/app/javascript/rails_pulse/controllers/pagination_controller.js +69 -0
  63. data/app/javascript/rails_pulse/controllers/popover_controller.js +91 -0
  64. data/app/javascript/rails_pulse/controllers/timezone_controller.js +106 -0
  65. data/app/javascript/rails_pulse/theme.js +416 -0
  66. data/app/jobs/rails_pulse/application_job.rb +4 -0
  67. data/app/jobs/rails_pulse/cleanup_job.rb +21 -0
  68. data/app/mailers/rails_pulse/application_mailer.rb +6 -0
  69. data/app/models/rails_pulse/application_record.rb +7 -0
  70. data/app/models/rails_pulse/component_cache_key.rb +33 -0
  71. data/app/models/rails_pulse/dashboard/charts/average_response_time.rb +27 -0
  72. data/app/models/rails_pulse/dashboard/charts/p95_response_time.rb +37 -0
  73. data/app/models/rails_pulse/dashboard/tables/slow_queries.rb +59 -0
  74. data/app/models/rails_pulse/dashboard/tables/slow_routes.rb +45 -0
  75. data/app/models/rails_pulse/operation.rb +87 -0
  76. data/app/models/rails_pulse/queries/cards/average_query_times.rb +52 -0
  77. data/app/models/rails_pulse/queries/cards/execution_rate.rb +57 -0
  78. data/app/models/rails_pulse/queries/cards/percentile_query_times.rb +71 -0
  79. data/app/models/rails_pulse/queries/charts/average_query_times.rb +112 -0
  80. data/app/models/rails_pulse/query.rb +58 -0
  81. data/app/models/rails_pulse/request.rb +64 -0
  82. data/app/models/rails_pulse/requests/charts/average_response_times.rb +99 -0
  83. data/app/models/rails_pulse/requests/charts/operations_chart.rb +35 -0
  84. data/app/models/rails_pulse/route.rb +77 -0
  85. data/app/models/rails_pulse/routes/cards/average_response_times.rb +54 -0
  86. data/app/models/rails_pulse/routes/cards/error_rate_per_route.rb +73 -0
  87. data/app/models/rails_pulse/routes/cards/percentile_response_times.rb +73 -0
  88. data/app/models/rails_pulse/routes/cards/request_count_totals.rb +59 -0
  89. data/app/models/rails_pulse/routes/charts/average_response_times.rb +115 -0
  90. data/app/models/rails_pulse/routes/tables/index.rb +63 -0
  91. data/app/services/rails_pulse/sql_query_normalizer.rb +124 -0
  92. data/app/views/layouts/rails_pulse/_menu_items.html.erb +19 -0
  93. data/app/views/layouts/rails_pulse/_sidebar_menu.html.erb +44 -0
  94. data/app/views/layouts/rails_pulse/application.html.erb +72 -0
  95. data/app/views/rails_pulse/caches/show.html.erb +9 -0
  96. data/app/views/rails_pulse/components/_breadcrumbs.html.erb +12 -0
  97. data/app/views/rails_pulse/components/_code_panel.html.erb +12 -0
  98. data/app/views/rails_pulse/components/_metric_card.html.erb +55 -0
  99. data/app/views/rails_pulse/components/_metric_row.html.erb +9 -0
  100. data/app/views/rails_pulse/components/_operation_details_popover.html.erb +241 -0
  101. data/app/views/rails_pulse/components/_panel.html.erb +56 -0
  102. data/app/views/rails_pulse/components/_sparkline_stats.html.erb +15 -0
  103. data/app/views/rails_pulse/components/_table.html.erb +50 -0
  104. data/app/views/rails_pulse/components/_table_head.html.erb +20 -0
  105. data/app/views/rails_pulse/components/_table_pagination.html.erb +45 -0
  106. data/app/views/rails_pulse/components/_time_period.html.erb +16 -0
  107. data/app/views/rails_pulse/csp_test/show.html.erb +207 -0
  108. data/app/views/rails_pulse/dashboard/charts/_bar_chart.html.erb +1 -0
  109. data/app/views/rails_pulse/dashboard/index.html.erb +64 -0
  110. data/app/views/rails_pulse/dashboard/tables/_routes_table.html.erb +32 -0
  111. data/app/views/rails_pulse/dashboard/tables/_standard_table.html.erb +1 -0
  112. data/app/views/rails_pulse/operations/_operation_analysis_application.html.erb +43 -0
  113. data/app/views/rails_pulse/operations/_operation_analysis_database.html.erb +12 -0
  114. data/app/views/rails_pulse/operations/_operation_analysis_generic.html.erb +15 -0
  115. data/app/views/rails_pulse/operations/_operation_analysis_other.html.erb +69 -0
  116. data/app/views/rails_pulse/operations/_operation_analysis_view.html.erb +39 -0
  117. data/app/views/rails_pulse/operations/show.html.erb +79 -0
  118. data/app/views/rails_pulse/queries/_show_table.html.erb +19 -0
  119. data/app/views/rails_pulse/queries/_table.html.erb +31 -0
  120. data/app/views/rails_pulse/queries/index.html.erb +64 -0
  121. data/app/views/rails_pulse/queries/show.html.erb +86 -0
  122. data/app/views/rails_pulse/requests/_operations.html.erb +85 -0
  123. data/app/views/rails_pulse/requests/_table.html.erb +31 -0
  124. data/app/views/rails_pulse/requests/index.html.erb +64 -0
  125. data/app/views/rails_pulse/requests/show.html.erb +44 -0
  126. data/app/views/rails_pulse/routes/_table.html.erb +29 -0
  127. data/app/views/rails_pulse/routes/index.html.erb +65 -0
  128. data/app/views/rails_pulse/routes/show.html.erb +67 -0
  129. data/app/views/rails_pulse/skeletons/_chart.html.erb +3 -0
  130. data/app/views/rails_pulse/skeletons/_metric_card.html.erb +20 -0
  131. data/app/views/rails_pulse/skeletons/_panel.html.erb +19 -0
  132. data/app/views/rails_pulse/skeletons/_table.html.erb +8 -0
  133. data/config/importmap.rb +12 -0
  134. data/config/initializers/rails_charts_csp_patch.rb +83 -0
  135. data/config/initializers/rails_pulse.rb +198 -0
  136. data/config/routes.rb +16 -0
  137. data/db/migrate/20250227235904_create_routes.rb +12 -0
  138. data/db/migrate/20250227235915_create_requests.rb +19 -0
  139. data/db/migrate/20250228000000_create_queries.rb +14 -0
  140. data/db/migrate/20250228000056_create_operations.rb +24 -0
  141. data/lib/generators/rails_pulse/install_generator.rb +17 -0
  142. data/lib/generators/rails_pulse/templates/rails_pulse.rb +198 -0
  143. data/lib/rails_pulse/cleanup_service.rb +212 -0
  144. data/lib/rails_pulse/configuration.rb +176 -0
  145. data/lib/rails_pulse/engine.rb +88 -0
  146. data/lib/rails_pulse/middleware/asset_server.rb +84 -0
  147. data/lib/rails_pulse/middleware/request_collector.rb +120 -0
  148. data/lib/rails_pulse/migration.rb +29 -0
  149. data/lib/rails_pulse/subscribers/operation_subscriber.rb +280 -0
  150. data/lib/rails_pulse/version.rb +3 -0
  151. data/lib/rails_pulse.rb +38 -0
  152. data/lib/tasks/rails_pulse_tasks.rake +138 -0
  153. data/public/rails-pulse-assets/csp-test.js +110 -0
  154. data/public/rails-pulse-assets/rails-pulse-icons.js +89 -0
  155. data/public/rails-pulse-assets/rails-pulse-icons.js.map +13 -0
  156. data/public/rails-pulse-assets/rails-pulse.css +1 -0
  157. data/public/rails-pulse-assets/rails-pulse.css.map +1 -0
  158. data/public/rails-pulse-assets/rails-pulse.js +183 -0
  159. data/public/rails-pulse-assets/rails-pulse.js.map +7 -0
  160. metadata +339 -0
metadata ADDED
@@ -0,0 +1,339 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rails_pulse
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Rails Pulse
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 2025-08-12 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rails
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 7.1.0
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: 9.0.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: 7.1.0
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: 9.0.0
32
+ - !ruby/object:Gem::Dependency
33
+ name: css-zero
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: '1.1'
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 1.1.4
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '1.1'
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: 1.1.4
52
+ - !ruby/object:Gem::Dependency
53
+ name: rails_charts
54
+ requirement: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - "~>"
57
+ - !ruby/object:Gem::Version
58
+ version: '0.0'
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 0.0.6
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.0'
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: 0.0.6
72
+ - !ruby/object:Gem::Dependency
73
+ name: turbo-rails
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: 2.0.11
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: 2.0.11
86
+ - !ruby/object:Gem::Dependency
87
+ name: request_store
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '1.5'
93
+ type: :runtime
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '1.5'
100
+ - !ruby/object:Gem::Dependency
101
+ name: ransack
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - "~>"
105
+ - !ruby/object:Gem::Version
106
+ version: '4.0'
107
+ type: :runtime
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - "~>"
112
+ - !ruby/object:Gem::Version
113
+ version: '4.0'
114
+ - !ruby/object:Gem::Dependency
115
+ name: pagy
116
+ requirement: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: '8'
121
+ - - "<"
122
+ - !ruby/object:Gem::Version
123
+ version: '10'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '8'
131
+ - - "<"
132
+ - !ruby/object:Gem::Version
133
+ version: '10'
134
+ - !ruby/object:Gem::Dependency
135
+ name: groupdate
136
+ requirement: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - "~>"
139
+ - !ruby/object:Gem::Version
140
+ version: '6.0'
141
+ type: :runtime
142
+ prerelease: false
143
+ version_requirements: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: '6.0'
148
+ description: Ruby on Rails performance monitoring tool that provides insights into
149
+ your application's performance, helping you identify bottlenecks and optimize your
150
+ code for better efficiency.
151
+ email:
152
+ - hey@railspulse.com
153
+ executables: []
154
+ extensions: []
155
+ extra_rdoc_files: []
156
+ files:
157
+ - MIT-LICENSE
158
+ - README.md
159
+ - Rakefile
160
+ - app/assets/images/rails_pulse/dashboard.png
161
+ - app/assets/images/rails_pulse/menu.svg
162
+ - app/assets/images/rails_pulse/rails-pulse-logo.png
163
+ - app/assets/images/rails_pulse/request.png
164
+ - app/assets/images/rails_pulse/routes.png
165
+ - app/assets/stylesheets/rails_pulse/application.css
166
+ - app/assets/stylesheets/rails_pulse/components/alert.css
167
+ - app/assets/stylesheets/rails_pulse/components/badge.css
168
+ - app/assets/stylesheets/rails_pulse/components/base.css
169
+ - app/assets/stylesheets/rails_pulse/components/breadcrumb.css
170
+ - app/assets/stylesheets/rails_pulse/components/button.css
171
+ - app/assets/stylesheets/rails_pulse/components/card.css
172
+ - app/assets/stylesheets/rails_pulse/components/chart.css
173
+ - app/assets/stylesheets/rails_pulse/components/csp_safe_positioning.css
174
+ - app/assets/stylesheets/rails_pulse/components/descriptive_list.css
175
+ - app/assets/stylesheets/rails_pulse/components/dialog.css
176
+ - app/assets/stylesheets/rails_pulse/components/flash.css
177
+ - app/assets/stylesheets/rails_pulse/components/input.css
178
+ - app/assets/stylesheets/rails_pulse/components/layouts.css
179
+ - app/assets/stylesheets/rails_pulse/components/menu.css
180
+ - app/assets/stylesheets/rails_pulse/components/popover.css
181
+ - app/assets/stylesheets/rails_pulse/components/prose.css
182
+ - app/assets/stylesheets/rails_pulse/components/row.css
183
+ - app/assets/stylesheets/rails_pulse/components/sidebar_menu.css
184
+ - app/assets/stylesheets/rails_pulse/components/skeleton.css
185
+ - app/assets/stylesheets/rails_pulse/components/table.css
186
+ - app/assets/stylesheets/rails_pulse/components/utilities.css
187
+ - app/controllers/concerns/chart_table_concern.rb
188
+ - app/controllers/concerns/response_range_concern.rb
189
+ - app/controllers/concerns/time_range_concern.rb
190
+ - app/controllers/concerns/zoom_range_concern.rb
191
+ - app/controllers/rails_pulse/application_controller.rb
192
+ - app/controllers/rails_pulse/assets_controller.rb
193
+ - app/controllers/rails_pulse/caches_controller.rb
194
+ - app/controllers/rails_pulse/csp_test_controller.rb
195
+ - app/controllers/rails_pulse/dashboard_controller.rb
196
+ - app/controllers/rails_pulse/operations_controller.rb
197
+ - app/controllers/rails_pulse/queries_controller.rb
198
+ - app/controllers/rails_pulse/requests_controller.rb
199
+ - app/controllers/rails_pulse/routes_controller.rb
200
+ - app/helpers/rails_pulse/application_helper.rb
201
+ - app/helpers/rails_pulse/breadcrumbs_helper.rb
202
+ - app/helpers/rails_pulse/cached_component_helper.rb
203
+ - app/helpers/rails_pulse/chart_formatters.rb
204
+ - app/helpers/rails_pulse/chart_helper.rb
205
+ - app/helpers/rails_pulse/formatting_helper.rb
206
+ - app/helpers/rails_pulse/status_helper.rb
207
+ - app/helpers/rails_pulse/table_helper.rb
208
+ - app/javascript/rails_pulse/application.js
209
+ - app/javascript/rails_pulse/controllers/color_scheme_controller.js
210
+ - app/javascript/rails_pulse/controllers/context_menu_controller.js
211
+ - app/javascript/rails_pulse/controllers/dialog_controller.js
212
+ - app/javascript/rails_pulse/controllers/expandable_row_controller.js
213
+ - app/javascript/rails_pulse/controllers/form_controller.js
214
+ - app/javascript/rails_pulse/controllers/icon_controller.js
215
+ - app/javascript/rails_pulse/controllers/index_controller.js
216
+ - app/javascript/rails_pulse/controllers/menu_controller.js
217
+ - app/javascript/rails_pulse/controllers/pagination_controller.js
218
+ - app/javascript/rails_pulse/controllers/popover_controller.js
219
+ - app/javascript/rails_pulse/controllers/timezone_controller.js
220
+ - app/javascript/rails_pulse/theme.js
221
+ - app/jobs/rails_pulse/application_job.rb
222
+ - app/jobs/rails_pulse/cleanup_job.rb
223
+ - app/mailers/rails_pulse/application_mailer.rb
224
+ - app/models/rails_pulse/application_record.rb
225
+ - app/models/rails_pulse/component_cache_key.rb
226
+ - app/models/rails_pulse/dashboard/charts/average_response_time.rb
227
+ - app/models/rails_pulse/dashboard/charts/p95_response_time.rb
228
+ - app/models/rails_pulse/dashboard/tables/slow_queries.rb
229
+ - app/models/rails_pulse/dashboard/tables/slow_routes.rb
230
+ - app/models/rails_pulse/operation.rb
231
+ - app/models/rails_pulse/queries/cards/average_query_times.rb
232
+ - app/models/rails_pulse/queries/cards/execution_rate.rb
233
+ - app/models/rails_pulse/queries/cards/percentile_query_times.rb
234
+ - app/models/rails_pulse/queries/charts/average_query_times.rb
235
+ - app/models/rails_pulse/query.rb
236
+ - app/models/rails_pulse/request.rb
237
+ - app/models/rails_pulse/requests/charts/average_response_times.rb
238
+ - app/models/rails_pulse/requests/charts/operations_chart.rb
239
+ - app/models/rails_pulse/route.rb
240
+ - app/models/rails_pulse/routes/cards/average_response_times.rb
241
+ - app/models/rails_pulse/routes/cards/error_rate_per_route.rb
242
+ - app/models/rails_pulse/routes/cards/percentile_response_times.rb
243
+ - app/models/rails_pulse/routes/cards/request_count_totals.rb
244
+ - app/models/rails_pulse/routes/charts/average_response_times.rb
245
+ - app/models/rails_pulse/routes/tables/index.rb
246
+ - app/services/rails_pulse/sql_query_normalizer.rb
247
+ - app/views/layouts/rails_pulse/_menu_items.html.erb
248
+ - app/views/layouts/rails_pulse/_sidebar_menu.html.erb
249
+ - app/views/layouts/rails_pulse/application.html.erb
250
+ - app/views/rails_pulse/caches/show.html.erb
251
+ - app/views/rails_pulse/components/_breadcrumbs.html.erb
252
+ - app/views/rails_pulse/components/_code_panel.html.erb
253
+ - app/views/rails_pulse/components/_metric_card.html.erb
254
+ - app/views/rails_pulse/components/_metric_row.html.erb
255
+ - app/views/rails_pulse/components/_operation_details_popover.html.erb
256
+ - app/views/rails_pulse/components/_panel.html.erb
257
+ - app/views/rails_pulse/components/_sparkline_stats.html.erb
258
+ - app/views/rails_pulse/components/_table.html.erb
259
+ - app/views/rails_pulse/components/_table_head.html.erb
260
+ - app/views/rails_pulse/components/_table_pagination.html.erb
261
+ - app/views/rails_pulse/components/_time_period.html.erb
262
+ - app/views/rails_pulse/csp_test/show.html.erb
263
+ - app/views/rails_pulse/dashboard/charts/_bar_chart.html.erb
264
+ - app/views/rails_pulse/dashboard/index.html.erb
265
+ - app/views/rails_pulse/dashboard/tables/_routes_table.html.erb
266
+ - app/views/rails_pulse/dashboard/tables/_standard_table.html.erb
267
+ - app/views/rails_pulse/operations/_operation_analysis_application.html.erb
268
+ - app/views/rails_pulse/operations/_operation_analysis_database.html.erb
269
+ - app/views/rails_pulse/operations/_operation_analysis_generic.html.erb
270
+ - app/views/rails_pulse/operations/_operation_analysis_other.html.erb
271
+ - app/views/rails_pulse/operations/_operation_analysis_view.html.erb
272
+ - app/views/rails_pulse/operations/show.html.erb
273
+ - app/views/rails_pulse/queries/_show_table.html.erb
274
+ - app/views/rails_pulse/queries/_table.html.erb
275
+ - app/views/rails_pulse/queries/index.html.erb
276
+ - app/views/rails_pulse/queries/show.html.erb
277
+ - app/views/rails_pulse/requests/_operations.html.erb
278
+ - app/views/rails_pulse/requests/_table.html.erb
279
+ - app/views/rails_pulse/requests/index.html.erb
280
+ - app/views/rails_pulse/requests/show.html.erb
281
+ - app/views/rails_pulse/routes/_table.html.erb
282
+ - app/views/rails_pulse/routes/index.html.erb
283
+ - app/views/rails_pulse/routes/show.html.erb
284
+ - app/views/rails_pulse/skeletons/_chart.html.erb
285
+ - app/views/rails_pulse/skeletons/_metric_card.html.erb
286
+ - app/views/rails_pulse/skeletons/_panel.html.erb
287
+ - app/views/rails_pulse/skeletons/_table.html.erb
288
+ - config/importmap.rb
289
+ - config/initializers/rails_charts_csp_patch.rb
290
+ - config/initializers/rails_pulse.rb
291
+ - config/routes.rb
292
+ - db/migrate/20250227235904_create_routes.rb
293
+ - db/migrate/20250227235915_create_requests.rb
294
+ - db/migrate/20250228000000_create_queries.rb
295
+ - db/migrate/20250228000056_create_operations.rb
296
+ - lib/generators/rails_pulse/install_generator.rb
297
+ - lib/generators/rails_pulse/templates/rails_pulse.rb
298
+ - lib/rails_pulse.rb
299
+ - lib/rails_pulse/cleanup_service.rb
300
+ - lib/rails_pulse/configuration.rb
301
+ - lib/rails_pulse/engine.rb
302
+ - lib/rails_pulse/middleware/asset_server.rb
303
+ - lib/rails_pulse/middleware/request_collector.rb
304
+ - lib/rails_pulse/migration.rb
305
+ - lib/rails_pulse/subscribers/operation_subscriber.rb
306
+ - lib/rails_pulse/version.rb
307
+ - lib/tasks/rails_pulse_tasks.rake
308
+ - public/rails-pulse-assets/csp-test.js
309
+ - public/rails-pulse-assets/rails-pulse-icons.js
310
+ - public/rails-pulse-assets/rails-pulse-icons.js.map
311
+ - public/rails-pulse-assets/rails-pulse.css
312
+ - public/rails-pulse-assets/rails-pulse.css.map
313
+ - public/rails-pulse-assets/rails-pulse.js
314
+ - public/rails-pulse-assets/rails-pulse.js.map
315
+ homepage: https://www.railspulse.com
316
+ licenses:
317
+ - MIT
318
+ metadata:
319
+ allowed_push_host: https://rubygems.org
320
+ homepage_uri: https://www.railspulse.com
321
+ source_code_uri: https://github.com/scottharvey/rails_pulse
322
+ rdoc_options: []
323
+ require_paths:
324
+ - lib
325
+ required_ruby_version: !ruby/object:Gem::Requirement
326
+ requirements:
327
+ - - ">="
328
+ - !ruby/object:Gem::Version
329
+ version: 3.0.0
330
+ required_rubygems_version: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - ">="
333
+ - !ruby/object:Gem::Version
334
+ version: '0'
335
+ requirements: []
336
+ rubygems_version: 3.6.2
337
+ specification_version: 4
338
+ summary: Ruby on Rails performance monitoring tool.
339
+ test_files: []