Skip to contentSkip to conversation

Accounting packet lost and discarded events at runtime

GIT PULL Mathieu Desnoyers 1 participant 1 message Aug 2, 2015 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw
Quoted 16 lines · ----- On Aug 1, 2015, at 11:41 PM, Julien Desfossez [email protected]…

This patchset is composed of commits in lttng-tools, lttng-ust and lttng-modules, it allows the sessiond, to report to the user the discarded events (when a channel is in discard mode) or the lost packets (when a channel is in overwrite mode).

Please pull from:
https://github.com/jdesfossez/lttng-tools-dev/tree/seqnum
a312e89 Store the instance id and packet_seq_num in indexes e40456e kernctl commands to extract the stream instance id 53d9b1d Account the lost packets in snapshot mode 17d0d29 Display discarded and lost events at destroy and stop 291246b Extract the lost packets and discarded events counters 0965b2f Metadata for instance_id and packet_seq_num a0badfd Reference pointers from ust_app_chan to parent structs 082f79d Explicitly stop the session on lttng destroy

Quoted 3 lines

https://github.com/jdesfossez/lttng-modules-dev/tree/seqnum
fa326dd Add stream instance id to the packet header cf556ea Add a packet sequence number

Just merged those two commits into lttng-modules master. They don't have locked-step requirements with tools.

Quoted 5 lines

https://github.com/jdesfossez/lttng-ust-dev/tree/seqnum
66eb100 Export the stream instance ID 72d75d7 Generate and export the sequence number 885e9ba Add stream instance id to the packet header

Reviewed those commits. At this point, after taking care of the last comments, each should have my acked-by. However, those need to wait until Jeremie can review the tools changes, because those need to be done in locked-step.

Are there any changes required in Babeltrace associated with the new packet context fields ?

Thanks,

Mathieu

Quoted 40 lines

Since we are in the last sprint of the 2.7 release, I will try to keep these branches up-to-date by rebasing regularly until the maintainers have some time to review and merge into master, so the commit IDs might change, but the commit messages won't. I can resubmit as emails instead of a pull request if it is easier for the review.

Change from v2:
- actually pushed the updates intended for v1 in UST and tools...
- fixed the comments from Mathieu on the v2

Change from v1:
- the packet sequence number is not dependant on the subbuf_size and now always a uint64_t, so it got rid of the need of the packet_seq_num_padding field

Original cover letter:
The reporting is detailled on a per-channel basis in the "lttng list" command (and associated API calls) at runtime. On lttng stop/destroy, a warning is now displayed to the user if events/packets were discarded/lost during the session.

The information about the packet lost is extracted from a packet sequence number now written in each CTF packet and CTF index, allowing the relayd and the viewers to know when parsing the trace/index that entire packets were lost between two data packets.

Finally, a stream_instance_id is now written in each packet, this feature allows a viewer to link multiple tracefiles belonging to the same channel and stream. This is particularly useful when dealing with tracefile rotation because the viewers will now be able to compute the accurate number of discarded events.

Julien

_______________________________________________
lttng-dev mailing list
[email protected]
http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

Signature · 3 lines
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com