Code Monkey home page Code Monkey logo

buda-events-collector's People

Contributors

davidgasquez avatar djfarrelly avatar michael-erasmus avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

buda-events-collector's Issues

Changing the RPC to collect events

Heya @michael-erasmus! Forking this question from #20.

Right now we have a RPC for each event type, and we're duplicating a bunch of code (send call and responses). I was thinking to move more towards a CollectEvent generic RPC. We can define the events we track in the gRPC definitions inside an ENUM or similar.

Not an easy change and probably it doesn't make sense to invest time on it right now but I think is a great one to discuss at this stage.

Automate the deployment

We should be able to deploy the server using @bufferbot servicedeploy buda-events-collector

Send Kinesis records in batches

Hey @davidgasquez!

One thought that came to mind today, right now in the server we're doing a single put_record per rpc call. This makes sense since even though with gPRC you could streaming rpc, a simple request/response flow fits in with how we would collect events

Reading through some of the Kinesis docs I saw this though and that made me pause a bit:

Each call to PutRecord operates on a single record. Prefer the PutRecords operation described in Adding Multiple Records with PutRecords unless your application specifically needs to always send single records per request, or some other reason PutRecords can't be used.

I was curious if you've given it some thought if we could optimize things a bit more by batching up events and using put_records instead? A naive implementation that comes to mind is perhaps keeping an in-memory list or stack of messages that we can periodically flush to kinesis.

I don't think this is super important right away and we can probably just use put_record for the time being, but it could be great to keep this issue around as a reminder!

Visits where visitor and user ID are not present

Hey there! While exploring the RAW visits data on BigQuery I spotted that some visits we were receiving have empty visitor_id and user_id.

Checking Redshift, seems this is happening too there. For example, there are 1,893,159 visits between 2019-03-24 and 2019-03-26 that have null or empty visitor_id and user_id.

The same query against BigQuery data returns 2,053,177 records.

These visits are going the following URIs:
2019-03-27_10:45:53_1659x656

Most of them seems to be back-end related but there are a few like https://buffer.com/guides/chrome/installed that got a few visits without visitor_id and user_id.

cc @mallen5311 @djfarrelly @michael-erasmus

Stop sending data to Kinesis

With the Redshift deprecation taking place, we can stop sending some BUDA metrics to AWS.

These are the current producers to stop:

  • funnel_events
  • funnels
  • subscription_created
  • subscription_period_updated
  • subscription_cancelled
  • visits
  • signups
  • signins
  • actions_taken

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.