Codefresh is a great tool for your CI/CD build and deployment pipeline. It’s flexible, fast, and easy to use. But while you may have the act of deploying covered, what happens after a deploy is just as important. Did your app’s performance remain the same? Were any bugs introduced? Instead of gluing yourself to multiple dashboards to “wait and see” and then spend hours trying to find any issues that arise, you can use Lightstep to monitor the deploy for you. And if performance does change, or errors are introduced, Lightstep can help you find those problems quickly.

You’ll learn how to:

  • Deploy an app using Helm and Codefresh
  • Create a version tag (known as attributes in OpenTelemetry) in your instrumentation. Lightstep uses this tag to create a marker to show when deploys take place.
  • View the marker in a service involved in the deploy to see performance before and after.
  • Create a comparison time period to view differences in latency, find system attributes that show correlation to that latency, and compare operation performance, helping you to pinpoint the issue.
  • Confirm your hypothesis.
  • Rollback your changes and confirm that issues have been fixed.

Before You Begin

You’ll need following to complete this Learning Path:

  • A Lightstep account and project. If you don’t have one, sign up for a free trial.
  • A Codefresh account that’s configured to build and deploy services to your environment.
  • Instrumented services reporting their telemetry data into Lightstep. You can use either OpenTracing or OpenTelemetry. You can also use our sample app. You’ll need two versions of a service—one that has good performance and one that introduces a regression.

Use a Sample App

If you don’t have a service, you can use this sample app. It’s a simple Go application packaged with Docker and Helm, ready to be deployed using Codefresh. It uses OpenTelemetry for instrumentation and is configured to communicate with Lightstep’s Public Satellites.

The first step of this path walks through the code and instrumentation used in the sample app. If you’re using your own application, you can skip to Step 2.