X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_match.h;h=24517b3ad42ef4d558acda75d76bc971933162e0;hb=1122c8fd30065b5990a5b798b7bfd8891736def9;hp=a32a6fe065656f7b04fe2007f92bcbe5e53f9371;hpb=9d15d1058b93acb7be041934acfe76548539041a;p=collectd.git diff --git a/src/utils_match.h b/src/utils_match.h index a32a6fe0..24517b3a 100644 --- a/src/utils_match.h +++ b/src/utils_match.h @@ -1,6 +1,6 @@ /** * collectd - src/utils_match.h - * Copyright (C) 2008 Florian octo Forster + * Copyright (C) 2008-2014 Florian octo Forster * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -28,8 +28,10 @@ /* * Defines */ -#define UTILS_MATCH_DS_TYPE_GAUGE 0x10 -#define UTILS_MATCH_DS_TYPE_COUNTER 0x20 +#define UTILS_MATCH_DS_TYPE_GAUGE 0x10 +#define UTILS_MATCH_DS_TYPE_COUNTER 0x20 +#define UTILS_MATCH_DS_TYPE_DERIVE 0x40 +#define UTILS_MATCH_DS_TYPE_ABSOLUTE 0x80 #define UTILS_MATCH_CF_GAUGE_AVERAGE 0x01 #define UTILS_MATCH_CF_GAUGE_MIN 0x02 @@ -40,6 +42,14 @@ #define UTILS_MATCH_CF_COUNTER_ADD 0x02 #define UTILS_MATCH_CF_COUNTER_INC 0x04 +#define UTILS_MATCH_CF_DERIVE_SET 0x01 +#define UTILS_MATCH_CF_DERIVE_ADD 0x02 +#define UTILS_MATCH_CF_DERIVE_INC 0x04 + +#define UTILS_MATCH_CF_ABSOLUTE_SET 0x01 +#define UTILS_MATCH_CF_ABSOLUTE_ADD 0x02 +#define UTILS_MATCH_CF_ABSOLUTE_INC 0x04 + /* * Data types */ @@ -72,8 +82,10 @@ typedef struct cu_match_value_s cu_match_value_t; * then only the submatch (the part in the parenthesis) will be passed to the * callback. If there is no submatch, then the entire string is passed to the * callback. + * The optional `excluderegex' allows to exclude the line from the match, if + * the excluderegex matches. */ -cu_match_t *match_create_callback (const char *regex, +cu_match_t *match_create_callback (const char *regex, const char *excluderegex, int (*callback) (const char *str, char * const *matches, size_t matches_num, void *user_data), void *user_data); @@ -102,7 +114,19 @@ cu_match_t *match_create_callback (const char *regex, * The function will not search for anything in the string and increase * value.counter by one. */ -cu_match_t *match_create_simple (const char *regex, int ds_type); +cu_match_t *match_create_simple (const char *regex, + const char *excluderegex, int ds_type); + +/* + * NAME + * match_value_reset + * + * DESCRIPTION + * Resets the internal state, if applicable. This function must be called + * after each iteration for "simple" matches, usually after dispatching the + * metrics. + */ +void match_value_reset (cu_match_value_t *mv); /* * NAME