pg_reports 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 (57) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +22 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +335 -0
  5. data/app/controllers/pg_reports/dashboard_controller.rb +133 -0
  6. data/app/views/layouts/pg_reports/application.html.erb +594 -0
  7. data/app/views/pg_reports/dashboard/index.html.erb +435 -0
  8. data/app/views/pg_reports/dashboard/show.html.erb +481 -0
  9. data/config/routes.rb +13 -0
  10. data/lib/pg_reports/annotation_parser.rb +114 -0
  11. data/lib/pg_reports/configuration.rb +83 -0
  12. data/lib/pg_reports/dashboard/reports_registry.rb +89 -0
  13. data/lib/pg_reports/engine.rb +22 -0
  14. data/lib/pg_reports/error.rb +15 -0
  15. data/lib/pg_reports/executor.rb +51 -0
  16. data/lib/pg_reports/modules/connections.rb +106 -0
  17. data/lib/pg_reports/modules/indexes.rb +111 -0
  18. data/lib/pg_reports/modules/queries.rb +140 -0
  19. data/lib/pg_reports/modules/system.rb +148 -0
  20. data/lib/pg_reports/modules/tables.rb +113 -0
  21. data/lib/pg_reports/report.rb +228 -0
  22. data/lib/pg_reports/sql/connections/active_connections.sql +20 -0
  23. data/lib/pg_reports/sql/connections/blocking_queries.sql +35 -0
  24. data/lib/pg_reports/sql/connections/connection_stats.sql +13 -0
  25. data/lib/pg_reports/sql/connections/idle_connections.sql +19 -0
  26. data/lib/pg_reports/sql/connections/locks.sql +20 -0
  27. data/lib/pg_reports/sql/connections/long_running_queries.sql +21 -0
  28. data/lib/pg_reports/sql/indexes/bloated_indexes.sql +36 -0
  29. data/lib/pg_reports/sql/indexes/duplicate_indexes.sql +38 -0
  30. data/lib/pg_reports/sql/indexes/index_sizes.sql +14 -0
  31. data/lib/pg_reports/sql/indexes/index_usage.sql +19 -0
  32. data/lib/pg_reports/sql/indexes/invalid_indexes.sql +15 -0
  33. data/lib/pg_reports/sql/indexes/missing_indexes.sql +27 -0
  34. data/lib/pg_reports/sql/indexes/unused_indexes.sql +18 -0
  35. data/lib/pg_reports/sql/queries/all_queries.sql +20 -0
  36. data/lib/pg_reports/sql/queries/expensive_queries.sql +22 -0
  37. data/lib/pg_reports/sql/queries/heavy_queries.sql +17 -0
  38. data/lib/pg_reports/sql/queries/low_cache_hit_queries.sql +19 -0
  39. data/lib/pg_reports/sql/queries/missing_index_queries.sql +25 -0
  40. data/lib/pg_reports/sql/queries/slow_queries.sql +17 -0
  41. data/lib/pg_reports/sql/system/activity_overview.sql +29 -0
  42. data/lib/pg_reports/sql/system/cache_stats.sql +19 -0
  43. data/lib/pg_reports/sql/system/database_sizes.sql +10 -0
  44. data/lib/pg_reports/sql/system/extensions.sql +12 -0
  45. data/lib/pg_reports/sql/system/settings.sql +33 -0
  46. data/lib/pg_reports/sql/tables/bloated_tables.sql +23 -0
  47. data/lib/pg_reports/sql/tables/cache_hit_ratios.sql +24 -0
  48. data/lib/pg_reports/sql/tables/recently_modified.sql +20 -0
  49. data/lib/pg_reports/sql/tables/row_counts.sql +18 -0
  50. data/lib/pg_reports/sql/tables/seq_scans.sql +26 -0
  51. data/lib/pg_reports/sql/tables/table_sizes.sql +16 -0
  52. data/lib/pg_reports/sql/tables/vacuum_needed.sql +22 -0
  53. data/lib/pg_reports/sql_loader.rb +35 -0
  54. data/lib/pg_reports/telegram_sender.rb +83 -0
  55. data/lib/pg_reports/version.rb +5 -0
  56. data/lib/pg_reports.rb +114 -0
  57. metadata +184 -0
metadata ADDED
@@ -0,0 +1,184 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pg_reports
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Eldar Avatov
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 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: '5.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '5.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: pg
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '1.0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '1.0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: csv
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: rspec-rails
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '6.0'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '6.0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: standard
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '1.30'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '1.30'
82
+ - !ruby/object:Gem::Dependency
83
+ name: yard
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0.9'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0.9'
96
+ description: A comprehensive PostgreSQL monitoring and analysis library that provides
97
+ insights into query performance, index usage, table statistics, and more. Includes
98
+ a beautiful web dashboard and Telegram notifications.
99
+ email:
100
+ - eldar.avatov@gmail.com
101
+ executables: []
102
+ extensions: []
103
+ extra_rdoc_files: []
104
+ files:
105
+ - CHANGELOG.md
106
+ - LICENSE.txt
107
+ - README.md
108
+ - app/controllers/pg_reports/dashboard_controller.rb
109
+ - app/views/layouts/pg_reports/application.html.erb
110
+ - app/views/pg_reports/dashboard/index.html.erb
111
+ - app/views/pg_reports/dashboard/show.html.erb
112
+ - config/routes.rb
113
+ - lib/pg_reports.rb
114
+ - lib/pg_reports/annotation_parser.rb
115
+ - lib/pg_reports/configuration.rb
116
+ - lib/pg_reports/dashboard/reports_registry.rb
117
+ - lib/pg_reports/engine.rb
118
+ - lib/pg_reports/error.rb
119
+ - lib/pg_reports/executor.rb
120
+ - lib/pg_reports/modules/connections.rb
121
+ - lib/pg_reports/modules/indexes.rb
122
+ - lib/pg_reports/modules/queries.rb
123
+ - lib/pg_reports/modules/system.rb
124
+ - lib/pg_reports/modules/tables.rb
125
+ - lib/pg_reports/report.rb
126
+ - lib/pg_reports/sql/connections/active_connections.sql
127
+ - lib/pg_reports/sql/connections/blocking_queries.sql
128
+ - lib/pg_reports/sql/connections/connection_stats.sql
129
+ - lib/pg_reports/sql/connections/idle_connections.sql
130
+ - lib/pg_reports/sql/connections/locks.sql
131
+ - lib/pg_reports/sql/connections/long_running_queries.sql
132
+ - lib/pg_reports/sql/indexes/bloated_indexes.sql
133
+ - lib/pg_reports/sql/indexes/duplicate_indexes.sql
134
+ - lib/pg_reports/sql/indexes/index_sizes.sql
135
+ - lib/pg_reports/sql/indexes/index_usage.sql
136
+ - lib/pg_reports/sql/indexes/invalid_indexes.sql
137
+ - lib/pg_reports/sql/indexes/missing_indexes.sql
138
+ - lib/pg_reports/sql/indexes/unused_indexes.sql
139
+ - lib/pg_reports/sql/queries/all_queries.sql
140
+ - lib/pg_reports/sql/queries/expensive_queries.sql
141
+ - lib/pg_reports/sql/queries/heavy_queries.sql
142
+ - lib/pg_reports/sql/queries/low_cache_hit_queries.sql
143
+ - lib/pg_reports/sql/queries/missing_index_queries.sql
144
+ - lib/pg_reports/sql/queries/slow_queries.sql
145
+ - lib/pg_reports/sql/system/activity_overview.sql
146
+ - lib/pg_reports/sql/system/cache_stats.sql
147
+ - lib/pg_reports/sql/system/database_sizes.sql
148
+ - lib/pg_reports/sql/system/extensions.sql
149
+ - lib/pg_reports/sql/system/settings.sql
150
+ - lib/pg_reports/sql/tables/bloated_tables.sql
151
+ - lib/pg_reports/sql/tables/cache_hit_ratios.sql
152
+ - lib/pg_reports/sql/tables/recently_modified.sql
153
+ - lib/pg_reports/sql/tables/row_counts.sql
154
+ - lib/pg_reports/sql/tables/seq_scans.sql
155
+ - lib/pg_reports/sql/tables/table_sizes.sql
156
+ - lib/pg_reports/sql/tables/vacuum_needed.sql
157
+ - lib/pg_reports/sql_loader.rb
158
+ - lib/pg_reports/telegram_sender.rb
159
+ - lib/pg_reports/version.rb
160
+ homepage: https://github.com/deadalice/pg_reports
161
+ licenses:
162
+ - MIT
163
+ metadata:
164
+ homepage_uri: https://github.com/deadalice/pg_reports
165
+ source_code_uri: https://github.com/deadalice/pg_reports
166
+ changelog_uri: https://github.com/deadalice/pg_reports/blob/main/CHANGELOG.md
167
+ rdoc_options: []
168
+ require_paths:
169
+ - lib
170
+ required_ruby_version: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: 2.7.0
175
+ required_rubygems_version: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ requirements: []
181
+ rubygems_version: 4.0.4
182
+ specification_version: 4
183
+ summary: PostgreSQL analysis and reporting tool with Telegram integration
184
+ test_files: []