[HN Gopher] Show HN: EventNative - An open-source, user event co... ___________________________________________________________________ Show HN: EventNative - An open-source, user event collection service Author : pwys Score : 185 points Date : 2020-08-11 14:03 UTC (8 hours ago) (HTM) web link (github.com) (TXT) w3m dump (github.com) | buf wrote: | Can this replace Segment if I just want events to go to a | postgres DB? | pwys wrote: | Yes! We rolled out Postgres as a destination yesterday. And | unlike Segment we're free and hosted on your infrastructure. | buf wrote: | This is going to save me $1,000s per month. Thank you so | much. Is there a good way to give back? | pwys wrote: | Spread the word and send us a pull request sometime :) | greg wrote: | This is really cool. My first impression is an open-source | replacement for Segment. | pwys wrote: | Thanks greg! Kind of like open-source Segment, but we focus on | data warehouses as the destination. Were are you looking to | send your data? | oceanswave wrote: | Is the intent for EventNative to be used as a way to capture | events in an eventsourcing pattern, where custom events may be | generated by microservices or other applications? A follow up if | that is the case, how are schema migrations handled over time | vklmn wrote: | Not really :( We design EventNative to collect data solely for | analytics purposes. However, you still can send events from | microservices as well. We're building server-2-server HTTP API | and will hope that people contribute clients for popular | languages | binarymax wrote: | Can you please clarify, is this for bringing lots of different | analytics sources to the same location, or is it for capturing | events itself? I'm having a hard time finding whether I could use | EventNative by itself to capture, for example, how many visitors | went to a certain page. Would I need to route google analytics | through EventNative to get that type of data? | pwys wrote: | We actually support both! You can route everything that is | captured by GA or Segment (analytics.js) through your | EventNative backend in intercept mode. Or you can configure | EventNative to capture all these events in direct tracking | mode. | binarymax wrote: | Great! Looks really interesting, thanks for sharing | nikhilalmeida wrote: | any comparisons with RudderStack? | vklmn wrote: | We anticipated that question :) | | RudderStack is focusing on replacing Segment.com completely, we | focus only on a part of the problem: getting events to DWH. | Also, we don't have a UI. | | By narrowing down the focus, we think we can do a better job | sending data to DWHs. One example: we automatically create SQL | schema based on JSON structure. You can send | | { "any": { "custom": "a", "field": "b" } } | | To EventNative and we'll create any_custom and any_field | columns in DWH table on a fly. | ing33k wrote: | Congratulations on Shipping ! | | This is an interesting problem to solve . | | ClickHouse support will make it way more interesting. | | Are you planning to leverage Materialized views ? | vklmn wrote: | We actually working on ClickHouse integration right now, it | will be shipped next week! | | Re: materialized views - since not all DWH support them, we're | not sure how can we leverage them. However, what do you have in | mind? Maybe we're wrong! | rp36 wrote: | How will the visualization work? Any open source tools/queries | available to view the daily metrics? | pwys wrote: | Great question! So far our users query their metrics directly. | For visualizations you should be able to plug in the opensource | tool Metabase. | lolptdr wrote: | Can you remake or slow down that gif on your readme? It goes way | too fast. | pwys wrote: | Just did :) | kirankn wrote: | Would this be a replacement for something like Divolte? If yes, | any specific reason why one should choose EventNative over | Divolte, except for the "made in go" argument? | vklmn wrote: | Took a look at their github. Great product! However, it | requires Hadoop or Kafka cluster setup (=devops resourced). We | designed kSense to be a simple as possible and have as few | dependencies as possible. | | Besides, if you want to data to land at BQ/CH or RedShift with | Devlot, you'll need add a 3rd-party Kafka->DWH layer. I'm | pretty sure there'are many oss options. Not sure if they can | automatically generare SQL schema from JSON object like | EventNative | codezero wrote: | Can't tell from the docs, but how do you deal with "stubbed" | events that are triggered before segment/GA loads? Are you able | to do anything to make sure your snippet loads fully before other | third party scripts that might "do work"? | | I guess put more simply, do you need to do work when implementing | to make sure you don't miss any of the existing events being | captured, or does this rely on the same developer implementing | all three? | vklmn wrote: | We actually ask to insert a snippet after GA / Segment | initialization code. | | The algo is a follows: a) check if ga / analytics object is | present b) add interceptor c) if the code was fully loaded (not | a stup), send "fake" pageview event (which has been already | sent), intercept it and send to EN backend only (not the | original backend). | | Also, we received a pull request that won't require EN code be | inserted after GA/Segment. It tries to get window.ga/analytics | object. If it doesn't exist, try the same thing in 1 second via | setTimeout. We most likely with merge it to master soon | pachico wrote: | What I gets me wondering is that by having your own hosted | solution you bypass adblockers but this implementation | requires GA to be loaded, which is what adblockers block in | the first place. Am I missing anything? | pwys wrote: | While we do have a hook to intercept GA data, it is | actually optional! You can use the self hosted JS tracker | that we include with EventNative and serve it from your | domain. | pachico wrote: | Ok, if this project gets traction it might replace my own | analytics solution based on JavaScript, Go and ClickHouse. I'll | stay tuned about it. Are the maintainers in the room? I'd like to | exchange some ideas. | vklmn wrote: | Maintainers are here! (it's me, @pwys and @xtreding) Actually, | we have a Slack: https://eventnative.slack.com/ You're welcome | to join! | pachico wrote: | Thanks a lot! I'll join asap! | dang wrote: | If you're posting a Show HN here, please exchange ideas here. | That's the whole point of Show HNs as well as the purpose of | this site, and starving this thread of discussion is not | going to help you. | pachico wrote: | I do understand the purpose or your post and I celebrate | it, however this medium might lack some of the features | Slack has which makes it quite easier to follow up ideas. | pachico wrote: | Can you send me an invitation to pachicodev at gmail dot com? | pwys wrote: | done! | pwys wrote: | Looks like that is the sign in link, here's the one to join! | https://join.slack.com/t/eventnative/shared_invite/zt- | gincgy... | DoctorNick wrote: | Just curious, do you also detect if content in the web page is | changed or if content is blocked by adblock? | sercand wrote: | We have in-house almost the same thing which is also written in | Go. It uses gRPC and mobile clients are automatically generated | by protobuf. | | This kind of internal service is required if you are operating a | business for children and families. | vklmn wrote: | That's the exact reason we decided to build EventNative and | opensource it. We noticed that a lot of teams are building | similar platforms in house ___________________________________________________________________ (page generated 2020-08-11 23:01 UTC)