#include "prometheus_test.h"
ZBX_PTR_VECTOR_IMPL(prometheus_condition_test, zbx_prometheus_condition_test_t *)
static zbx_prometheus_condition_test_t *prometheus_condition_dup(zbx_prometheus_condition_t *condition)
zbx_prometheus_condition_test_t *test_condition;
test_condition = (zbx_prometheus_condition_test_t *)zbx_malloc(NULL, sizeof(zbx_prometheus_condition_test_t));
memset(test_condition, 0, sizeof(zbx_prometheus_condition_test_t));
if (NULL != condition->key)
test_condition->key = zbx_strdup(NULL, condition->key);
if (NULL != condition->pattern)
test_condition->pattern = zbx_strdup(NULL, condition->pattern);
case ZBX_PROMETHEUS_CONDITION_OP_EQUAL:
test_condition->op = zbx_strdup(NULL, "=");
case ZBX_PROMETHEUS_CONDITION_OP_REGEX:
test_condition->op = zbx_strdup(NULL, "=~");
case ZBX_PROMETHEUS_CONDITION_OP_EQUAL_VALUE:
test_condition->op = zbx_strdup(NULL, "==");
case ZBX_PROMETHEUS_CONDITION_OP_NOT_EQUAL:
test_condition->op = zbx_strdup(NULL, "!=");
case ZBX_PROMETHEUS_CONDITION_OP_REGEX_NOT_MATCHED:
test_condition->op = zbx_strdup(NULL, "!~");
int zbx_prometheus_filter_parse(const char *data, zbx_prometheus_condition_test_t **metric,
zbx_vector_prometheus_condition_test_t *labels, zbx_prometheus_condition_test_t **value, char **error)
zbx_prometheus_filter_t filter;
if (FAIL == prometheus_filter_init(&filter, data, error))