Track deployments with annotations

edit
Example view of transactions annotation in the APM UI in Kibana

For enhanced visibility into your deployments, we offer deployment annotations on all transaction charts. This feature enables you to easily determine if your deployment has increased response times for an end-user, or if the memory/CPU footprint of your application has changed. Being able to quickly identify bad deployments enables you to rollback and fix issues without causing costly outages.

By default, automatic deployment annotations are enabled. This means the APM UI will create an annotation on your data when the service.version of your application changes.

Alternatively, you can explicitly create deployment annotations with our annotation API. The API can integrate into your CI/CD pipeline, so that each time you deploy, a POST request is sent to the annotation API endpoint:

curl -X POST \
  http://localhost:5601/api/apm/services/${SERVICE_NAME}/annotation \ 
-H 'Content-Type: application/json' \
-H 'kbn-xsrf: true' \
-H 'Authorization: Basic ${API_KEY}' \ 
-d '{
      "@timestamp": "${DEPLOY_TIME}", 
      "service": {
        "version": "${SERVICE_VERSION}" 
      },
      "message": "${MESSAGE}" 
    }'

The service.name of your application

An APM UI API key with sufficient privileges

The time of the deployment

The service.version to be displayed in the annotation

A custom message to be displayed in the annotation

See the annotation API reference for more information.

If custom annotations have been created for the selected time period, any derived annotations, i.e., those created automatically when service.version changes, will not be shown.