On Wed, Jan 17, 2018 at 10:54 AM, Nuria Ruiz <nuria(a)wikimedia.org> wrote:
Recording "preview_events" is really no
different that recording any other
kind of UI event, difference is going to come from scale if anything, as
they are probably tens of thousands of those per second (I think your team
already estimated volume, if so please send those estimates along)
Conceptually I think a virtual pageview is a different thing from a UI
event (which is how e.g. Google Analytics handles it, there is a method to
send an event for the current page and a different method to send a virtual
pageview for a different page), and the ideal way it is exposed in an
analytics system should be very different. (I would want to see virtual
pageviews together with normal pageviews, with some filtering option. If I
deploy code that shows previews and converts users from making real
pageviews to making virtual pageviews, I want to see how the total
pageviews changed in the normal pageview stats; I don't want to have to
create that chart and export one dataset from pageviews and one dataset
from eventlogging to do that. As a user, I want to see in the fileview API
how many people looked at the photo I uploaded, I don't particularly care
if they used MediaViewer or not. etc.)
So maybe it's worth considering which approach takes us closer to that?
AIUI the beacon puts the record into the webrequest table and from there it
would only take some trivial preprocessing to replace the beacon URL with
the virtual URL and and add the beacon type as a "virtual_type" field or
something, making it very easy to expose it everywhere where views are
tracked, while EventLogging data gets stored in a different, unrelated way.