DEV Community

Cover image for Tracetest Monitors: Trace-based testing meets Synthetic Monitoring šŸ”„
Adnan Rahić for Kubeshop

Posted on • Originally published at tracetest.io

Tracetest Monitors: Trace-based testing meets Synthetic Monitoring šŸ”„

Are you ready to get your mind blown!? šŸ§ šŸ’„

Trace-based synthetic monitoring is here! You can now create ā€œMonitorsā€ for Tracetest tests and test suites.

Image description

Tracetest Monitors is a framework for creating scheduled runs of tests and test suites, and getting alerted when they fail. With native support for webhooks, you can choose how to integrate with you favorite alerting tools!

Image description

Weā€™re dedicated to user experience and giving customers the easiest way of automating test runs without needing external CI tools. We want to give you the best possible tooling to embrace the ā€œtest in productionā€ mindset too! Letā€™s be honest, we all do it! šŸ˜Ž

Join our demo environment to try it out yourself!!

The Problem ā€” Scheduled Testing is Not as Simple as it Sounds

Test observability and trace-based testing has become a staple in the OpenTelemetry community. Having the power of distributed tracing at your fingertips when troubleshooting tests and writing assertions is immense. Itā€™s highly advocated by the OpenTelemetry contributors in the official demo repository. While they, and all our other customers, are rolling their own automation with CI, to get the full benefit of trace-based testing, weā€™ve noticed it can often be a nuisance.

Configuring automated trace-based testing across multiple environments, using several tests, with a set timeframe of, letā€™s say, every 15 minutes, is not as simple as it sounds. Youā€™d ā€œjustā€ need a CI tool of sorts, like GitHub Actions, or Jenkins. Youā€™d maybe even settle for ā€œjustā€ creating a Kubernetes Job and defining it to run as a cron.

All of this is not as simple as using the word ā€œjustā€.

Letā€™s normalize that ā€œjustā€ is relative and canā€™t apply the same to me, you, or someone else.

DevOps work like this can get exponentially more complex the more moving parts you introduce. A lot of the time SREs can get overloaded. Thatā€™s why shifting left and enabling the entire engineering team to perform synthetic testing in production, and across all your environments, is so powerful.

The Idea ā€” The Beginning of Synthetic Testing

We introduced the Automate tab back in July of 2023 including this guide about simulating synthetic monitoring with GitHub Actions.

Image description

Making trace-based synthetic monitoring a reality has been a dream since then. But, waking up from dreams takes you back to reality. Back in July of last year we were hyper-focused on releasing Tracetest Open Beta and making Tracetest widely available for our users as a cloud-based managed platform.

Weā€™ve grown and matured since then. Finally, reaching a point where adding scheduled runs with Monitors has become reality!

The Solution ā€” Trace-based Synthetic Monitoring

The first-ever native synthetic monitoring tool for trace-based testing is live! Create a Monitor to run tests and test suites on a schedule.

Image description

Get alerted via webhooks by integrating with your favorite alerting tools.

Image description

Monitors leverage the existing Runs and Run Groups resources in Tracetest and build on top of it by enabling scheduling and alerting. Every Monitor you define will be presented as a Run Group with an additional tag using the specific name of the Monitor. Here you can see a list of Run Groups that include two Run Groups labeled as a Monitor.

Image description

Selecting the #c85ea8f8-805d-4064-86ea-1aad2074e9c9 Run Group shows which tests are part of the Monitor.

Image description

Filtering Runs by the Monitor tag is also available in the Runs view.

Image description

Releasing Monitors as a Synthetic Monitoring feature has been a long-standing dream, and it has finally arrived. This is the culmination of almost a year of planning and laying the groundwork to launch it for you! Now you can finally get the full benefit of test observability and trace-based testing and easy-to-use test automation for both production and pre-production environments.

How to Start Using Tracetest Synthetic Monitoring?

Make sure to use Tracetest v.1.3.1 and above. There are no other requirements. Click on the Monitors tab, click Create and have fun!

Whatā€™s Next?

First and foremost, we welcome your feedback on the initial version of Tracetest Monitors!

We recognize that there are big opportunities for improvement. Ensuring that the features we're developing meet the community's needs is our priority!

Last, but not least, do you want to learn more about Tracetest and what it brings to the table? Check theĀ docsĀ and try it out byĀ signing upĀ 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)