Aspire-based load testing harness - #5830
Draft
rbev wants to merge 13 commits into
Draft
Conversation
…out improvements Adds a ServiceControl instance variable to filter metrics by exported_job, reorganises panels into labelled rows, and adds a full set of ingestion observability panels covering throughput stats, latency percentiles, batch health, storage duration, failure disposition, and a duration heatmap. Also replaces hardcoded 1m rate windows with $__rate_interval throughout.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new ServiceControl testing tool, including its CI workflow, build configuration, containerization, and orchestration with an observability stack and platform services. The tool is a service designed to generate error load and real-world failure scenarios for ServiceControl, with built-in OpenTelemetry instrumentation and a web UI for controlling load. The changes lay out the tool’s structure, containerization, CI integration, and orchestration via Aspire.
Testing Tool Introduction and Documentation:
Dockerfileto build and package the testing tool as a container image, using the same chiseled .NET base as the rest of the ServiceControl platform for consistency and minimal runtime footprint..github/workflows/testing-tool-ci.yml) to build the testing tool on pushes and pull requests, including solution build, Aspire AppHost build, and container image build steps.Platform Orchestration and Observability:
TestingTool.AppHostproject files (AppHost.cs,CliOptions.cs,HostBuilderExtensions.cs) to orchestrate the testing tool alongside ServiceControl, ServicePulse and the other required dependencies, along with a full observability stack (OTel Collector, Jaeger, Prometheus, Grafana) using Aspire. These files provide extension points for persistence selection and command-line configuration.