Right the UserEventService[Impl] takes events, and then does nothing if it determines that no recording should occur. This is convenient for callers, but slightly less than optional from a performance perspective. Sometimes gathering the data for constructing an event may be non-trivial, and we don't want to waste any resources if it's not going to have any real effect.
We should expose a way to ask the UserEventService interface if a given event case is going to be recorded or not, and then let integration sites only proceed if it is going to be recorded. They will only need to bother with this extra step if they know they're doing something non-trival computationally.
Comment 1 by s...@chromium.org
, Jan 3 2018