App enlight, a Polish startup known as errormator in the past is a application-service that logs and aggregates you application health. Like for example Sentry can log exceptions and logs (like from logging module) then App Enlight does much more by hooking to the internals of the application - you will get executed SQLs, template rendering time, slow responses and more. So let us take a closer look on current app enlight features...

Hooking up app enlight in your (Django) application

First you have to get appenlight client. There are official Python and JavaScript clients and few managed by the community. I'll use a Django application so I need the Python client:

pip install appenlight-client

After installing it I can configure it in my settings.py:

import appenlight_client.client as e_client
APPENLIGHT = e_client.get_config({'appenlight.api_key': 'YOUR_ENLIGHT_APP_KEY'})

Where YOUR_ENLIGHT_APP_KEY is an app key you get after creating/registering an application in appenlight dashboard. Additionally you have to add a middleware to MIDDLEWARE_CLASSES (on top of all middlewares):

'appenlight_client.django_middleware.AppenlightMiddleware',

Now appenlight will get and batch-sent data from your application the the appenlight dashboard.

App englight dashboard

Dashboard interface is constantly evolving and improving so my screenshots may be out of date at some point. You can check project blog for latest changes and new features. In short we get a log aggregation and integration with some team working services. You can check requests in time statistics, response generation time (including those slow ones) or other slow things like SQL queries. Each exception or slow response has a detail view and which some integration you can assign a task, bug on for example GitHub or send a message to a team member to take a look on given report.

Total data aggregation on the home page

Total data aggregation on the home page

Slow log - responses, queries and other things affecting application speed

Slow log - responses, queries and other things affecting application speed

Requests per second

Requests per second - no Reddit effect yet

Detail view of a slowly executed view

Detail view of a slowly executed view

Summary

Appenlight is a quite hand application. If it will develop as fast as in the past we can get a very useful tool for monitoring not only logs/exceptions but also application health. It will tell you that some users experienced problems with you application like very long query execution (like because they have 5000 Facebook friends and you tested your app only for 100...) or slow rendering of a template due to enormous amount of data passed to it.

I've tested it with Django, but there is a JavaScriptu client. Raven-js can log errors to sentry, but when/if appenlight will get performance logging it will blow it out (it's hard to catch every browser weak points in JavaScript handling).

If you have a moment try appenlight and share your experience, suggestions with the appenlight team.

blog comments powered by Disqus

Categories