open-match.dev/open-match@v1.8.1/examples/scale/README.md (about) 1 ## How to use this framework 2 3 This is the framework that we use to benchmark Open Match against different matchmaking scenarios. For now (02/24/2020), this framework supports a Battle Royale, a Basic 1v1 matchmaking, and a Team Shooter scenario. You are welcome to write up your own `Scenario`, test it, and share the number that you are able to get to us. 4 5 1. The `Scenario` struct under the `scenarios/scenarios.go` file defines the parameters that this framework currently support/plan to support. 6 2. Each subpackage `battleroyal`, `firstmatch`, and `teamshooter` implements to `GameScenario` interface defined under `scenarios/scenarios.go` file. Feel free to write your own benchmark scenario by implementing the interface. 7 - Ticket `func() *pb.Ticket` - Tickets generator 8 - Profiles `func() []*pb.MatchProfile` - Profiles generator 9 - MMF `MatchFunction(p *pb.MatchProfile, poolTickets map[string][]*pb.Ticket) ([]*pb.Match, error)` - Custom matchmaking logic using a MatchProfile and a map struct that contains the mapping from pool name to the tickets of that pool. 10 - Evaluate `Evaluate(stream pb.Evaluator_EvaluateServer) error` - Custom logic implementation of the evaluator. 11 12 Follow the instructions below if you want to use any of the existing benchmarking scenarios. 13 14 1. Open the `scenarios.go` file under the scenarios directory. 15 2. Change the value of the `ActiveScenario` variable to the scenario that you would like Open Match to run against. 16 3. Make sure you have `kubectl` connected to an existing Kubernetes cluster and run `make push-images` followed by `make install-scale-chart` to push the images and install Open Match core along with the scale components in the cluster. 17 4. Run `make proxy` 18 - Open `localhost:3000` to see the Grafana dashboards. 19 - Open `localhost:9090` to see the Prometheus query server. 20 - Open `localhost:[COMPONENT_HTTP_ENDPOINT]/help` to see how to access the zpages.