Track historical space stats in PgHero to determine PostgreSQL growth (#8906)
This commit is contained in:
		
							parent
							
								
									d4b7d75968
								
							
						
					
					
						commit
						7f9dd92a27
					
				
							
								
								
									
										11
									
								
								app/workers/scheduler/pghero_scheduler.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								app/workers/scheduler/pghero_scheduler.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | # frozen_string_literal: true | ||||||
|  | 
 | ||||||
|  | class Scheduler::PgheroScheduler | ||||||
|  |   include Sidekiq::Worker | ||||||
|  | 
 | ||||||
|  |   sidekiq_options unique: :until_executed, retry: 0 | ||||||
|  | 
 | ||||||
|  |   def perform | ||||||
|  |     PgHero.capture_space_stats | ||||||
|  |   end | ||||||
|  | end | ||||||
| @ -33,3 +33,6 @@ | |||||||
|   backup_cleanup_scheduler: |   backup_cleanup_scheduler: | ||||||
|     cron: '<%= Random.rand(0..59) %> <%= Random.rand(3..5) %> * * *' |     cron: '<%= Random.rand(0..59) %> <%= Random.rand(3..5) %> * * *' | ||||||
|     class: Scheduler::BackupCleanupScheduler |     class: Scheduler::BackupCleanupScheduler | ||||||
|  |   pghero_scheduler: | ||||||
|  |     cron: '0 0 * * *' | ||||||
|  |     class: Scheduler::PgheroScheduler | ||||||
|  | |||||||
							
								
								
									
										13
									
								
								db/migrate/20181007025445_create_pghero_space_stats.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								db/migrate/20181007025445_create_pghero_space_stats.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | |||||||
|  | class CreatePgheroSpaceStats < ActiveRecord::Migration[5.2] | ||||||
|  |   def change | ||||||
|  |     create_table :pghero_space_stats do |t| | ||||||
|  |       t.text :database | ||||||
|  |       t.text :schema | ||||||
|  |       t.text :relation | ||||||
|  |       t.integer :size, limit: 8 | ||||||
|  |       t.timestamp :captured_at | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|  |     add_index :pghero_space_stats, [:database, :captured_at] | ||||||
|  |   end | ||||||
|  | end | ||||||
							
								
								
									
										11
									
								
								db/schema.rb
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								db/schema.rb
									
									
									
									
									
								
							| @ -10,7 +10,7 @@ | |||||||
| # | # | ||||||
| # It's strongly recommended that you check this file into your version control system. | # It's strongly recommended that you check this file into your version control system. | ||||||
| 
 | 
 | ||||||
| ActiveRecord::Schema.define(version: 2018_09_29_222014) do | ActiveRecord::Schema.define(version: 2018_10_07_025445) do | ||||||
| 
 | 
 | ||||||
|   # These are extensions that must be enabled in order to support this database |   # These are extensions that must be enabled in order to support this database | ||||||
|   enable_extension "plpgsql" |   enable_extension "plpgsql" | ||||||
| @ -372,6 +372,15 @@ ActiveRecord::Schema.define(version: 2018_09_29_222014) do | |||||||
|     t.index ["uid"], name: "index_oauth_applications_on_uid", unique: true |     t.index ["uid"], name: "index_oauth_applications_on_uid", unique: true | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|  |   create_table "pghero_space_stats", force: :cascade do |t| | ||||||
|  |     t.text "database" | ||||||
|  |     t.text "schema" | ||||||
|  |     t.text "relation" | ||||||
|  |     t.bigint "size" | ||||||
|  |     t.datetime "captured_at" | ||||||
|  |     t.index ["database", "captured_at"], name: "index_pghero_space_stats_on_database_and_captured_at" | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|   create_table "preview_cards", force: :cascade do |t| |   create_table "preview_cards", force: :cascade do |t| | ||||||
|     t.string "url", default: "", null: false |     t.string "url", default: "", null: false | ||||||
|     t.string "title", default: "", null: false |     t.string "title", default: "", null: false | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user