]> arthur.barton.de Git - netdata.git/blobdiff - src/rrd.c
Add missing comma to demosites.html
[netdata.git] / src / rrd.c
index 658ad46bae226e8d60eb206ab8f5ad16c58ef80a..a17704394165246919c0c7b4783198a5b7487256 100644 (file)
--- a/src/rrd.c
+++ b/src/rrd.c
@@ -302,9 +302,9 @@ int rrd_memory_mode_id(const char *name)
 
 int rrddim_algorithm_id(const char *name)
 {
-    if(strcmp(name, RRDDIM_INCREMENTAL_NAME) == 0)          return RRDDIM_INCREMENTAL;
-    if(strcmp(name, RRDDIM_ABSOLUTE_NAME) == 0)             return RRDDIM_ABSOLUTE;
-    if(strcmp(name, RRDDIM_PCENT_OVER_ROW_TOTAL_NAME) == 0)         return RRDDIM_PCENT_OVER_ROW_TOTAL;
+    if(strcmp(name, RRDDIM_INCREMENTAL_NAME) == 0)              return RRDDIM_INCREMENTAL;
+    if(strcmp(name, RRDDIM_ABSOLUTE_NAME) == 0)                 return RRDDIM_ABSOLUTE;
+    if(strcmp(name, RRDDIM_PCENT_OVER_ROW_TOTAL_NAME) == 0)     return RRDDIM_PCENT_OVER_ROW_TOTAL;
     if(strcmp(name, RRDDIM_PCENT_OVER_DIFF_TOTAL_NAME) == 0)    return RRDDIM_PCENT_OVER_DIFF_TOTAL;
     return RRDDIM_ABSOLUTE;
 }
@@ -392,19 +392,11 @@ char *rrdset_cache_dir(const char *id)
 {
     char *ret = NULL;
 
-    static char *cache_dir = NULL;
-    if(!cache_dir) {
-        cache_dir = config_get("global", "cache directory", CACHE_DIR);
-        int r = mkdir(cache_dir, 0755);
-        if(r != 0 && errno != EEXIST)
-            error("Cannot create directory '%s'", cache_dir);
-    }
-
     char b[FILENAME_MAX + 1];
     char n[FILENAME_MAX + 1];
     rrdset_strncpyz_name(b, id, FILENAME_MAX);
 
-    snprintfz(n, FILENAME_MAX, "%s/%s", cache_dir, b);
+    snprintfz(n, FILENAME_MAX, "%s/%s", netdata_configured_cache_dir, b);
     ret = config_get(id, "cache directory", n);
 
     if(rrd_memory_mode == RRD_MEMORY_MODE_MAP || rrd_memory_mode == RRD_MEMORY_MODE_SAVE) {
@@ -485,7 +477,7 @@ RRDSET *rrdset_create(const char *type, const char *id, const char *name, const
 
     RRDSET *st = rrdset_find(fullid);
     if(st) {
-        error("Cannot create rrd stats for '%s', it already exists.", fullid);
+        debug(D_RRD_CALLS, "RRDSET '%s', already exists.", fullid);
         return st;
     }
 
@@ -692,11 +684,6 @@ RRDDIM *rrddim_add(RRDSET *st, const char *id, const char *name, long multiplier
             error("File %s does not have the same divisor. Clearing it.", fullfilename);
             memset(rd, 0, size);
         }
-        else if(rd->algorithm != algorithm) {
-            errno = 0;
-            error("File %s does not have the same algorithm. Clearing it.", fullfilename);
-            memset(rd, 0, size);
-        }
         else if(rd->update_every != st->update_every) {
             errno = 0;
             error("File %s does not have the same refresh frequency. Clearing it.", fullfilename);
@@ -714,6 +701,9 @@ RRDDIM *rrddim_add(RRDSET *st, const char *id, const char *name, long multiplier
             // rd = NULL;
             memset(rd, 0, size);
         }
+
+        if(rd->algorithm && rd->algorithm != algorithm)
+            error("File %s does not have the expected algorithm (expected %d '%s', found %d '%s'). Previous values may be wrong.", fullfilename, algorithm, rrddim_algorithm_name(algorithm), rd->algorithm, rrddim_algorithm_name(rd->algorithm));
     }
 
     if(rd) {