dashboard/

directory
v1.5.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 26, 2023 License: Apache-2.0

README

Dashboard

This folder contains the components necessary to build and deploy a dashboard to visualize gRPC OSS benchmarking results.

gRPC OSS benchmarks save results to BigQuery. The dashboard consists of two components:

  1. A Postgres replicator, to transfer the results to a Postgres database.
  2. A Grafana dashboard, to display the results from the Postgres database.

These components can be built and deployed manually using the Makefile (see manual build).

Notice that the dashboard build is independent from the top-level build.

Configuration

The configuration of the Postgres replicator is defined in a YAML file. The default configuration is defined here, in template form:

For more information, see Postgres replicator.

The configuration of the Grafana dashboard is defined in a set of dashboards specified in JSON files. The default configuration is defined here:

The continuous integration dashboard linked from the gRPC performance benchmarking page uses the default configuration. The variables REPLICATOR_CONFIG_TEMPLATE and DASHBOARDS_CONFIG_DIR can be set to build dashboards with different configurations.

There is also a second default dashboard for PSM benchmarks. Deployment of this dashboard is optional, as described below. The configuration of this dashboard is defined here:

Cloud build

The continuous integration dashboard is built and deployed with Cloud Build, using the configuration specified in cloudbuild.yaml.

The use of Cloud Build allows the dashboard to be redeployed automatically on configuration changes. In addition, it allows passwords such as PG_PASS and GRAFANA_ADMIN_PASS to be stored as secrets in the cloud project.

Manual build

Several environment variables must be set before building and deploying. The table below shows the names and values of the variables in our main dashboard:

Variable Value
BQ_PROJECT_ID grpc-testing
CLOUD_SQL_INSTANCE grpc-testing:us-central1:grafana-data
GCP_DATA_TRANSFER_SERVICE postgres-replicator
GCP_GRAFANA_SERVICE grafana
GCP_PROJECT_ID grpc-testing
GRAFANA_ADMIN_PASS ...
PG_DATABASE datasource
PG_PASS ...
PG_USER grafana-user
PSM true

The dashboard for PSM benchmarks is only deployed if the PSM variable is set to a non-empty value, for instance PSM=true.

Docker files that can be used to build and deploy the Postgres replicator and Grafana dashboard are then created with the following commands:

make configure-replicator
make configure-grafana

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL