DEV Community

Cover image for Tracetest - Recapping 2023
Ken Hamric for Kubeshop

Posted on • Edited on

Tracetest - Recapping 2023

What a year 2023 was for Tracetest and Trace-based Testing! Let's start by looking at it through numbers:

  • Grew from <400⭐ to 768⭐!
  • Had 52 public releases - exactly one per week!
  • Added integrations for 9 additional tracing backends: DataDog, AWS X-Ray, Honeycomb, Azure Apps Insight, SigNoz, Dynatrace, Lightstep, Elastic, and New Relic. This makes a total of 15 supported tracing backends, plus any others that use the OpenTelemetry Collector.
  • Added 5 integrations: Github Actions, Tekton, Keptn, Testkube, and our favorite, k6. Expect many more of these in 2024!
  • Attended 10 different conferences across 3 different continents, including KubeCon Amsterdam and Chicago, Monitorama in Portland, DeveloperWeek in both San Mateo and Latin America, OpenSearch in Seattle, FOSDEM in Brussels, and others.
  • Published 3 user case studies: Sigma Software testing with k6+Tracetest, Uzufly testing from the browser with OpenTelemetry, and how Tyk is leveraging Tracetest for integration testing of their new native support of OpenTelemetry.

With all the activity, new users and use cases, releases, and improvements, it is hard to pick the most impactful, but four stand out:

k6 Integration

In February, Tracetest teamed up with k6 to provide deep assertions when running load tests. When running a load test against any complex system, being able to detect where the system is failing and verify the entire flow is critical.

The k6 integration allows trace-based tests to be run against each of the hundreds or thousands of runs in a load test, enabling deep detection across the full system.

Check out this 8 minute video guide on how to get started!

https://www.youtube.com/watch?v=cv-9-pkLqbY

Trace Analyzer

In May, the team introduced the Trace Analyzer as a means to help developers and teams instrument their applications easier and more consistently. We considered calling it the Trace Linter. Its purpose is to inspect the trace data and ensure it is following the OpenTelemetry semantic conventions, look for common problems and maintain standards, and help you find security problems. These additional validations can be run automatically as part of your CI/CD process, allowing you to verify the quality of your instrumentation across all your teams.

https://res.cloudinary.com/djwdcmwdz/image/upload/v1704892868/Blogposts/2023-tracetest-product-recap/Untitled_14_qzbww4.png

Inclusion in the OpenTelemetry Community Demo

OpenTelemetry is a CNCF incubating project promoting an open standards-based approach to instrumenting applications to enable observability. It is 'the' standard in the observability space, with widespread industry support.

The community behind OpenTelemetry provides an OpenTelemetry Demo which allows new users to understand how to instrument their own systems. This demo is a microservice-based architecture, written in 11 different languages, with over 12 services, and maintained by dozens of contributors.

In May of 2023, the community decided they needed better testing due to a number of breaking commits, and Tracetest was able to contribute a series of trace-based tests to ensure the quality of the releases. These tests are now run as part of the CI/CD process for the demo, making Tracetest a key component in ensuring successful releases for the project.

https://res.cloudinary.com/djwdcmwdz/image/upload/v1704892916/Blogposts/2023-tracetest-product-recap/Untitled_15_wlqq9u.png

Tracetest Managed Platform

In October, the Tracetest commercial offering was released, and the open-source version was rebranded as Tracetest Core. Tracetest introduced several new features in addition to the ones already available in Tracetest Core.

  • Tracetest Core installs directly into the test environment. However, with ephemeral test instances, the results were not accessible once the tests were finished and the test instance was reclaimed. This resulted in the loss of one of the key benefits of trace-based testing - the ability to visually observe the entire process of a failed test run, including which assertions failed and what was happening in the system before and after the failure point.
  • Tracetest has a loyal following of customers using Tracetest to test FaaS (Function-as-a-Service) based systems. These customers do not want to manage servers, and the hosted Tracetest eliminates this unwanted additional work.
  • Tracetest eases both networking and installation. Tracetest Core requires a local server installation into Docker or Kubernetes. This made local development on the desktop harder, as network configuration was required. With Tracetest, you just install an agent on your local machine, in Docker, or in Kubernetes, and it immediately can listen for OpenTelemetry spans.
  • Tracetest Core is built for a single user and single environment. Tracetest enables organizations, with multiple environments, users, roles, and SSO.

Looking Forward

The team is excited to enter 2024! We will expand the scope of Tracetest by integrating it into the load test, synthetic monitoring, and front-end testing fields. Our first major announcement will be the introduction of true end-to-end testing using Trace-Based Testing (hint: with Cypress). Stay tuned for this thrilling and potentially groundbreaking release!

https://res.cloudinary.com/djwdcmwdz/image/upload/v1704892936/Blogposts/2023-tracetest-product-recap/image_62_zbwink.png

Would you like to learn more about Tracetest and what it brings to the table? Visit the Tracetest docs and try it out by downloading it today!

Also, please feel free to join our Slack community, give Tracetest a star on GitHub, or schedule a time to chat 1:1.

Top comments (0)