projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #446 from bugsduggan/feature/tail_plugin_interval_per_file
[collectd.git]
/
src
/
utils_tail_match.c
diff --git
a/src/utils_tail_match.c
b/src/utils_tail_match.c
index
22c7917
..
13b518b
100644
(file)
--- a/
src/utils_tail_match.c
+++ b/
src/utils_tail_match.c
@@
-37,6
+37,7
@@
struct cu_tail_match_simple_s
char plugin_instance[DATA_MAX_NAME_LEN];
char type[DATA_MAX_NAME_LEN];
char type_instance[DATA_MAX_NAME_LEN];
char plugin_instance[DATA_MAX_NAME_LEN];
char type[DATA_MAX_NAME_LEN];
char type_instance[DATA_MAX_NAME_LEN];
+ cdtime_t interval;
};
typedef struct cu_tail_match_simple_s cu_tail_match_simple_t;
};
typedef struct cu_tail_match_simple_s cu_tail_match_simple_t;
@@
-54,6
+55,7
@@
struct cu_tail_match_s
int flags;
cu_tail_t *tail;
int flags;
cu_tail_t *tail;
+ cdtime_t interval;
cu_tail_match_match_t *matches;
size_t matches_num;
};
cu_tail_match_match_t *matches;
size_t matches_num;
};
@@
-88,6
+90,7
@@
static int simple_submit_match (cu_match_t *match, void *user_data)
sstrncpy (vl.type_instance, data->type_instance,
sizeof (vl.type_instance));
sstrncpy (vl.type_instance, data->type_instance,
sizeof (vl.type_instance));
+ vl.interval = data->interval;
plugin_dispatch_values (&vl);
if (match_value->ds_type & UTILS_MATCH_DS_TYPE_GAUGE)
plugin_dispatch_values (&vl);
if (match_value->ds_type & UTILS_MATCH_DS_TYPE_GAUGE)
@@
-180,6
+183,7
@@
int tail_match_add_match (cu_tail_match_t *obj, cu_match_t *match,
obj->matches = temp;
obj->matches_num++;
obj->matches = temp;
obj->matches_num++;
+ DEBUG ("tail_match_add_match interval %lf", CDTIME_T_TO_DOUBLE(((cu_tail_match_simple_t *)user_data)->interval));
temp = obj->matches + (obj->matches_num - 1);
temp->match = match;
temp = obj->matches + (obj->matches_num - 1);
temp->match = match;
@@
-191,15
+195,15
@@
int tail_match_add_match (cu_tail_match_t *obj, cu_match_t *match,
} /* int tail_match_add_match */
int tail_match_add_match_simple (cu_tail_match_t *obj,
} /* int tail_match_add_match */
int tail_match_add_match_simple (cu_tail_match_t *obj,
- const char *regex, int ds_type,
+ const char *regex,
const char *excluderegex,
int ds_type,
const char *plugin, const char *plugin_instance,
const char *plugin, const char *plugin_instance,
- const char *type, const char *type_instance)
+ const char *type, const char *type_instance
, const cdtime_t interval
)
{
cu_match_t *match;
cu_tail_match_simple_t *user_data;
int status;
{
cu_match_t *match;
cu_tail_match_simple_t *user_data;
int status;
- match = match_create_simple (regex, ds_type);
+ match = match_create_simple (regex,
excluderegex,
ds_type);
if (match == NULL)
return (-1);
if (match == NULL)
return (-1);
@@
-221,6
+225,8
@@
int tail_match_add_match_simple (cu_tail_match_t *obj,
sstrncpy (user_data->type_instance, type_instance,
sizeof (user_data->type_instance));
sstrncpy (user_data->type_instance, type_instance,
sizeof (user_data->type_instance));
+ user_data->interval = interval;
+
status = tail_match_add_match (obj, match, simple_submit_match,
user_data, free);
status = tail_match_add_match (obj, match, simple_submit_match,
user_data, free);