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 time series chart when system changes become available to 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.
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 following screen capture of the application perspective page, 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.
As shown in the preceding screen capture of the application perspective page, the release marker contains the following information:
- Name: The user-defined release name.
- Release time: The point in time when the release has happened.
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.
Focus time to a release
Instana's time picker lists the most recent releases, as shown in the following screen capture:
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.