This add-on is operated by NamLabs Technologies Pvt Ltd
Monitor, identify and fix application performance issues in real time.
Atatus
Last updated July 10, 2020
Table of Contents
Atatus APM is available as a Heroku add-on that provides application performance monitoring. Atatus seamlessly monitors your entire software stack. Gain end-to-end visibility of every business transaction and see how each layer of your software stack affects your customer experience.
Features
Traces - Get into the exact code flow of a transaction, when it is slower than your threshold
Performance - View the complete performance breakdown of where the app slows down
Database Queries - Measure database queries, find out which are slowing down your app and why.
External Requests - See network calls from your app to find impact on your app’s performance.
Exceptions - Get full stack trace when exceptions happens with the request details, custom data etc.
Deployment Tracking - Look into the history of deployments, and their performance and impact on your app.
Alerting - Get your engineers notified when an issue occurs through Slack, PagerDuty, Email etc.
Supported platforms
- PHP
- Node.js
- Java
- Ruby
- Python
Provisioning the add-on
There are a variety of Heroku plan levels for Atatus add-on. Decide which you want to use before provisioning the addon.
Atatus can be attached to a Heroku application via the CLI. Find the example for below mentioned plan:
charges applicable for this brahmaputra
plan
$ heroku addons:create atatus:brahmaputra
Once you provision the add-on, the following is now automatically setup (no action is needed from you)
- An Atatus account is setup and integrated with Heroku
- Heroku servers are automatically configured for Atatus
- Atatus APM add-on is now available in your app’s Add-ons list in Heroku UI.
Please follow the below steps to configure Atatus agent.
Configuring Atatus agent
Once you provision the Atatus APM add-on, you have to configure Atatus agent for your app. In our documentation, we provide the steps to setup our Agent correctly for your platforms.
PHP
Set Atatus Heroku PHP extension repo
heroku config:set HEROKU_PHP_PLATFORM_REPOSITORIES="https://s3.amazonaws.com/atatus-php-heroku-ext/heroku/" -a YOUR_APP
You need to set license key in the config to enable Atatus on Heroku.
heroku config:set ATATUS_LICENSE_KEY="lic_apm_********" ATATUS_APP_NAME="My PHP App" -a YOUR_APP
Add Atatus Heroku extension in
compose.json
from the previous remote package repository.{ "require": { "ext-atatus": "1.10.1" }, "config": { "platform": { "ext-atatus": "1.10.1" } } }
Install Atatus Heroku extension.
composer update ext-atatus
Commit those changes to Heroku and deploy your application once again.
git add composer.json composer.lock git commit -m 'Add ext-atatus dependency to Heroku app' git push heroku master
Node.js
From Heroku dashboard, select the relevant application you have created and choose Atatus from the add-on page. There are two ways to choose the add-on.
- From UI, you can click on the Configure add-ons and then select the subscription plan.
- From Command line
heroku addons:create atatus:brahmaputra -a YOUR_APP
Go to Atatus dashboard by clicking on the Atatus add-on and navigate to the Settings » Account Settings » License Keys in Atatus and copy the Atatus APM License key.
From your terminal, go to your Node.js app directory and set the license key and application name in heroku config as follows.
heroku config:set ATATUS_APP_NAME='Node.js App' -a YOUR_APP heroku config:set ATATUS_LICENSE_KEY='Your APM License Key' -a YOUR_APP
# Verify config heroku config
Install the Node.js agent and save it to your package.json.
npm install atatus-nodejs --save
Include Atatus to the first line of the main module of your application.
require('atatus-nodejs');
Run the following commands to commit the changes.
git add . git commit -m "Add Atatus Agent" git push heroku master && heroku logs --tail
Access your server from your web app or mobile app or curl. You will visualize your application’s metrics within minutes.
Java
From Heroku dashboard, select the relevant application you have created and choose Atatus from the add-on page. There are two ways to choose the add-on.
- From UI, you can click on the Configure add-ons and then select the subscription plan.
- From Command line
heroku addons:create atatus:brahmaputra -a YOUR_APP
Go to Atatus dashboard by clicking on the Atatus add-on and navigate to the Settings » Account Settings » License Keys in Atatus and copy the Atatus APM License key.
From your terminal, go to your Java app directory and set the license key and application name in heroku config as follows.
heroku config:set ATATUS_APP_NAME='Java App' -a YOUR_APP heroku config:set ATATUS_LICENSE_KEY='Your APM License Key' -a YOUR_APP
# Verify config heroku config
Download the latest Java agent to your app directory.
wget https://atatus-artifacts.s3.amazonaws.com/atatus-java/downloads/latest/atatus-java-agent.jar
Create a
Procfile
in your root directory and add the following line.web: java -javaagent:/app/atatus-java-agent.jar -jar my-app.jar
Change my-app.jar to your jar file name.
Run the following commands to commit the changes.
git add . git commit -m "Add Atatus Agent" git push heroku master && heroku logs --tail
Access your server from your web app or mobile app or curl. You will visualize your application’s metrics within minutes.
Ruby on Rails
From Heroku dashboard, select the relevant application you have created and choose Atatus from the add-on page. There are two ways to choose the add-on.
- From UI, you can click on the Configure add-ons and then select the subscription plan.
- From Command line
heroku addons:create atatus:brahmaputra -a YOUR_APP
Go to Atatus dashboard by clicking on the Atatus add-on and navigate to the Settings » Account Settings » License Keys in Atatus and copy the Atatus APM License key.
From your terminal, go to your Rails app directory and set the license key and application name in heroku config as follows.
heroku config:set ATATUS_APP_NAME='Rails App' -a YOUR_APP heroku config:set ATATUS_LICENSE_KEY='Your APM License Key' -a YOUR_APP
# Verify config heroku config
Add the Atatus agent gem to your Gemfile.
gem 'atatus'
Install the gem from your application root directory.
bundle install
Run the following commands to commit the changes.
git add . git commit -m "Add Atatus Agent" git push heroku master && heroku logs --tail
Access your server from your web app or mobile app or curl. You will visualize your application’s metrics within minutes.
You are using Sinatra
framework apps go and setup the atatus agent.
Python and Django
From Heroku dashboard, select the relevant application you have created and choose Atatus from the add-on page. There are two ways to choose the add-on.
- From UI, you can click on the Configure add-ons and then select the subscription plan.
- From Command line
heroku addons:create atatus:brahmaputra -a YOUR_APP
Go to Atatus dashboard by clicking on the Atatus add-on and navigate to the Settings » Account Settings » License Keys in Atatus and copy the Atatus APM License key.
From your terminal, go to your Django app directory and set the license key and application name in heroku config as follows.
heroku config:set ATATUS_APP_NAME='Django App' -a YOUR_APP heroku config:set ATATUS_LICENSE_KEY='Your APM License Key' -a YOUR_APP
# Verify config heroku config
Add
atatus.contrib.django
toINSTALLED_APPS
in your settings.py:# settings.py INSTALLED_APPS = [ # ... 'atatus.contrib.django', ]
Add
atatus
to your project’s requirements.txt file.# requirements.txt atatus
Create a
Procfile
in your root directory and add the following line.web: gunicorn yoursite.wsgi
Run the following commands to commit the changes.
git add . git commit -m "Add Atatus Agent" git push heroku master && heroku logs --tail
Access your server from your web app or mobile app or curl. You will visualize your application’s metrics within minutes.
You are using Flask
framework apps go and setup the atatus agent.
Once you have setup the Atatus agent, please access your app via web or mobile app or curl calls. Within minutes you will be able to visualize your application’s metrics in Atatus APM Dashboard.
View performance data
See your data in Atatus by following the steps:
- Select the app where Atatus APM add-on is installed from your Heroku dashboard
- Select the Atatus APM add-on from your list of add-ons
- You will be redirected via SSO into your Atatus Account.
- From there you can view all your data in Atatus APM
Upgrade the add-on plans
Upgrade your Atatus plan via the CLI:
$ heroku addons:upgrade atatus:ganga -a YOUR_APP
Uninstall your Atatus add-on
Before you uninstall your Atatus add-on, uninstall the Atatus agent:
PHP
Unset Atatus Heroku PHP extension repo
heroku config:unset HEROKU_PHP_PLATFORM_REPOSITORIES ATATUS_LICENSE_KEY ATATUS_APP_NAME -a YOUR_APP
Remove Atatus Heroku extension in
compose.json
from the previous remote package repository.{ "require": { "ext-atatus": "1.10.0" }, "config": { "platform": { "ext-atatus": "1.10.0" } } }
Uninstall Atatus Heroku extension.
composer update
Commit those changes to Heroku and deploy your application once again.
git add composer.json composer.lock git commit -m 'Add ext-atatus dependency to Heroku app' git push heroku master
Node.js
Remove the npm package by using the below command.
npm uninstall --save atatus-nodejs`.
Remove Atatus to the first line of the main module of your application.
require('atatus-nodejs');
Run the following commands to commit the changes.
git add . git commit -m "Remove Atatus Agent" git push heroku master && heroku logs --tail
Java
To uninstall the Atatus Java agent, follow the below steps.
Remove the
atatus-java-agent.jar
file .Remove the following flag in your
Procfile
.-javaagent:/app/atatus-java-agent.jar
Run the following commands to commit the changes.
git add . git commit -m "Remove Atatus Agent" git push heroku master && heroku logs --tail
Ruby on Rails
Remove the Atatus agent gem to your Gemfile.
gem 'atatus'
Install the gem from your application root directory.
bundle install
Run the following commands to commit the changes.
git add . git commit -m "Remove Atatus Agent" git push heroku master && heroku logs --tail
You using Sinatra
framework apps go and uninstall the atatus agent.
Python and Django
From settings.py file, remove
atatus.contrib.django
line fromINSTALLED_APPS
and remove the atatus configration.# settings.py INSTALLED_APPS = [ # ... 'atatus.contrib.django', ]
# settings.py ATATUS = { 'APP_NAME': 'Python App', 'LICENSE_KEY': 'lic_apm_xxxxxxx' }
Uninstall the atatus agent using pip. Remove
atatus
from requirements.txt file if any.pip uninstall atatus
# requirements.txt atatus
Run the following commands to commit the changes.
git add . git commit -m "Remove Atatus Agent" git push heroku master && heroku logs --tail
If you are using
Flask
framework apps, uninstall the atatus agent.
Once uninstalled, you can remove agent configs
heroku config:unset ATATUS_APP_NAME ATATUS_LICENSE_KEY -a YOUR_APP
Then follow standard procedures to uninstall a Heroku add-on.