Skip to content

Commit f01aeea

Browse files
committed
move core iteration point in the middle of the second, to give some tollerance to plugins
1 parent 6750007 commit f01aeea

3 files changed

Lines changed: 17 additions & 6 deletions

File tree

python.d/python_modules/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ def run(self):
148148
self.debug("starting data collection - update frequency:", str(step), ", retries allowed:", str(self.retries))
149149
while True: # run forever, unless something is wrong
150150
now = float(time.time())
151-
next = self.timetable['next'] = now - (now % step) + step + (step / 3) # add 1/3 into the iteration to sync with netdata
151+
next = self.timetable['next'] = now - (now % step) + step
152152

153153
# it is important to do this in a loop
154154
# sleep() is interruptable

src/log.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,11 @@ int error_log_limit(int reset) {
125125

126126
// prevent all logs if the errors per period is 0
127127
if(error_log_errors_per_period == 0)
128+
#ifdef NETDATA_INTERNAL_CHECKS
129+
return 0;
130+
#else
128131
return 1;
132+
#endif
129133

130134
time_t now = time(NULL);
131135
if(!start) start = now;
@@ -185,7 +189,11 @@ int error_log_limit(int reset) {
185189
prevented++;
186190

187191
// prevent logging this error
192+
#ifdef NETDATA_INTERNAL_CHECKS
193+
return 0;
194+
#else
188195
return 1;
196+
#endif
189197
}
190198

191199
return 0;

src/rrd.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -527,9 +527,12 @@ RRDSET *rrdset_create(const char *type, const char *id, const char *name, const
527527
}
528528

529529
// make sure the database is aligned
530-
if(st->last_updated.tv_sec % update_every) {
531-
st->last_updated.tv_sec -= st->last_updated.tv_sec % update_every;
532-
st->last_updated.tv_usec = 0;
530+
if(st->last_updated.tv_sec) {
531+
if(st->last_updated.tv_sec % update_every)
532+
st->last_updated.tv_sec -= st->last_updated.tv_sec % update_every;
533+
534+
// aligned in the middle, for tolerance with plugins
535+
st->last_updated.tv_usec = 500000ULL;
533536
}
534537
}
535538

@@ -1103,7 +1106,7 @@ unsigned long long rrdset_done(RRDSET *st)
11031106

11041107
// align it to update_every
11051108
st->last_collected_time.tv_sec -= st->last_collected_time.tv_sec % st->update_every;
1106-
st->last_collected_time.tv_usec = 0;
1109+
st->last_collected_time.tv_usec = 500000ULL;
11071110

11081111
last_collect_ut = st->last_collected_time.tv_sec * 1000000ULL + st->last_collected_time.tv_usec - update_every_ut;
11091112

@@ -1149,7 +1152,7 @@ unsigned long long rrdset_done(RRDSET *st)
11491152

11501153
// align it to update_every
11511154
st->last_collected_time.tv_sec -= st->last_collected_time.tv_sec % st->update_every;
1152-
st->last_collected_time.tv_usec = 0;
1155+
st->last_collected_time.tv_usec = 500000ULL;
11531156

11541157
unsigned long long ut = st->last_collected_time.tv_sec * 1000000ULL + st->last_collected_time.tv_usec - st->usec_since_last_update;
11551158
st->last_updated.tv_sec = (time_t) (ut / 1000000ULL);

0 commit comments

Comments
 (0)