gitlab-org--gitlab-foss/lib/gitlab/prometheus/query_variables.rb

31 lines
974 B
Ruby

# frozen_string_literal: true
module Gitlab
module Prometheus
module QueryVariables
# start_time and end_time should be Time objects.
def self.call(environment, start_time: nil, end_time: nil)
{
__range: range(start_time, end_time),
ci_environment_slug: environment.slug,
kube_namespace: environment.deployment_namespace || '',
environment_filter: %{container_name!="POD",environment="#{environment.slug}"},
ci_project_name: environment.project.name,
ci_project_namespace: environment.project.namespace.name,
ci_project_path: environment.project.full_path,
ci_environment_name: environment.name
}
end
private
def self.range(start_time, end_time)
if start_time && end_time
range_seconds = (end_time - start_time).to_i
"#{range_seconds}s"
end
end
private_class_method :range
end
end
end