Our great sponsors
-
tracetest-github-action
GitHub Action for running trace-based tests against Tracetest with our CI/CD pipeline
-
tracetest
🔭 Tracetest - Build integration and end-to-end tests in minutes, instead of days, using OpenTelemetry and trace-based testing.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
opentelemetry-demo
This repository contains the OpenTelemetry Astronomy Shop, a microservice-based distributed system intended to illustrate the implementation of OpenTelemetry in a near real-world environment.
In this article, I’ve explained how the Tracetest team uses synthetic monitoring to evaluate the Tracetest open beta using GitHub Actions using Tracetest’s new GitHub Action to configure GitHub Workflows. With these tools, our team can add more monitoring to Tracetest and validate that our systems are working as expected. You’re now fully equipped to implement this knowledge in your own GitHub Actions to trigger trace-based tests easily!
It’s official! You can now use synthetic monitoring to run trace-based tests with Tracetest’s new GitHub Action. I’ve already implemented dogfooding and it’s currently running in production as health checks, running hourly, here.
# test suite based on https://github.com/open-telemetry/opentelemetry-demo/tree/main/test/tracetesting/frontend-service type: Test spec: id: frontend-view-cart name: 'Frontend: View cart' description: Simulate a user viewing the shopping cart trigger: type: http httpRequest: url: http://${var:FRONTEND_ADDR}/api/cart?userId=2491f868-88f1-4345-8836-d5d8511a9f83 method: GET headers: - key: Content-Type value: application/json specs: - name: It called the frontend with success selector: span[tracetest.span.type="general" name="Tracetest trigger"] assertions: - attr:tracetest.response.status = 200 - name: It retrieved the cart items correctly selector: span[name="oteldemo.CartService/GetCart"] assertions: - attr:rpc.grpc.status_code = 0
As a final step, you can add a notification step that tell you if the tests failed. To do that, I'm using slackapi/slack-github-action that allows you to send a Slack message about the test conclusion. In my case, I've set it to send messages only in case of failures:
Related posts
- Implementing OTel Trace Context Propagation Through Message Brokers with Go
- Setup and Teardown of Tracetest Tests with Test Suites
- Automating Tracetest Tests via Typescript or Javascript
- Sumo Logic and Tracetest: AI-Driven Observability Meets Testing
- The Power of Traces: Learn by Contributing to OpenTelemetry