Instrumentation Quality Scores: Guiding You to Better Telemetry Data
by Valjean Clark
So, you’ve just finished setting up a new service. You can now see how it relates to other services and third-party dependencies, and if it’s contributing to latency or throwing errors.
And when you deploy your next release, you can see how your service is affected — and how it affects other services across your system.
But how do you know if your service has been instrumented as well as it could be?
Lightstep can now answer these questions through our new feature: Instrumentation Quality Scores.
Instrumentation Quality Scores show how well your services are instrumented, and provide specific advice on how to make improvements.
They also offer immediate feedback on where and how to fix any issues with your instrumentation.
To determine a score for each service, we evaluate five factors:
- Service boundary spans: Have you instrumented client and server operations so that we can identify service boundaries? If not, you should! Our Service Diagram and traces will more accurately reflect your actual system.
- Release tags: Have you tagged your spans with release tags? Tagging spans with the release version can help you attribute a problem to a particular release.
- Interior spans: Do your operations have interior spans? Adding instrumentation to complex methods can help you narrow down performance issues to a particular segment of code. Then you will not only know that a particular service is slow, but also that a particular method is to blame.
- Custom tags: Have you tagged your spans with custom tags? For example, tagging spans with an AWS region can help you attribute a problem to a particular region. Or maybe a particular customer is having issues — tagging spans with a customer ID would help you identify this. Seeing these tag values throughout the product is valuable, and in particular our Correlations feature can help you identify problems unique to a tag (this is also true of the release tag and hostname tag factors as well).
- Hostname tags: Have you tagged your spans with hostname tags? Tagging spans with the hostname can help you attribute a problem to a specific container, host or pod.
Earlier this year, alongside Google, Microsoft, Uber, CNCF, and many other organizations, we announced that OpenTracing and OpenCensus are merging to form a new standard: OpenTelemetry.
Lightstep’s work on instrumentation quality scoring helps guide our contributions to the OpenTelemetry core and OpenTelemetry integrations into frameworks and applications.
The long-term goal of this effort is to make developer tools and systems observable by default — regardless of vendor, platform, framework, or technology.
To learn more about OpenTelemetry, check out our weekly review of news, events, and projects updates. It’s called … OTel Me More :)