Server-side analytics
Project description
Tracker
Tracker is a python package, that can be integrated into
-
any django project as middleware;
-
any flask project as extension.
It asynchronously intercepts requests and sends metric data to our RigidAnalytics Backend (see https://github.com/reustleco/rigidanalytics).
Installation
From PyPI
pip install rigidanalytics-tracker
From git repository
git clone git@github.com:reustleco/rigidanalytics-tracker.git
cd rigidanalytics-tracker
pipenv install
pipenv shell
Configuration
Below the following environment variables are in use: RA_PROJECT_ID,
RA_PROJECT_TOKEN and RA_BACKEND_ENDPOINT.
In order to get project ID and token you need to have access to the
admin pages on RigidAnalytics
Backend. RA_BACKEND_ENDPOINT
is the base URL to the Backend. If it is not provided then the default
URL (i.e. https://rigidanalytics.com) is used instead.
Django integration
-
Add
rigidanalytics_tracker.middleware.Analyticsmiddleware to theMIDDLEWARE(after all django middlewares). -
Add the following dict that configures Tracker:
RIGID_ANALYTICS = {
'PROJECT_ID': os.environ['RA_PROJECT_ID'],
'PROJECT_TOKEN': os.environ['RA_PROJECT_TOKEN'],
'DEBUG_DISABLE_ANALYTICS': False,
'BACKEND_ENDPOINT': os.environ.get('RA_BACKEND_ENDPOINT', ''),
}
See an example django integration about how everything configured there.
Flask integration
from rigidanalytics_tracker.flask import Tracker
flask_app.config['RIGID_ANALYTICS'] = {
'PROJECT_ID': os.environ['RA_PROJECT_ID'],
'PROJECT_TOKEN': os.environ['RA_PROJECT_TOKEN'],
'DEBUG_DISABLE_ANALYTICS': False,
'BACKEND_ENDPOINT': os.environ.get('RA_BACKEND_ENDPOINT', ''),
}
tracker = Tracker()
tracker.init_app(flask_app)
See an example flask integration about how everything configured there.
Automated tests
The automated tests are implemented by means of tox. In order to run
the tests execute the following command:
tox
Test the tracker
Create an virtual environment:
cd tests/integrations/
pipenv install --dev
pipenv shell
Run event handler:
dotenv -f .env.example run ./event_handler.py
In the applications the tracker is configured to send the events to the event handler. Once an event is captured it is printed to console.
Test django integration
dotenv -f .env.example run ./django_app/manage.py migrate
dotenv -f .env.example run ./django_app/manage.py runserver
Open home page and then check console (with the event handler) for an event.
Test flask integration
dotenv -f .env.example run python ./flask_app/app.py
Open home page and then check console (with the event handler) for an event.
Test with the existing backend
Create .env:
cp .env.example .env
Get a project ID and project token from the existing RigidAnalytics
backend and put them into the RA_PROJECT_ID and RA_PROJECT_TOKEN
respectively. Put backend URL into the RA_BACKEND_ENDPOINT.
Start flask application:
dotenv run python ./flask_app/app.py
Open home page and then check backend admin for a new event.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rigidanalytics_tracker-2.0.1.tar.gz.
File metadata
- Download URL: rigidanalytics_tracker-2.0.1.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98223abbfcda1b392bfb421ede6b30269327d24293bc1a3e78f0d496894f0870
|
|
| MD5 |
3adb85300a4f682ffb8a1162982504b1
|
|
| BLAKE2b-256 |
b72a5223ceaaa2c0e5b9cfcc58d5e3c3b2887c70f8531738f42a1cedcee2e36d
|
File details
Details for the file rigidanalytics_tracker-2.0.1-py3-none-any.whl.
File metadata
- Download URL: rigidanalytics_tracker-2.0.1-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e16f4760b3f1ba35ca75fea1a8aac6ed36a504d667799ce1e5a3f583abfd7d1a
|
|
| MD5 |
017388f4bfd85e54d4dbd71f24a6ea36
|
|
| BLAKE2b-256 |
35e4e2c6f50dbe86520f63dd6c653621fb85970c30e9948c5f36b6836144b853
|