Add buffer_size and async to client arguments
Related to #4 (closed) and broadly to gitlab-org/gitlab#436447 (closed)
The regular Emitter
used in this SDK is blocking on requests and this can cause
performance issues for multiple events sent during a Rails request.
This adds buffer_size
and async
as client arguments that sets the
emitter's buffer size and subsititutes AsyncEmitter
for the regular
Emitter
, respectively.
Setting the buffer_size to anything past 1 also changes the HTTP method
to POST
, as the Snowplow Ruby Tracker docs imply that GET
doesn't
support batching events at all.