summaryrefslogtreecommitdiff
path: root/lib/gitlab/prometheus/queries/environment_query.rb
blob: 1d17d3cfd56c676d2505219c6f7fc9e39ad61304 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
module Gitlab
  module Prometheus
    module Queries
      class EnvironmentQuery < BaseQuery
        def query(environment_id)
          ::Environment.find_by(id: environment_id).try do |environment|
            environment_slug = environment.slug
            timeframe_start = 8.hours.ago.to_f
            timeframe_end = Time.now.to_f

            memory_query = raw_memory_usage_query(environment_slug)
            cpu_query = raw_cpu_usage_query(environment_slug)

            {
              memory_values: client_query_range(memory_query, start: timeframe_start, stop: timeframe_end),
              memory_current: client_query(memory_query, time: timeframe_end),
              cpu_values: client_query_range(cpu_query, start: timeframe_start, stop: timeframe_end),
              cpu_current: client_query(cpu_query, time: timeframe_end)
            }
          end
        end
      end
    end
  end
end