1 /* 2 * Copyright (c) 2024 Mustafa Abdullah Kus, Sparse Technology 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef ZEPHYR_INCLUDE_PROMETHEUS_LABEL_H_ 8 #define ZEPHYR_INCLUDE_PROMETHEUS_LABEL_H_ 9 10 /** 11 * @file 12 * 13 * @brief Prometheus label interface. 14 * 15 * @addtogroup prometheus 16 * @{ 17 */ 18 19 #if defined(CONFIG_PROMETHEUS) 20 /** Maximum number of labels per metric */ 21 #define MAX_PROMETHEUS_LABELS_PER_METRIC CONFIG_PROMETHEUS_LABEL_MAX_COUNT 22 #else 23 #define MAX_PROMETHEUS_LABELS_PER_METRIC 1 24 #endif /* CONFIG_PROMETHEUS */ 25 26 /** 27 * @brief Prometheus label definition. 28 * 29 * This structure defines a Prometheus label. 30 */ 31 struct prometheus_label { 32 /** Prometheus metric label key */ 33 const char *key; 34 /** Prometheus metric label value */ 35 const char *value; 36 }; 37 38 /** 39 * @} 40 */ 41 42 #endif /* ZEPHYR_INCLUDE_PROMETHEUS_LABEL_H_ */ 43