Menu

Tree [5aaa20] master v0.14.0-beta7 /
 History

HTTPS access


File Date Author Commit
 .github 2024-03-09 Alexandre Negrel Alexandre Negrel [fa6664] update built-in dashboard image
 cmd 2024-04-04 Alexandre Negrel Alexandre Negrel [5aaa20] add teardown procedure for eventstore service
 config 2024-03-17 Alexandre Negrel Alexandre Negrel [a84a60] add profiler server
 deploy 2024-03-05 Alexandre Negrel Alexandre Negrel [297df2] add docker compose for self hosting
 mocks 2024-03-21 Alexandre Negrel Alexandre Negrel [100cb6] add static site mock for manual testing
 pkg 2024-04-04 Alexandre Negrel Alexandre Negrel [5aaa20] add teardown procedure for eventstore service
 tests 2024-04-04 Alexandre Negrel Alexandre Negrel [b99426] add pageviews columns to custom events table
 tracker 2024-04-04 Alexandre Negrel Alexandre Negrel [b99426] add pageviews columns to custom events table
 .envrc 2024-01-08 Alexandre Negrel Alexandre Negrel [e7ac26] initial commit
 .gitignore 2024-02-09 Alexandre Negrel Alexandre Negrel [fb0224] chore: fix makefile and gitignore
 LICENSE 2024-01-08 Alexandre Negrel Alexandre Negrel [e7ac26] initial commit
 LICENSING.md 2024-03-22 Alexandre Negrel Alexandre Negrel [f05212] add LICENSING.md
 Makefile 2024-03-21 Alexandre Negrel Alexandre Negrel [c75021] add custom events helper function to tracking s...
 README.md 2024-03-22 Alexandre Negrel Alexandre Negrel [f05212] add LICENSING.md
 docker-compose.default.yml 2024-03-07 Alexandre Negrel Alexandre Negrel [46c4c3] configure devenv grafana to use system theme by...
 docker-compose.dev.yml 2024-03-17 Alexandre Negrel Alexandre Negrel [a84a60] add profiler server
 docker-compose.ingestion.yml 2024-03-05 Alexandre Negrel Alexandre Negrel [04f3ed] simplify docker compose files
 flake.lock 2024-01-08 Alexandre Negrel Alexandre Negrel [e7ac26] initial commit
 flake.nix 2024-04-04 Alexandre Negrel Alexandre Negrel [a9a702] change flake.nix go module version to 0.14.0
 go.mod 2024-03-21 Alexandre Negrel Alexandre Negrel [a108ac] add warning log for ring buffer collision
 go.sum 2024-03-21 Alexandre Negrel Alexandre Negrel [a108ac] add warning log for ring buffer collision
 variables.mk 2024-01-09 Alexandre Negrel Alexandre Negrel [437a53] add docker/build make target

Read Me

Docker Image Size (tag) GitHub go.mod Go version

💎 Prisme Analytics

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

Documentation
|
Live demo

grafana dashboard

Why Prisme ?

Here's what makes Prisme a great alternative to other analytics:
* Tailored analytics: Prisme Analytics supports custom dashboards and events
so you can collect, visualize analyze metrics that matters to you the way you want.
* Ready to use: Prisme also comes with built-ins metrics and dashboards
(see demo).
* Privacy-focused: Prisme is GDPRC, CCPA, PECR compliant by design, no
Personally Identifiable Information (PII) is collected. Tracking script doesn't
use cookies, you can ditch your cookie pop-up.
* Lightweight: Prisme tracking script is less than 1kB (~45x smaller than
Google Analytics).
* Ressources efficient: Prisme is designed to be fast and ressource efficient,
checkout our benchmarks.
* SPA support: Prisme is built with modern web frameworks in mind and it works
automatically with any pushState based router on the frontend.
* Grafana based: Prisme integrates with
Grafana that provides:
* User managements
* Team managements
* Permissions managements
* Multi organizations support
* Custom dashboards

Configuration

You can find configuration documentation on
our website.

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%) 2 scenarios, 8192 max VUs, 10m30s max duration (incl. graceful stop):
              * sharedIterationsCustomEvents: 524288 iterations shared among 4096 VUs (maxDuration: 10m0s, exec: customEvent, gracefulStop: 30s)
              * sharedIterationsPageViewEvents: 524288 iterations shared among 4096 VUs (maxDuration: 10m0s, exec: pageView, gracefulStop: 30s)

     data_received..................: 223 MB  11 MB/s
     data_sent......................: 314 MB  16 MB/s
     http_req_blocked...............: avg=1.3ms    min=350ns    med=2.13µs   max=452.4ms  p(90)=3.22µs   p(95)=3.92µs
     http_req_connecting............: avg=1.26ms   min=0s       med=0s       max=452.35ms p(90)=0s       p(95)=0s
     http_req_duration..............: avg=116.06ms min=65.58µs  med=102.9ms  max=737.66ms p(90)=205.62ms p(95)=237.97ms
       { expected_response:true }...: avg=116.48ms min=69.01µs  med=103.26ms max=737.66ms p(90)=206.26ms p(95)=238.63ms
     http_req_failed................: 33.35%   349785        698791
     http_req_receiving.............: avg=3.23ms   min=4.27µs   med=11.88µs  max=334.49ms p(90)=200.62µs p(95)=10.72ms
     http_req_sending...............: avg=431.43µs min=3.53µs   med=8.68µs   max=334.28ms p(90)=41.42µs  p(95)=123.74µs
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s
     http_req_waiting...............: avg=112.4ms  min=41.87µs  med=102.49ms max=546.44ms p(90)=196.89ms p(95)=219.73ms
     http_reqs......................: 1048576 52278.070656/s
     iteration_duration.............: avg=135.96ms min=871.67µs med=118.11ms max=739.61ms p(90)=228.58ms p(95)=262.73ms
     iterations.....................: 1048576 52278.070656/s
     vus............................: 8192    min=8192       max=8192
     vus_max........................: 8192    min=8192       max=8192


running (00m20.1s), 0000/8192 VUs, 1048576 complete and 0 interrupted iterations
sharedIterationsCustomEvents    [ 100% ] 4096 VUs  00m20.1s/10m0s  524288/524288 shared iters
sharedIterationsPageViewEvents  [ 100% ] 4096 VUs  00m20.1s/10m0s  524288/524288 shared iters

Contributing

If you want to contribute to prismeanalytics to add a feature or improve the
code, open an issue
or make a pull request.

🌠 Show your support

Please give a ⭐ if this project helped you!

📜 License

Prisme Analytics is distributed under
AGPL-3.0-only. For MIT exceptions, see LICENSING.md