Giter VIP home page Giter VIP logo

test-infra's Introduction

test-infra - gRPC test infrastructure

This repository contains code for systems that test gRPC which are versioned, released or deployed separately from the gRPC Core codebase.

For an overview, see blog post.

gRPC OSS benchmarks

gRPC OSS benchmarks are a collection of libraries and executables to schedule, run and monitor gRPC performance benchmarking tests on a Kubernetes cluster.

Controller

The main executable is a custom controller that manages resources of kind LoadTest. This controller must be deployed to the cluster before load tests can be run on it. For deployment information, see deployment. The controller is implemented with kubebuilder.

Tools

There is a set of tools used to generate load test configurations, prepare prebuilt images and run batches of tests. These tools are used to run batches of tests for continuous integration.

Examples

Examples of load test configurations in the supported languages are also provided.

Dashboard

The data generated in continuous integration are saved to BigQuery, and displayed on a public dashboard linked from the gRPC performance benchmarking page.

For more information, and to build your own dashboard, see dashboard.

PSM benchmarks

This repository now includes infrastructure to support service mesh benchmarks comparing dataplane performance of proxyless gRPC service mesh (PSM) deployments and that of proxied deployments using an Envoy sidecar.

The client pod in PSM benchmarks includes a fake xDS server that serves as a gRPC control plane. The client pod in the proxied case also includes an Envoy sidecar.

Prometheus is used to monitor CPU and memory utilization in PSM benchmarks.

Examples of proxied and proxyless tests are now available.

This is only an initial release. Additional features and more detailed documentation will be added in a future release.

Contributing

Welcome! Please read how to contribute before proceeding.

test-infra's People

Contributors

codeblooded avatar paulosjca avatar wanlin31 avatar jtattermusch avatar ybbbby avatar drfloob avatar brandonpaiz avatar dependabot[bot] avatar fenggw-fnst avatar jamesnk avatar luankevinferreira avatar murgatroid99 avatar monsahai avatar apolcyn avatar sahana-r avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.