When you implement an attribute to display versions of your service, a deployment marker displays at the time the deployment occurred, both in the Service Health view and in metric dashboards, charts, and Change Intelligence.

Deployment in Service Directory view

These markers allow you to quickly correlate deployment with a possible regression.

Instrument for Deployment Markers

If you’re using the sample app, it’s already instrumented using the service.version attribute. You can skip to the Register Your Deployment Marker.

Add an attribute (known as a tag in OpenTracing) with values to your services that can be used to report version information.

For example, you might create an attribute named service.version with values equal to the Git commit hash of the current version.

For optimal discoverability in Lightstep, we recommend that you use the Git commit hash or a Docker container tag, rather than semantic versions.

See the individual language Quick Start topics for instructions on how to create attributes.

Using GitLab or GitHub?

If you’re using GitLab or GitHub for your project, you can use a Git SHA provided by the CI system as the service.version attribute so you can easily connect your traces with specific commits of code. Here’s an example from a Skaffold configuration file used to build services for a Docker container:

1
2
3
4
5
- image: productcatalogservice
  context: src/productcatalogservice
  docker:
    buildArgs:
      SERVICE_VERSION:  "{{.CI_COMMIT_SHORT_SHA}}"

For GitHub, here’s a similar Skaffold configuration file that builds a Docker container using the GITHUB_SHA environment variable:

1
2
3
4
5
- image: productcatalogservice
  context: src/productcatalogservice
  docker:
    buildArgs:
      SERVICE_VERSION: "{{.GITHUB_SHA}}"

Expandable end

Register Your Deployment Marker

Deployment markers are project-specific. You need to register the version attributes with all projects that should use them.

  1. In Lightstep, click Settings to open your project’s settings page.
  2. On the Project Settings page, scroll down to Deployment version settings.
  3. Click into the field and start typing the attribute name. Select the version attribute from the list.

The attribute now displays as the Version Attribute.

You can use multiple attributes to collect deployment information. As long as they are all registered, Lightstep creates markers when a change in value is detected.

If you’re using the sample app, you should see the attribute service_version. Select that to use as your version attribute.


What Did We Learn?

  • You can create an attribute to hold the value of a service’s version.
  • When you register an attribute with Lightstep, it can create deployment markers on the charts in the Service Health view.