apm-toy-app
A simple app to trace.
Prerequisites
- Install
docker
anddocker-compose
(you can trysudo pip install docker-compose
) - (Optional) Install
go
and its dependency management tool - You need a Datadog account. If you don't have one, just use the free trial.
Get the app running
- Get your Datadog API key (Integrations > APIs in the app) and paste it here
Note: each time you'll change your API key, you'll need to rebuild the datadog-agent docker image.
- Get your Datadog API key (Integrations > APIs) and paste it here
- Run the app
docker-compose up
This command should launch a minimal golang server along with redis, postgres and the datadog-agent.
- Go to http://localhost:8080/, you should get something like that:
(247 hits) - City: Utrecht, 234323 inhabitants
Each time you hit this URL, the golang server will return a different city and its population from postgres and will also tell you how many times you hit this endpoint.
Check the datadog-agent status
- Connect to the container running the datadog-agent
docker exec -it apmtoyapp_datadog_1 bash
- Run the info command of the agent
service datadog-agent info
- Check that postgres and redis are properly reporting metrics
Checks
======
postgres (5.16.0)
-----------------
- instance #0 [OK]
- Collected 15 metrics, 0 events & 1 service check
redisdb (5.16.0)
----------------
- instance #0 [OK]
- Collected 36 metrics, 0 events & 1 service check
- Dependencies:
- redis: 2.10.5
- Go in the Datadog app, Metrics > Explorer and check you can see your metrics in the app.
Possible issues
-
If you encounter some dependency issues, try to run
dep ensure
(make sure you have dep installed). -
If you want to make modifications to the datadog image, you have to manually rebuild it with
docker build --no-cache datadog -t apmtoyapp_datadog
.