Django backend for GlitchTip https://glitchtip.com/

David Burke 0faf6d9948 Rename plan_set > plans 4 years ago
.vscode 64d976e6d1 Show isMember on organizations projects serializer. Related to 4 years ago
alerts de0cfc7cdc Added redoc 4 years ago
assets 7b290b5349 HTML emails! 4 years ago
bin 2531aee1d1 Added dyno env var check for running migrations and workers in Heroku 4 years ago
djstripe_ext 0faf6d9948 Rename plan_set > plans 4 years ago
event_store cf5e704924 event store - check if project is found before checking throttling 4 years ago
glitchtip 7ca15b9748 Add API docs for stripe wrapper apis 4 years ago
issues de0cfc7cdc Added redoc 4 years ago
organizations_ext 64d976e6d1 Show isMember on organizations projects serializer. Related to 4 years ago
projects 64d976e6d1 Show isMember on organizations projects serializer. Related to 4 years ago
sentry f174d5585f Fixes #19 frame context 4 years ago
teams de0cfc7cdc Added redoc 4 years ago
test_api 309a7bab8e less destructive seed for cypress testing. Also more specific email 4 years ago
users de0cfc7cdc Added redoc 4 years ago
.gitignore ddb985a7d1 Stripe subscription 5 years ago
.gitlab-ci.yml 8706c10737 debug is true on CI 4 years ago
CONTRIBUTING.md 4168a6cdc3 Document serializer naming 5 years ago
Dockerfile 184b4b2f9f cache pip maybe 5 years ago
LICENSE 5718e945ba Add license 5 years ago
NOTICE.md 4e14fdf970 Typo 5 years ago
README.md 6fed2bc4a5 . consistency 4 years ago
docker-compose.locust.yml bd2444e2ef Fixes #9 4 years ago
docker-compose.yml a98ac0e4f8 Fixes #17 4 years ago
locustfile.py fe8353ceaa Send event in locusfile 5 years ago
manage.py 5e245f6ac0 initial commit 5 years ago
poetry.lock 7842cb0cbb Stripe needs to present product info, not just prices 4 years ago
pyproject.toml 7842cb0cbb Stripe needs to present product info, not just prices 4 years ago

README.md

GlitchTip Backend

GlitchTip is an open source, Sentry API compatible error tracking platform. It is a partial fork/partial reimplementation of Sentry's open source codebase before it went proprietary. Its goals are to be a modern, easy-to-develop error tracking platform that respects your freedom to use it any way you wish. Some differences include:

  • A modern development environment with Python 3 and Django 3.0.
  • Simplicity over features. We use Postgres to store error data. Our code base is a fraction of the size of Sentry and looks like a typical Django app. We leverage existing open source Django ecosystem apps whenever possible.
  • Respects your privacy. No massive JS bundles. No invasive tracking. No third party spying. Even our marketing site runs Matomo and respects Do Not Track. GlitchTip will never report home. We will never know if you run it yourself.
  • Commitment to open source. We use open source tools like GitLab whenever possible. With our MIT license, you can use it for anything you'd like and even sell it. We believe in competition and hope you make GlitchTip even better.

Project status: Experimental. Open an issue and say hello if you'd like to help. We are able to process basic error requests from the open source Sentry client tools.

Developing

We use Docker for development. View our Contributing documentation if you'd like to help make GlitchTip better.

Run local dev environment

  1. Ensure docker and docker-compose are installed
  2. docker-compose up
  3. `docker-compose run --rm web ./manage.py migrate

Run tests with docker-compose run --rm web ./manage.py test

VS Code (Optional)

VS Code can do type checking and type inference. However, it requires setting up a virtual environment.

  1. Install Python 3 dependencies. For Ubuntu this is apt install python3-dev python3-venv
  2. Install poetry
  3. Create Python virtual environment python3 -m venv env
  4. Activate environment source env/bin/activate
  5. Install packages poetry install

Load testing

Locust is built into the dev dependencies. To run with locus run docker-compose -f docker-compose.yml -f docker-compose.locust.yml up

Now go to localhost:8089 to run the test.

Locust will not be intalled to production docker images and cannot be run from them.