On Tue, Jan 30, 2018 at 8:02 AM, Andrew Otto <otto@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