On Tue, Jan 30, 2018 at 8:02 AM, Andrew Otto <otto(a)wikimedia.org> wrote:
Using the
GeoIP cookie will require reconfiguring the EventLogging
varnishkafka instance [0]
I’m not familiar with this cookie, but, if we used it, I thought it would
be sent back to by the client in the event. E.g. event.country =
response.headers.country; EventLogging.emit(event);
That way, there’s no additional special logic needed on the server side to
geocode or populate the country in the event.
Hah! I didn't think about accessing the GeoIP cookie on the client. As you
say, the implementation is quite easy.
My only concern with this approach is the duplication of the value between
the cookie, which is sent in every HTTP request to the /beacon/event
endpoint, and the event itself. This duplication seems reasonable when
balanced against capturing either: the client IP and then doing similar
geocoding further along in the pipeline; or the cookie for all requests to
that endpoint and then discarding them further along in the pipeline. It
also reflects a seemingly core principle of the EventLogging system: that
it doesn't capture potentiallly PII by default.
-Sam