----- Original Message -----
> [...]
>
> When I fetch it there are no values for _any_ of the "host" metrics from
> this call:
> fetch_metrics("host", HOST_NMETRICS, pmids, &result);
>
> and this would appear to be because this archive fetch is being done in
> interp mode and the current time is 11:03:19.770 which is _before_ the
> data record that contains the host metrics at 11:03:19.827.
>
> So interp.c is doing the "right" thing.
>
> I have no clue why it is working for you!!
So, there's logic in there which I think is making this work by good
fortune for me - there's a flag (RRBOOT) which is set for the first
sample, and this is meant to issue that fetch, but not report on it,
then continue issuing fetches (which are reported on, rate converted
and so on).
My working theory is that because this flag is being passed around and
then bitwise tested via a char parameter (with int promotion) its not
deterministic as to whether its set or not ... perhaps different gcc,
platforms, ... something causes that initial RRBOOT check to be skipped
on your machine, and we get into a non-initialised-but-reporting state.
Anyway, yep, definitely the mode is wrong as INTERP for these, I will
get that sorted out and switch to int parameters over char for flags.
> But if I change the fetch mode to be PM_MODE_FORW from the start of the
> archive for just this case (as I think it should be) ...
> 1. the FPE error goes away (hertz is 100 as expected)
> [...]
Thanks Ken - I'll push this and a couple of other QA updates shortly,
lemme know if its still failing for you after that.
cheers.
--
Nathan
|