Skip to main content

A quantitative web application profiler

Project description

https://travis-ci.org/mhallin/tamarack.svg?branch=develop

Tamarack is a quantitative web application profiler. It will track the performance of all requests made to your app, aggregate them, and present them so you can identify bottlenecks and track improvements and regressions.

Tamarack consists of three parts: a collector library which resides in your application. The collector will feed the receiver server data, which is then presented in the explorer. The data is stored in PostgreSQL and can be scaled up depending on the needs of your application. The collector is designed to cause minimal overhead in your application.

docs/img/sample_app.png

The data is available in near real time, with only a few minutes of delay to give all servers time to gather the statistics.

There is currently only an implementation of the Tamarack Collector in Python primarily for Django, with Flask support coming soon. The receiver API is a simple HTTP API, so writing bindings for your language should not be hard.

Setting It Up

Your system will need some basic packages before getting Tamarack up and running:

  • Python 3.4, with development libraries (python3.4, python3.4-dev)

  • Python package installer (python3-pip)

  • PostgreSQL 9.3 or later, with extension modules (postgresql-9.3, postgresql-contrib-9.3)

Once those packages have been installed, you can begin setting up Tamarack. The first thing you will need is a virtual environment where all Python packages will be installed. With Python 3.4 this should be easy easy, since Virtualenv now is bundled with the Python installation. However, this clashes with some Linux distributions’ package management and might require some manual setup:

## Skip this if you have pyvenv-3.4 available:

# Install virtualenv globally
pip3 install virtualenv

# Create a Tamarack environment in /var/lib
virtualenv -p `which python3.4` /var/lib/tamarack

If you have pyvenv-3.4 available, you can simply use it instead:

## Skip this if you installed virtualenv above:

# Create a Tamarack environment in /var/lib
pyvenv-3.4 /var/lib/tamarack

Common for both setups is how you use them to install Tamarack:

# Step into this virtual environment
source /var/lib/tamarack/bin/activate

# Install Tamarack
pip install tamarack

# Create a configuration file
tamarack init /etc/tamarack.py

This will generate a configuration file at /etc/tamarack.py, which you will need to edit with the settings for your system. When you’re done, you’re ready to start Tamarack:

tamarack --config=/etc/tamarack.py server

This will start an HTTP server on port 3000, which you can visit in a web browser.

Where to Go From Here?

If you followed the instructions above and visited the page, you probably noticed that the list of applications is empty. Now you will need to integrate the Tamarack Collector in your application in order to start receiving profiling data.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tamarack-0.0.2.tar.gz (754.9 kB view details)

Uploaded Source

File details

Details for the file tamarack-0.0.2.tar.gz.

File metadata

  • Download URL: tamarack-0.0.2.tar.gz
  • Upload date:
  • Size: 754.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tamarack-0.0.2.tar.gz
Algorithm Hash digest
SHA256 7a62e20b37b823966d9d5e07733f36b59ebccbb5bd85840acca30026e453db24
MD5 932c0a1e7e5896b9f5ceb8706f598bfc
BLAKE2b-256 5bd6a633ed9fa6ed6cff2e31e30e948a05720f7f7f1e01ab8b26026686a3376c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page