Class: Gitlab::Database::Sos::DbLoopStatsActivity

Inherits:
BaseDbStatsHandler show all
Defined in:
lib/gitlab/database/sos/db_loop_stats_activity.rb

Constant Summary collapse

QUERIES =
{
  pg_stat_user_tables: <<~SQL,

  pg_stat_user_indexes: <<~SQL,

  pg_statio_user_tables: <<~SQL,

  pg_statio_user_indexes: <<~SQL,

  table_relation_size: <<~SQL.squish,

  pg_lock_stat_activity: <<~SQL.squish
    SELECT
      now() AS timestamp,
      a.pid,
      a.usename,
      a.application_name,
      a.client_addr,
      a.backend_start,
      a.query_start,
      a.state,
      a.wait_event_type,
      a.wait_event,
      a.query,
      l.locktype,
      l.mode,
      l.granted,
      l.relation::regclass AS locked_relation
    FROM
      pg_stat_activity a
    LEFT JOIN
      pg_locks l ON l.pid = a.pid
    WHERE
      a.state != 'idle'
    ORDER BY
      a.query_start DESC;
  SQL
}.freeze

Instance Attribute Summary

Attributes inherited from BaseDbStatsHandler

#connection, #name, #output

Instance Method Summary collapse

Methods inherited from BaseDbStatsHandler

#execute_query, #initialize, #write_to_csv

Constructor Details

This class inherits a constructor from Gitlab::Database::Sos::BaseDbStatsHandler

Instance Method Details

#runObject



73
74
75
76
77
78
# File 'lib/gitlab/database/sos/db_loop_stats_activity.rb', line 73

def run
  QUERIES.each do |query_name, query|
    result = execute_query(query)
    write_to_csv(query_name, result, include_timestamp: true)
  end
end