Pipeline feedback

Instana Pipeline Feedback is an automatic analysis of application development and deployment pipeline events, correlated directly with application, infrastructure, and service performance data.

As DevOps teams shift more to a continuous deployment model, there is a significant increase in the amount of dynamism in production. More software is updated or added more frequently on more infrastructure. Consequently, it is essential to have end-to-end visibility of each release and their impact on application or infrastructure health. For example, without the context of when a release happened, it's challenging to understand whether a latency spike of a service indicates a problem, or is it the artifact of the deployment process. This information may indicate that the release led to a degradation in performance, which helps to decide on whether to rollback to a previous version or identify a specific problem to be resolved.

See Pipeline Feedback Integrations to learn how to integrate it with your CI/CD pipeline.

Terminology

Release

A defined moment in time of when a change occurred to code, infrastructure, when the architecture becomes generally available. Also, it can have an impact on the health or performance of the system.

Release Marker

Indicator in a chart or list when system changes become available to their users.

Incident

An issue correlated to performance degradation that should be investigated by a human.

Configuration

The following sections explain how to create releases as part of your deployment process, how to view releases on Instana's dashboards, and how this helps with problems that arise with the continuous change generated by CI/CD.

Easily create releases as part of your deployment process, by using either our Web REST API or our Instana Pipeline Feedback Integration for Jenkins.

Releases API

Our Releases API provides endpoints to create, read, update and delete a release. As an example, the following curl command can be used to create a new release named My First Release at the given point in time (as UNIX timestamp in milliseconds):

curl --location --request POST "{{base}}/api/releases" \
  --header "Authorization: apiToken {{apiToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"name\": \"My First Release\",
	\"start\": 1565610536335
}"

Please note:

  • The used API Token requires the permission "Configuration of releases".
  • A release has no scope and is therefore globally applied to the whole monitored system.

Instana Pipeline Feedback Integration for Jenkins

Alternatively, we offer a Jenkins plugin to allow a smoother integration with your existing CI/CD tooling. The plugin and further information can be found on GitHub.

Instana Pipeline Feedback Integration for GitHub Actions

Taimos has built a (very cool!) integration for GitHub actions.

Usage

Release Markers

To correlate outliners and anomalies or shifts in a metric, Instana includes information of each release in various ways. For example, additional context is provided to judge whether a spike in a metric might be a deployment artifact. Thus, Release Markers can be used as a tool to compare the behavior of the system before and after the release.

Charts

As shown in the screenshot below, a Release Marker displays as an annotation on every graph in your environment. This marker serves as a reference point to quickly spot e.g., regressions or improvements in the performance of their applications.

release marker charts

As shown in the screenshot above, the Release Marker contains the following information:

  • Name: The user-defined release name.
  • Release time: The point in time when the release has happened.

Note:

To ensure that markers are readable and don't overlap, we cluster several buckets together. All buckets of a cluster are being highlighted when hovering over the corresponding release icon. If a bucket is large enough, only releases which happened during the bucket's time window are being clustered. This is indicated by a vertical line.

Releases Navigation

Along with being shown in charts or the Incidents view, Instana also offers different ways to navigate to recent Releases; follow the current live release or scope the selected timeframe to the timeframe around the deployment of the release.

Releases Notification

Each time a new release is created, you are notified, and this notification enables you to perform the following two optional actions:

  • Focus time to release: Changes the selected timeframe so that the new release is in view while the current window-size of the timeframe stays unchanged so that metrics before and after the release are easily compared.
  • Follow release live: Enables the Live Mode so that effects of the release are immediately visible in all dashboards or charts.

release notification

Focus Time to a Release

Instana's time picker lists the most recent releases, as shown in the following screenshot:

release time picker

After selecting a release, the timeframe is adjusted so that the current window size stays unchanged, but to your temporal view, the release time is centered. This enables you to investigate its impacts concerning performance and system health.

Please note: If you haven't created a release using the API, you may not see the Go to a Release section in your time picker.