]> arthur.barton.de Git - netdata.git/blobdiff - src/plugins_d.h
Merge pull request #1998 from ktsaou/master
[netdata.git] / src / plugins_d.h
index 11e89e0ac3e32cbd18040f8b11d4408a23395313..d34c4030c55902b8814d92828e0be5c9faeb0f7d 100644 (file)
@@ -1,7 +1,3 @@
-#include <sys/types.h>
-#include <unistd.h>
-
-
 #ifndef NETDATA_PLUGINS_D_H
 #define NETDATA_PLUGINS_D_H 1
 
 #define PLUGINSD_LINE_MAX 1024
 
 struct plugind {
-       char id[CONFIG_MAX_NAME+1];                     // config node id
+    char id[CONFIG_MAX_NAME+1];         // config node id
+
+    char filename[FILENAME_MAX+1];      // just the filename
+    char fullfilename[FILENAME_MAX+1];  // with path
+    char cmd[PLUGINSD_CMD_MAX+1];       // the command that it executes
+
+    pid_t pid;
+    pthread_t thread;
 
-       char filename[FILENAME_MAX+1];          // just the filename
-       char fullfilename[FILENAME_MAX+1];      // with path
-       char cmd[PLUGINSD_CMD_MAX+1];           // the command that is executes
+    size_t successful_collections;      // the number of times we have seen
+                                        // values collected from this plugin
 
-       pid_t pid;
-       pthread_t thread;
+    size_t serial_failures;             // the number of times the plugin started
+                                        // without collecting values
 
-       int update_every;
-       int obsolete;
-       int enabled;
+    int update_every;                   // the plugin default data collection frequency
+    volatile int obsolete;              // do not touch this structure after setting this to 1
+    volatile int enabled;               // if this is enabled or not
 
-       time_t started_t;
+    time_t started_t;
 
-       struct plugind *next;
+    struct plugind *next;
 };
 
 extern struct plugind *pluginsd_root;
 
 extern void *pluginsd_main(void *ptr);
+extern size_t pluginsd_process(RRDHOST *host, struct plugind *cd, FILE *fp, int trust_durations);
 
 #endif /* NETDATA_PLUGINS_D_H */