summaryrefslogtreecommitdiffstats
path: root/src/fluent-bit/plugins/in_podman_metrics/podman_metrics_config.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/fluent-bit/plugins/in_podman_metrics/podman_metrics_config.h')
-rw-r--r--src/fluent-bit/plugins/in_podman_metrics/podman_metrics_config.h211
1 files changed, 0 insertions, 211 deletions
diff --git a/src/fluent-bit/plugins/in_podman_metrics/podman_metrics_config.h b/src/fluent-bit/plugins/in_podman_metrics/podman_metrics_config.h
deleted file mode 100644
index fabdc0a8d..000000000
--- a/src/fluent-bit/plugins/in_podman_metrics/podman_metrics_config.h
+++ /dev/null
@@ -1,211 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-
-/* Fluent Bit
- * ==========
- * Copyright (C) 2015-2022 The Fluent Bit Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef FLB_IN_PODMAN_METRICS_CONFIG_H
-#define FLB_IN_PODMAN_METRICS_CONFIG_H
-
-#include <fluent-bit/flb_info.h>
-#include <fluent-bit/flb_config.h>
-#include <fluent-bit/flb_input.h>
-#include <fluent-bit/flb_utils.h>
-#include <fluent-bit/flb_jsmn.h>
-
-#include <monkey/mk_core/mk_list.h>
-
-/* Buffers and sizes */
-#define JSON_TOKENS 2048
-#define CONTAINER_NAME_SIZE 50
-#define CONTAINER_ID_SIZE 80
-#define CONTAINER_METADATA_SIZE 512
-#define IMAGE_NAME_SIZE 512
-#define PID_BUFFER_SIZE 21
-#define SYSFS_FILE_PATH_SIZE 512
-#define PROCFS_FILE_PATH_SIZE 512
-#define CGROUP_PATH_SIZE 25
-
-/* Special paths for sysfs traversal */
-#define CURRENT_DIR "."
-#define PREV_DIR ".."
-
-/* Ignored network interfaces */
-#define VETH_INTERFACE "veth"
-
-#define JSON_FIELD_NAMES "names"
-#define JSON_FIELD_ID "id"
-#define JSON_FIELD_METADATA "metadata"
-
-#define JSON_SUBFIELD_IMAGE_NAME "image-name\\\":\\\""
-#define JSON_SUBFIELD_SIZE_IMAGE_NAME 15
-
-#define CGROUP_V2_PATH "cgroup.controllers"
-#define CGROUP_V1 1
-#define CGROUP_V2 2
-
-/* Paths in /proc subsystem */
-#define PROCFS_PATH "/proc"
-#define PROC_NET_SUFFIX "net/dev"
-
-/* Paths in /sys subsystem */
-#define SYSFS_PATH "/sys/fs/cgroup"
-#define V1_SYSFS_MEMORY "memory"
-#define V1_SYSFS_CPU "cpuacct"
-#define V1_SYSFS_SYSTEMD "systemd"
-#define SYSFS_CONTAINER_PREFIX "libpod"
-#define SYSFS_LIBPOD_PARENT "libpod_parent"
-#define SYSFS_CONMON "conmon"
-
-/* Default podman config file path, in case of not provided one */
-#define PODMAN_CONFIG_DEFAULT_PATH "/var/lib/containers/storage/overlay-containers/containers.json"
-
-/* Markers of network values in /proc/<pid>/dev/net */
-#define DEV_NET_IGNORE_LINES 2
-#define DEV_NET_NAME 0
-#define DEV_NET_RX_BYTES 1
-#define DEV_NET_RX_ERRORS 3
-#define DEV_NET_TX_BYTES 9
-#define DEV_NET_TX_ERRORS 11
-
-/* Key names in .stat files */
-#define STAT_KEY_RSS "rss"
-#define STAT_KEY_CPU "usage_usec"
-#define STAT_KEY_CPU_USER "user_usec"
-
-/* Static lists of fields in counters or gauges */
-#define FIELDS_METRIC (char*[3]){"id", "name", "image" }
-#define FIELDS_METRIC_WITH_IFACE (char*[4]){"id", "name", "image", "interface" }
-
-/* Files from sysfs containing required data (cgroups v1) */
-#define V1_SYSFS_FILE_MEMORY "memory.usage_in_bytes"
-#define V1_SYSFS_FILE_MAX_MEMORY "memory.max_usage_in_bytes"
-#define V1_SYSFS_FILE_MEMORY_STAT "memory.stat"
-#define V1_SYSFS_FILE_MEMORY_LIMIT "memory.limit_in_bytes"
-#define V1_SYSFS_FILE_CPU_USER "cpuacct.usage_user"
-#define V1_SYSFS_FILE_CPU "cpuacct.usage"
-#define V1_SYSFS_FILE_PIDS "cgroup.procs"
-
-/* Files from sysfs containing required data (cgroups v2) */
-#define V2_SYSFS_FILE_MEMORY "memory.current"
-#define V2_SYSFS_FILE_MAX_MEMORY "memory.peak"
-#define V2_SYSFS_FILE_MEMORY_STAT "memory.stat"
-#define V2_SYSFS_FILE_MEMORY_LIMIT "memory.max"
-#define V2_SYSFS_FILE_CPU_STAT "cpu.stat"
-#define V2_SYSFS_FILE_PIDS "cgroup.procs"
-#define V2_SYSFS_FILE_PIDS_ALT "containers/cgroup.procs"
-
-/* Values used to construct counters/gauges names and descriptions */
-#define COUNTER_PREFIX "container"
-
-#define COUNTER_MEMORY_PREFIX "memory"
-#define COUNTER_SPEC_MEMORY_PREFIX "spec_memory"
-#define COUNTER_MEMORY_USAGE "usage_bytes"
-#define DESCRIPTION_MEMORY_USAGE "Container memory usage in bytes"
-#define COUNTER_MEMORY_MAX_USAGE "max_usage_bytes"
-#define DESCRIPTION_MEMORY_MAX_USAGE "Container max memory usage in bytes"
-#define COUNTER_MEMORY_LIMIT "limit_bytes"
-#define DESCRIPTION_MEMORY_LIMIT "Container memory limit in bytes"
-#define GAUGE_MEMORY_RSS "rss"
-#define DESCRIPTION_MEMORY_RSS "Container RSS in bytes"
-
-#define COUNTER_CPU_PREFIX "cpu"
-#define COUNTER_CPU_USER "user_seconds_total"
-#define DESCRIPTION_CPU_USER "Container cpu usage in seconds in user mode"
-#define COUNTER_CPU "usage_seconds_total"
-#define DESCRIPTION_CPU "Container cpu usage in seconds"
-
-#define COUNTER_NETWORK_PREFIX "network"
-#define COUNTER_RX_BYTES "receive_bytes_total"
-#define DESCRIPTION_RX_BYTES "Network received bytes"
-#define COUNTER_RX_ERRORS "receive_errors_total"
-#define DESCRIPTION_RX_ERRORS "Network received errors"
-#define COUNTER_TX_BYTES "transmit_bytes_total"
-#define DESCRIPTION_TX_BYTES "Network transmited bytes"
-#define COUNTER_TX_ERRORS "transmit_errors_total"
-#define DESCRIPTION_TX_ERRORS "Network transmitedd errors"
-
-
-struct net_iface {
- flb_sds_t name;
- uint64_t rx_bytes;
- uint64_t rx_errors;
- uint64_t tx_bytes;
- uint64_t tx_errors;
- struct mk_list _head;
-};
-
-struct container {
- flb_sds_t name;
- flb_sds_t id;
- flb_sds_t image_name;
- struct mk_list _head;
-
- uint64_t memory_usage;
- uint64_t memory_max_usage;
- uint64_t memory_limit;
- uint64_t cpu;
- uint64_t cpu_user;
- uint64_t rss;
-
- struct mk_list net_data;
-};
-
-struct sysfs_path {
- flb_sds_t path;
- struct mk_list _head;
-};
-
-struct flb_in_metrics {
- /* config map options */
- int scrape_on_start;
- int scrape_interval;
- flb_sds_t podman_config_path;
-
- /* container list */
- struct mk_list items;
-
- /* sysfs path list */
- struct mk_list sysfs_items;
-
- /* counters */
- struct cmt_counter *c_memory_usage;
- struct cmt_counter *c_memory_max_usage;
- struct cmt_counter *c_memory_limit;
- struct cmt_gauge *g_rss;
- struct cmt_counter *c_cpu_user;
- struct cmt_counter *c_cpu;
- struct cmt_counter *rx_bytes;
- struct cmt_counter *rx_errors;
- struct cmt_counter *tx_bytes;
- struct cmt_counter *tx_errors;
-
- /* cgroup version used by host */
- int cgroup_version;
-
- /* podman config file path */
- flb_sds_t config;
-
- /* proc and sys paths, overwriting mostly for testing */
- flb_sds_t sysfs_path;
- flb_sds_t procfs_path;
-
- /* internal */
- int coll_fd_runtime;
- struct flb_input_instance *ins;
-};
-
-#endif