Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/prismelabs/analytics

:gem: An Open Source, privacy-focused and progressive analytics service.
https://github.com/prismelabs/analytics

analytics chart clickhouse go google-analytics grafana marketing metrics prisme-analytics privacy progressive statistics web-analytics website-analytics website-stats

Last synced: 2 months ago
JSON representation

:gem: An Open Source, privacy-focused and progressive analytics service.

Awesome Lists containing this project

README

        








PRs welcome!


Docker Image Size (tag)




Go version

Prisme Analytics Twitter

# :gem: Prisme Analytics

[An Open Source, privacy-focused and progressive analytics service.](https://www.prismeanalytics.com/docs/next/)

[Documentation](https://www.prismeanalytics.com/docs)
|
[Live demo](https://app.prismeanalytics.com/grafana)

![grafana dashboard](.github/images/web-analytics-dashboard.jpg)

## Why Prisme ?

Here's what makes Prisme a great alternative to other analytics:
* **Easy setup**: Gain valuable insights into your website or web application
after a 3-minutes setup.
* **Simple analytics**: Easy to use dashboards with filters and definition for
each metrics.
* **Analytics that matter**: Custom events and dashboards gives you the
flexibility to measure what matters most, providing personalized insights to
inform your business decisions.
* **Privacy-focused**: Worry-free GDPR, PPCA, PECR and Shrems II compliance with
cookie-less analytics that collect only anonymized data.
* **Lightweight**: Prisme tracking script is around 1kB (~45x smaller than
Google Analytics) and single pixel image returned for javascript less tracking
is 35 bytes.
* **Humans only**: Bots, scrapers and spam traffic are automatically filtered.
* **Campaigns & newsletters**: Use UTM to collect data on how much traffic your
campaigns generate.
* **No vendor lock-in**: all features are available in Open Source versions, and
Prisme is designed to be easy to self-host.
* **SPA support**: Prisme is built with modern web frameworks in mind and it
works automatically with any pushState based router on the frontend.
* **[Grafana](https://github.com/grafana/grafana) based**: Prisme integrates
with [Grafana](https://github.com/grafana/grafana) that provides:
* User managements
* Team managements
* Permissions managements
* Multi organizations support
* Custom dashboards

## Getting started

Simply add tracking script to your website:

```html

```

That's it! You should now see data in you `Web Analytics` dashboard.

## Configuration

You can find configuration documentation on
[our website](https://www.prismeanalytics.com/docs/next/reference/server/server-modes/).

## Performance

Prisme Analytics ingestion server is **easily** capable of ingesting more than
50,000 req/s on my AMD Ryzen 7 7840U w/ Radeon 780M Graphics.

```
$ cat /proc/cpuinfo | head | grep 'model name'
model name : AMD Ryzen 7 7840U w/ Radeon 780M Graphics

$ cd tests/k6/events
$ make start test clean

/\ |‾‾| /‾‾/ /‾‾/
/\ / \ | |/ / / /
/ \/ \ | ( / ‾‾\
/ \ | |\ \ | (‾) |
/ __________ \ |__| \__\ \_____/ .io

execution: local
script: /data/main.js
output: -

scenarios: (100.00%) 1 scenario, 4096 max VUs, 10m30s max duration (incl. graceful stop):
* sharedIterationsPageViewEvents: 131072 iterations shared among 4096 VUs (maxDuration: 10m0s, gracefulStop: 30s)

data_received..................: 90 MB 9.9 MB/s
data_sent......................: 130 MB 14 MB/s
http_req_blocked...............: avg=928.82µs min=330ns med=1.07µs max=268.74ms p(90)=2.45µs p(95)=3.16µs
http_req_connecting............: avg=911.42µs min=0s med=0s max=268.71ms p(90)=0s p(95)=0s
http_req_duration..............: avg=73.92ms min=57.4µs med=67.47ms max=808.82ms p(90)=139.72ms p(95)=167.03ms
{ expected_response:true }...: avg=74.08ms min=60.26µs med=67.63ms max=808.82ms p(90)=139.92ms p(95)=167.43ms
http_req_failed................: 13.80% ✓ 62640 ✗ 391185
http_req_receiving.............: avg=3.71ms min=3.4µs med=12.13µs max=221.36ms p(90)=729.89µs p(95)=19.92ms
http_req_sending...............: avg=282.26µs min=2.37µs med=7.27µs max=216.54ms p(90)=19.27µs p(95)=105.73µs
http_req_tls_handshaking.......: avg=0s min=0s med=0s max=0s p(90)=0s p(95)=0s
http_req_waiting...............: avg=69.92ms min=45.89µs med=67.16ms max=750.36ms p(90)=125.53ms p(95)=140.88ms
http_reqs......................: 453825 50018.387644/s
✓ { event_type:custom }........: 117531 12953.696068/s
✓ { event_type:pageview }......: 336294 37064.691576/s
iteration_duration.............: avg=274.18ms min=121.44µs med=152.26ms max=3.12s p(90)=680.26ms p(95)=958.77ms
iterations.....................: 131072 14446.119331/s
vus............................: 2100 min=2100 max=4096
vus_max........................: 4096 min=4096 max=4096

running (00m09.1s), 0000/4096 VUs, 131072 complete and 0 interrupted iterations
sharedIterationsPageViewEvents ✓ [ 100% ] 4096 VUs 00m09.1s/10m0s 131072/131072 shared iters
```

## Contributing

If you want to contribute to `prismeanalytics` to add a feature or improve the
code, open an [issue](https://github.com/prismelabs/analytics/issues)
or make a [pull request](https://github.com/prismelabs/analytics/pulls).

## :stars: Show your support

Please give a :star: if this project helped you!

[![buy me a coffee button](./.github/images/blue-button.png)](https://www.buymeacoffee.com/prismelabs)

## :scroll: License

[Prisme Analytics](https://www.prismeanalytics.com/) is distributed under
[AGPL-3.0-only](LICENSE). For MIT exceptions, see [LICENSING.md](LICENSING.md)