Use a better MMV generation number - using all bits available.
The generation numbers used in the MMV file format are 64 bits
wide, however we were only using the output from time(2) - ie.
seconds since the epoch - as the number stored therein. This
meant that situations where multiple changes were made within
a second might not be visible via the PMDA.
We now use all 64 bits available, by shifting the seconds part
of the time into the high 32 bits, and the subsecond part into
the low 32 bits (we're using gettimeofday with its microsecond
resolution in the C API - other MMV file generator will need
to do something similar).
mmvdump (diagnostic tool) no longer assumes it knows what the
internal form of the generation number is, and dumps it out as
a plain ol' 64 bit unsigned integer.
Use a better MMV generation number - using all bits available.
The generation numbers used in the MMV file format are 64 bits
wide, however we were only using the output from time(2) - ie.
seconds since the epoch - as the number stored therein. This
meant that situations where multiple changes were made within
a second might not be visible via the PMDA.
We now use all 64 bits available, by shifting the seconds part
of the time into the high 32 bits, and the subsecond part into
the low 32 bits (we're using gettimeofday with its microsecond
resolution in the C API - other MMV file generator will need
to do something similar).
mmvdump (diagnostic tool) no longer assumes it knows what the
internal form of the generation number is, and dumps it out as
a plain ol' 64 bit unsigned integer.