What statistics/analytics service to use?
Hey!
Im building a crypto wallet.
We wish to track how many transactions get sent over time,
how much volume happens over time,
how much our userbase grows over time etc.
Is there a service i can use for this?
Or is my best bet to just collect the data in a prisma db, and make my own admin dashboard with all the data.
12 Replies
Try axiom. You can send your logs there, and track anything you want - https://axiom.co/?ref=theo
Afaik axiom is more for getting logs, and collecting analytics
Not getting statistics and putting it onto nice charts
PostHog - The open source Product OS
PostHog is the all-in-one platform for building better products - with product analytics, feature flags, session recordings, a/b testing, heatmaps, and more.
DataUnlocker
DataUnlocker • Ad blockers are friends
DataUnlocker is a fully-managed SaaS preventing ad blockers from blocking analytics solutions like Google Analytics or Google Tag Manager on your websites.
Don’t roll your own analytics solution, it’ll be worse than any of the premade ones and a waste of time
Other options are:
https://plausible.io/
https://analytics.google.com/analytics/web/provision/#/provision
https://amplitude.com/
Plausible Analytics
Plausible Analytics
Plausible is a lightweight and open-source Google Analytics alternative. Your website data is 100% yours and the privacy of your visitors is respected.
Amplitude
Amplitude | Product Analytics & Event Tracking Platform
Build better products by turning your user data into meaningful insights, using Amplitude's digital analytics platform and experimentation tools.
Personally I like Posthog the most since it gives me a lot of control as a developer but the only other one of those I’ve tried is Google analytics
You could use a free New Relic account. - https://newrelic.com/
It comes with dashboards that use query language so you can build very flexible views for your app needs
https://newrelic.com/platform/dashboards
Here is how you can instrument your app (next.js):
https://newrelic.com/blog/how-to-relic/nextjs-monitor-application-data
Sample repo:
https://github.com/newrelic-experimental/newrelic-nextjs-integration
And finally (if you really need it although the instrumentation is exactly the same for both repos) - t3 trpc example repo:
https://github.com/matewilk/t3-trpc-newrelic
Disclamers:
- you'll need to add some additional code to get the data you need with custom attribute methods, something like this - https://newrelic.com/platform/dashboards
- I'm the author of the blog post I linked above
- New Relic is free up to 100GB a month
- I'm not trying to sell you anything, I'm using it myself using a free New Relic account and it works pretty well for me.
New Relic
Monitor, Debug and Improve Your Entire Stack
Sign up for free, no credit card required. Get Instant Observability with New Relic One and Quickstarts that make it easy to instrument in a few clicks.
New Relic
Dashboards for New Relic
Visualize, synthesize, and correlate all of your data with New Relic dashboards.
New Relic
How to Monitor a Next.js Application
Set up application performance monitoring for both backend and frontend observability for your Next.js app.
GitHub
GitHub - newrelic-experimental/newrelic-nextjs-integration: NewReli...
NewRelic Browser and APM agent NextJs integration (front and back-end respectively) - GitHub - newrelic-experimental/newrelic-nextjs-integration: NewRelic Browser and APM agent NextJs integration (...
GitHub
GitHub - matewilk/t3-trpc-newrelic: New Relic T3 (Next.js) Demo
New Relic T3 (Next.js) Demo. Contribute to matewilk/t3-trpc-newrelic development by creating an account on GitHub.
You could also ignore the above, and use OpenTelemetry to collect your app data
https://opentelemetry.io/docs/instrumentation/js/
You can then send the data to a collector - it can be almost anything really that accepts open telemetry standard, can be Grafana (https://grafana.com/tags/opentelemetry/) New Relic or any other observability platform where you can chart and query your data.
OpenTelemetry
JavaScript
A language-specific implementation of OpenTelemetry in JavaScript (for Node.js & the browser).
Grafana Labs
Opentelemetry blog posts | Grafana Labs
Any reason not to just check the database for data like this?
Core business metrics you want to be as accurate as possible so the db is fine
At previous places we’ve even taken data out of the db to put into more complicated analytics tools
Otel is aimed at fixing issues, not designed for giving you business data
You’d have to build all the charts, time series stuff, user correlation, etc yourself though
You have to build those in stuff like new relic anyways, also those should be pretty simple sql queries
The main issue with the db approach is that you risk production in order to get analytics
For the previous project i worked on, we had "export to excel buttons"
It would require a programmer to write logic for every kind of data.
This was horrible. And when new data was needed, it took at least 1 business day for it to be ready, since a programmer needed to make it first
Using a service, allows the data scientists of the project, to make the charts they want and need, without talking to the programmers
The programmers just need to funnel the raw data in to the service
.
.
.
Thanks for all the suggestions everyone!
Theo suggested mixpanel to me too, so that is the one im testing so far.
It looks good so far, and i think it might be the one i end up with