uint32_t buf_size; /* Size of this subbuffer */
uint32_t events_lost; /*
* Events lost in this subbuffer since
- * last subbuffer switch.
+ * the beginning of the trace.
+ * (may overflow)
*/
uint32_t subbuf_corrupt; /*
* Corrupted (lost) subbuffers since
* the begginig of the trace.
+ * (may overflow)
*/
char header_end[0]; /* End of header */
};
tf->event.block = block_num;
tf->event.offset = 0;
- if (tf->events_lost != header->events_lost) {
- g_warning("%d events lost in tracefile %s",
+ if (header->events_lost) {
+ g_warning("%d events lost so far in tracefile %s at block %u",
tf->events_lost - header->events_lost,
- g_quark_to_string(tf->long_name));
+ g_quark_to_string(tf->long_name),
+ block_num);
tf->events_lost = header->events_lost;
}
- if (tf->subbuf_corrupt != header->subbuf_corrupt) {
- g_warning("%d subbuffer(s) corrupted in tracefile %s",
+ if (header->subbuf_corrupt) {
+ g_warning("%d subbuffer(s) corrupted so far in tracefile %s at block %u",
tf->subbuf_corrupt - header->subbuf_corrupt,
- g_quark_to_string(tf->long_name));
+ g_quark_to_string(tf->long_name),
+ block_num);
tf->subbuf_corrupt = header->subbuf_corrupt;
}