Sha256: 239bcd8503bbc88ad666e9edb4ca568a4678c8dc48ed33159fc8166fcc081b50

Contents?: true

Size: 708 Bytes

Versions: 5

Compression:

Stored size: 708 Bytes

Contents

module Timescaledb
  class Stats
    class JobStats
      # @param [Timescaledb:Connection] connection The PG connection.
      def initialize(connection = Timescaledb.connection)
        @connection = connection
      end

      delegate :query_first, to: :@connection

      # @return [Hash] The job_stats stats
      def to_h
        query_first(job_stats_query).to_h.transform_values(&:to_i)
      end

      private

      def job_stats_query
        <<-SQL
          SELECT SUM(total_successes)::INT AS success,
                 SUM(total_runs)::INT AS runs,
                 SUM(total_failures)::INT AS failures
          FROM timescaledb_information.job_stats
        SQL
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
timescaledb-0.3.2 lib/timescaledb/stats/job_stats.rb
timescaledb-0.3.1 lib/timescaledb/stats/job_stats.rb
timescaledb-0.3.0 lib/timescaledb/stats/job_stats.rb
timescaledb-0.2.9 lib/timescaledb/stats/job_stats.rb
timescaledb-0.2.8 lib/timescaledb/stats/job_stats.rb