Lightstep offers a way to quickly see how all your services and their operations are performing in one place - the Service Directory view. From here, you can:

  • See all your services in one place
    • Search for a service
    • Filter to view by platform
    • Mark “favorite” services
  • See performance over time for your top ingress operations and quickly dive into root cause analysis
    • View service health after deployments
    • View and sort latency, operation rate, and error rate over time
    • Compare latency and error regression data against baseline data
  • View operations on a service
    • View current performance of individual operations or performance at a specific percentile or performance change over a period of time
    • Filter by ingress or egress operations
  • View and create Streams and dashboards that include that service
  • View the instrumentation quality of operations on that service

Read Quick Start: Use OpenTracing to Instrument Your Code to learn how to add instrumentation to your service so it can report to Lightstep.

Access the Service Directory View

When you first open Lightstep, you’re taken to the Service Directory. You can also access it from the navigation bar.

Find Services

Your services are listed in alphabetical order. To make finding services easier, you can “favorite” a service so it always appears at the top of the list.

To find a service:

  • Use the Search box to search for services by name. As you type, Lightstep filters the list of services that match your entry.
  • Filter by platform. All services show the language of the associated instrumentation. Use the platform dropdown at the top of the list to filter by a language.

To favorite a service:

  1. Find and select the service to favorite.
  2. Click the star next to the service’s name. The service now appears at the top of the list.

View Service Health and Compare Ingress Operation Performance

The Deployments tab shows you the latency, error rate, and operation rate of your ingress operations on a service (maximum number of operations shown is 50). The operations are initially sorted by request rate, in descending order.

Find and Sort Ingress Operations

You can search for an ingress operation using the Search field.

By default, the operations are sorted by highest operation rate, in descending order.

You can change the sorting to be by latency percentile or error percent.

Change the Reporting Time Period

By default, the data shown is from the last 4 hours. You can change that to a number of different time periods, up to two weeks in the past. Use the < > controls to move backwards and forwards through time. You can view data up to 10 days in the past.

Monitor Deployments

The Service Health view on the Deployments tab provides the ability to see how deployments specifically affect performance of your services. Once you implement a tag to display versions of your service, a deployment marker displays at the time the deployment occurred. In the example below, for the update-inventory operation, a deploy occurred at 12:05 pm. Hover over the marker to view details. These markers allow you to quickly correlate deployment with a possible regression.

When you have multiple versions in a time window, you can view the performance of each deployed version. For example, in this image, multiple versions have been deployed. By selecting to view the abc123... version, you can see how the performance of that version compares to others, as represented by the dotted line in the chart.

This feature requires a Satellite upgrade to the March 2020 release!

Learn more about how to view performance for your service versions.

Compare Performance from Different Time Ranges

When you spot a latency or error rate regression, you can start an investigation by clicking the corresponding time series chart during the regression. You can choose to compare performance from before the previous deploy, an hour ago, a day ago, or select a custom baseline.

Choose a time in the middle of the regression to avoid collecting data previous to the spike.

The chart opens in the Compare view where you choose a stable time range to use as your baseline for comparison.

This view provides the following tools to help you with root cause analysis for latency:

  • Latency Histogram and Correlated Tags table: Compare tags from the baseline and regression that may be contributing to latency. Click on a tag to view a full trace.
  • Operation Diagram and table: Compare operations whose performance may be affecting this operation. Click on an operation to view a full trace.
  • Metrics Reporting: Based on the language of your tracer (available for Node/JS, Python, and Go), you can see basic runtime metrics (cpu, memory, etc).
  • Trace Analysis table: Filter and group span data from the baseline and regression to narrow down your analysis.

And these tools for analyzing spikes in error rates:

  • Operation Diagram and table and correlated tags: Immediately see which operations have errors (based on the red halo in the diagram). Use the Operations with Erros table to see the level of regression. Use the Tags with Errors table to view tags that seem to be correlated with the regression. Operation diagram shows dynamically sized red halos based on the number of errors
  • Trace Analysis table: Filter and group span data from the baseline and regression to narrow down your analysis.

Learn more about using the Comparison view to investigate changes in service performance.

See an Overview of Operations and Their Performance

When you select a service from the list, a details pane on the Operations tab shows the service’s operations currently reporting to Lightstep in alphabetical order, and performance metrics aggregated over the past 15 to 5 minutes (10 minutes total). The number on the tab tells you how many operations are on this service.

The table provides several useful performance metrics for each operation:

  • Latency Change: Change in latency between now and the time period set using the Change Since dropdown.
  • Latency: How long the operation took to complete for a given percentile, set using the Percentile dropdown.
  • Error Change: The percentage change in error rate for the time period set using the Change Since dropdown.
  • Errors: The percentage of operations that contain an error.
  • Rate Change: The percentile change of rate in the time period set using the Change Since dropdown.
  • Rate: The number of times the operation occurred per second.
  • Create/View Stream: View or create a Stream for this operation.

Search and Filter Operations

  • Use the Search box to search for operations by name. As you type, Lightstep filters the list of operations that match your entry.
  • View only ingress or egress operations by clicking the respective tab. Ingress operations are the first operations handling external requests from outside that service (i.e. API HTTP GET etc.). Egress operations are those that call out to external services.

To see if other services are affecting an operation, run a query for the operation in Explorer and then use the Service Diagram to view upstream and downstream services and their performance.
You can also run that query and use the Trace Analyzer table to sort, filter, and group service, operations, and tags to find upstream or downstream issues.

Create and View Streams for an Operation or Service

Streams allow you to passively monitor performance over time. Once you create a Stream, the Satellites automatically collect and persist comprehensive span data about that operation without requiring a request from the UI for the data. Lightstep persists both statistical time series data and example traces, making them especially useful for tracking SLAs and alerting.

Create and View an Operation’s Stream

You can create and view Streams created for an operation from the Operations tab. If a Stream exists for an operation, a View Stream button displays for the operation name. Click the button to view the Stream.

If a Stream doesn’t exist yet, a Create Stream button displays. Click that button to create a Stream. The Stream is given the same name as the operation.

Best Practice - Create streams for your ingress operations
Usually, ingress operations for a service are high level enough that they indicate performance problems within a single service, and granular enough that finding the root cause of a performance problem is straightforward.

Create and View Streams for a Service

You can make Streams not just for an operation, but for any combination of service, operation, and tag (anything you can query for in Explorer).

To view all Streams for a service, click the Streams tab. The number on the tab tells you how many Streams exist for this service. out to external services.

Click a Stream to view it.

Create a Stream for this service by clicking Create Stream. You can add operations or tags to the query.

Read Monitor a Service Level Indicator with Streams to learn more about Streams.

View Dashboards

Dashboards are collections of Streams shown in one place. Click the Dashboards tab to view dashboards that include a Stream for this service. The number on the tab tells you how many dashboards exist for this service.

Click a dashboard to view it.

Read Create Dashboards from Streams to learn more.

View and Improve Your Instrumentation Quality

The data you can view and use in Lightstep depends on the quality of your tracing instrumentation. The better and more comprehensive your instrumentation is, the better Lightstep can collect and analyze your data to provide highly actionable information.

Lightstep analyzes the instrumentation on your services and determines how you can improve it to make your Lightstep experience even better. It can determine whether you instrumentation:

  • Crosses services to create full traces
  • Includes interior spans to help find the critical path
  • Contains custom tags to help find correlated areas of latency
  • Uses tags for releases to help monitor regressions
  • Contains hostname tags to help find performance issues in different environments.

Click the Instrumentation Quality tab to learn how well your instrumentation measures up. The number on the tab gives your score (based on 100%).

Learn more about what your score means and how to fix it.