Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/elasticsearch/logs/pods.rb')
-rw-r--r--lib/gitlab/elasticsearch/logs/pods.rb70
1 files changed, 0 insertions, 70 deletions
diff --git a/lib/gitlab/elasticsearch/logs/pods.rb b/lib/gitlab/elasticsearch/logs/pods.rb
deleted file mode 100644
index 66499ae956a..00000000000
--- a/lib/gitlab/elasticsearch/logs/pods.rb
+++ /dev/null
@@ -1,70 +0,0 @@
-# frozen_string_literal: true
-
-module Gitlab
- module Elasticsearch
- module Logs
- class Pods
- # How many items to fetch in a query
- PODS_LIMIT = 500
- CONTAINERS_LIMIT = 500
-
- def initialize(client)
- @client = client
- end
-
- def pods(namespace)
- body = build_body(namespace)
- response = @client.search body: body
-
- format_response(response)
- end
-
- private
-
- def build_body(namespace)
- {
- aggs: {
- pods: {
- aggs: {
- containers: {
- terms: {
- field: 'kubernetes.container.name',
- size: ::Gitlab::Elasticsearch::Logs::Pods::CONTAINERS_LIMIT
- }
- }
- },
- terms: {
- field: 'kubernetes.pod.name',
- size: ::Gitlab::Elasticsearch::Logs::Pods::PODS_LIMIT
- }
- }
- },
- query: {
- bool: {
- must: {
- match_phrase: {
- "kubernetes.namespace": namespace
- }
- }
- }
- },
- # don't populate hits, only the aggregation is needed
- size: 0
- }
- end
-
- def format_response(response)
- results = response.dig("aggregations", "pods", "buckets") || []
- results.map do |bucket|
- {
- name: bucket["key"],
- container_names: (bucket.dig("containers", "buckets") || []).map do |cbucket|
- cbucket["key"]
- end
- }
- end
- end
- end
- end
- end
-end