DescriptionCast: Limit number of events/packets in EncodingEventSubscriber protos.
There is now a limit on number of events per proto (AggregatedFrameEvent
and BasePacketEvent). There is also a limit on number of packets per
frame (i.e. number of BasePacketEvent in AggregatedPacketEvent). If
either limit is exceeded, a new proto will be created for that frame.
The underlying implementation of EncodingEventSubscriber is also
changed. When the internal map reaches a certain size, its old entries
will be transferred to a vector for storage. This is done to keep the
map small and lookup fast.
A proto will also be
transferred to storage if adding an event to it would result in
exceeding the limit stated above. The scheme is not perfect, but such
situation rarely happens in practice.
Also changed deserialization to be able to merge protos of the same
frame.
This is done to keep protos size in check. Also, LogSerializer will now
fail DCHECK if the protos exceed the maximum size 2^16 - 1. (Because
we encode size as 16 bits).
BUG=
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=266289
Patch Set 1 #Patch Set 2 : #
Total comments: 9
Patch Set 3 : Use extra proto #Patch Set 4 : #Patch Set 5 : #
Total comments: 2
Patch Set 6 : addressed comment #Patch Set 7 : rebase #Patch Set 8 : fix merge #
Messages
Total messages: 15 (0 generated)
|