Web UI to view pg_stat_statements
Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
spec
views
.gitignore
.rspec
Gemfile
Gemfile.lock
README.md
Rakefile
config.ru
config.yml.example
pg_web_stats.gemspec
setup.rb

README.md

pg_web_stats

Sexy sinatra app for pg_stat_statements. Code Climate

Sponsored by Evil Martians

Features

  • Sorting by any column from pg_stat_statements
  • Filtering by database or user
  • Highlighting important queries && hidding not important queries

Installation

  1. Prepare your PG setup: enable the pg_stat_statements extension and execute CREATE EXTENSION pg_stat_statements inside the database you want to inspect. Hint: there is an awesome article about pg_stat_statements in russian.
  2. Clone the repo
  3. Fill config.yml.example with your credentians and save it as config.yml
  4. Start the app: rake server (or run rake console to have command line)
  5. ???
  6. PROFIT

Mount inside a rails app

Add this line to your application's Gemfile:

gem 'pg_web_stats', require: 'pg_web_stats_app'

Or if gem is not released yet

gem 'pg_web_stats', git: 'https://github.com/shhavel/pg_web_stats', require: 'pg_web_stats_app'

And then execute:

$ bundle

Create file config/initializers/pg_web_stats.rb

# Configure database connection
config_hash = YAML.load_file(Rails.root.join('config', 'database.yml'))[Rails.env]
PG_WEB_STATS = PgWebStats.new(config_hash)

# Restrict access to pg_web_stats with Basic Authentication
# (or use any other authentication system).
PgWebStatsApp.use(Rack::Auth::Basic) do |user, password|
  password == "secret"
end

Add to routes.rb

mount PgWebStatsApp, at: '/pg_stats'

Restart rails app and visit http://localhost:3000/pg_stats


Made by [Kir Shatrov](https://github.com/kirs), sponsored by [Evil Martians](http://evl.ms).

Thanks to Ivan Evtuhovich for advice about making this app.