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. Therefore, 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 might indicate that the release led to a degradation in performance, which helps to decide on whether to roll back 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. Release markers can be set with different scopes:

  • Global
  • Application perspective
  • Service
  • Service within an application perspective

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 global release named My Global Release Marker 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 Global Release Marker\",
	\"start\": 1565610536335
}"

For further configuration examples see the Configuration and API section.

Note: The used API Token requires the permission "Configuration of releases".

Instana pipeline feedback integration for Jenkins

Alternatively, we offer a Jenkins plug-in to allow a smoother integration with your existing CI/CD tools. The plug-in 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 outliers 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 screen capture as follows, a Release Marker displays as an annotation on every graph in your environment. This marker serves as a reference point to quickly spot, for example, regressions or improvements in the performance of their applications.

release marker charts

As shown in the screen capture 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 that 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, 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 global 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 releases are easily compared.
  • Follow release live: Enables the Live Mode so that effects of the release are immediately visible in all dashboards or charts.

Click the notification to close it.

release notification

Focus time to a release

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

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.

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