static int rrdfamily_compare(void *a, void *b) {
if(((RRDFAMILY *)a)->hash_family < ((RRDFAMILY *)b)->hash_family) return -1;
else if(((RRDFAMILY *)a)->hash_family > ((RRDFAMILY *)b)->hash_family) return 1;
- else return strsame(((RRDFAMILY *)a)->family, ((RRDFAMILY *)b)->family);
+ else return strcmp(((RRDFAMILY *)a)->family, ((RRDFAMILY *)b)->family);
}
#define rrdfamily_index_add(host, rc) (RRDFAMILY *)avl_insert_lock(&((host)->rrdfamily_root_index), (avl *)(rc))
static int rrdset_compare(void* a, void* b) {
if(((RRDSET *)a)->hash < ((RRDSET *)b)->hash) return -1;
else if(((RRDSET *)a)->hash > ((RRDSET *)b)->hash) return 1;
- else return strsame(((RRDSET *)a)->id, ((RRDSET *)b)->id);
+ else return strcmp(((RRDSET *)a)->id, ((RRDSET *)b)->id);
}
#define rrdset_index_add(host, st) (RRDSET *)avl_insert_lock(&((host)->rrdset_root_index), (avl *)(st))
if(A->hash_name < B->hash_name) return -1;
else if(A->hash_name > B->hash_name) return 1;
- else return strsame(A->name, B->name);
+ else return strcmp(A->name, B->name);
}
RRDSET *rrdset_index_add_name(RRDHOST *host, RRDSET *st) {
result = avl_search_lock(&host->rrdset_root_index_name, (avl *) (&(tmp.avlname)));
if(result) {
RRDSET *st = rrdset_from_avlname(result);
- if(strsame(st->magic, RRDSET_MAGIC))
+ if(strcmp(st->magic, RRDSET_MAGIC))
error("Search for RRDSET %s returned an invalid RRDSET %s (name %s)", name, st->id, st->name);
// fprintf(stderr, "FOUND: %s\n", name);
static int rrddim_compare(void* a, void* b) {
if(((RRDDIM *)a)->hash < ((RRDDIM *)b)->hash) return -1;
else if(((RRDDIM *)a)->hash > ((RRDDIM *)b)->hash) return 1;
- else return strsame(((RRDDIM *)a)->id, ((RRDDIM *)b)->id);
+ else return strcmp(((RRDDIM *)a)->id, ((RRDDIM *)b)->id);
}
#define rrddim_index_add(st, rd) (RRDDIM *)avl_insert_lock(&((st)->dimensions_index), (avl *)(rd))
int rrdset_type_id(const char *name)
{
- if(unlikely(strsame(name, RRDSET_TYPE_AREA_NAME) == 0)) return RRDSET_TYPE_AREA;
- else if(unlikely(strsame(name, RRDSET_TYPE_STACKED_NAME) == 0)) return RRDSET_TYPE_STACKED;
- else if(unlikely(strsame(name, RRDSET_TYPE_LINE_NAME) == 0)) return RRDSET_TYPE_LINE;
+ if(unlikely(strcmp(name, RRDSET_TYPE_AREA_NAME) == 0)) return RRDSET_TYPE_AREA;
+ else if(unlikely(strcmp(name, RRDSET_TYPE_STACKED_NAME) == 0)) return RRDSET_TYPE_STACKED;
+ else if(unlikely(strcmp(name, RRDSET_TYPE_LINE_NAME) == 0)) return RRDSET_TYPE_LINE;
return RRDSET_TYPE_LINE;
}
int rrd_memory_mode_id(const char *name)
{
- if(unlikely(!strsame(name, RRD_MEMORY_MODE_RAM_NAME)))
+ if(unlikely(!strcmp(name, RRD_MEMORY_MODE_RAM_NAME)))
return RRD_MEMORY_MODE_RAM;
- else if(unlikely(!strsame(name, RRD_MEMORY_MODE_MAP_NAME)))
+ else if(unlikely(!strcmp(name, RRD_MEMORY_MODE_MAP_NAME)))
return RRD_MEMORY_MODE_MAP;
return RRD_MEMORY_MODE_SAVE;
int rrddim_algorithm_id(const char *name)
{
- if(strsame(name, RRDDIM_INCREMENTAL_NAME) == 0) return RRDDIM_INCREMENTAL;
- if(strsame(name, RRDDIM_ABSOLUTE_NAME) == 0) return RRDDIM_ABSOLUTE;
- if(strsame(name, RRDDIM_PCENT_OVER_ROW_TOTAL_NAME) == 0) return RRDDIM_PCENT_OVER_ROW_TOTAL;
- if(strsame(name, RRDDIM_PCENT_OVER_DIFF_TOTAL_NAME) == 0) return RRDDIM_PCENT_OVER_DIFF_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;
}
void rrdset_set_name(RRDSET *st, const char *name)
{
- if(unlikely(st->name && !strsame(st->name, name)))
+ if(unlikely(st->name && !strcmp(st->name, name)))
return;
debug(D_RRD_CALLS, "rrdset_set_name() old: %s, new: %s", st->name, name);
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;
}
snprintfz(fullfilename, FILENAME_MAX, "%s/main.db", cache_dir);
if(rrd_memory_mode != RRD_MEMORY_MODE_RAM) st = (RRDSET *)mymmap(fullfilename, size, ((rrd_memory_mode == RRD_MEMORY_MODE_MAP)?MAP_SHARED:MAP_PRIVATE), 0);
if(st) {
- if(strsame(st->magic, RRDSET_MAGIC) != 0) {
+ if(strcmp(st->magic, RRDSET_MAGIC) != 0) {
errno = 0;
info("Initializing file %s.", fullfilename);
memset(st, 0, size);
}
- else if(strsame(st->id, fullid) != 0) {
+ else if(strcmp(st->id, fullid) != 0) {
errno = 0;
error("File %s contents are not for chart %s. Clearing it.", fullfilename, fullid);
// munmap(st, size);
st->isdetail = 0;
st->debug = 0;
- // if(!strsame(st->id, "disk_util.dm-0")) {
+ // if(!strcmp(st->id, "disk_util.dm-0")) {
// st->debug = 1;
// error("enabled debugging for '%s'", st->id);
// }
{
RRDDIM *rd = rrddim_find(st, id);
if(rd) {
- error("Cannot create rrd dimension '%s/%s', it already exists.", st->id, name);
+ debug(D_RRD_CALLS, "Cannot create rrd dimension '%s/%s', it already exists.", st->id, name?name:"<NONAME>");
return rd;
}
struct timeval now;
now_realtime_timeval(&now);
- if(strsame(rd->magic, RRDDIMENSION_MAGIC) != 0) {
+ if(strcmp(rd->magic, RRDDIMENSION_MAGIC) != 0) {
errno = 0;
info("Initializing file %s.", fullfilename);
memset(rd, 0, size);
error("File %s is too old. Clearing it.", fullfilename);
memset(rd, 0, size);
}
- else if(strsame(rd->id, id) != 0) {
+ else if(strcmp(rd->id, id) != 0) {
errno = 0;
error("File %s contents are not for dimension %s. Clearing it.", fullfilename, id);
// munmap(rd, size);
void rrddim_set_name(RRDSET *st, RRDDIM *rd, const char *name)
{
- if(unlikely(rd->name && !strsame(rd->name, name)))
+ if(unlikely(rd->name && !strcmp(rd->name, name)))
return;
debug(D_RRD_CALLS, "rrddim_set_name() from %s.%s to %s.%s", st->name, rd->name, st->name, name);
}
else {
// microseconds has the time since the last collection
+#ifdef NETDATA_INTERNAL_CHECKS
usec_t now_usec = timeval_usec(&now);
usec_t last_usec = timeval_usec(&st->last_collected_time);
+#endif
usec_t since_last_usec = dt_usec(&now, &st->last_collected_time);
// verify the microseconds given is good