diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index c3fb8089d6..0783cde244 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -6,12 +6,12 @@ labels: bug
## Environment
-- [ ] Rivet Cloud
- - Game ID: [please provide]
-- [ ] Rivet self-hosted local
- - Version/commit: [please provide]
-- [ ] Rivet self-hosted cluster
- - Version/commit: [please provide]
+- [ ] Rivet Cloud
+ - Game ID: [please provide]
+- [ ] Rivet self-hosted local
+ - Version/commit: [please provide]
+- [ ] Rivet self-hosted cluster
+ - Version/commit: [please provide]
## Description
diff --git a/.prettierrc b/.prettierrc
index 4154cc7922..804fbf1773 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -4,12 +4,26 @@
"printWidth": 110,
"endOfLine": "lf",
"overrides": [
+ {
+ "files": "*.md",
+ "options": {
+ "proseWrap": "always",
+ "tabWidth": 2,
+ "embeddedLanguageFormatting": "off"
+ }
+ },
{
"files": ["*.yml", "*.yaml"],
"options": {
"tabWidth": 2,
"useTabs": false
}
+ },
+ {
+ "files": "*.json",
+ "options": {
+ "tabWidth": 2
+ }
}
]
}
diff --git a/.vscode/rivet.code-workspace b/.vscode/rivet.code-workspace
index d6f3225895..445d8457b4 100644
--- a/.vscode/rivet.code-workspace
+++ b/.vscode/rivet.code-workspace
@@ -1,10 +1,10 @@
{
"folders": [
{
- "path": ".."
+ "path": "..",
},
{
- "path": "../lib/bolt"
- }
+ "path": "../lib/bolt",
+ },
],
-}
\ No newline at end of file
+}
diff --git a/README.md b/README.md
index 6855342314..a9b9883eaa 100644
--- a/README.md
+++ b/README.md
@@ -18,18 +18,20 @@
Deploy game servers in minutes across multiple regions & clouds providers.
-- Optimize for performance or cost, servers starting at $2.85/mo
-- Auto-scales 90% faster than AWS GameLift
-- No-downtime deploys & instant rollbacks
-- Monitoring & crash reporting
+- Optimize for performance or cost, servers
+ starting at
+ $2.85/mo
+- Auto-scales 90% faster than AWS GameLift
+- No-downtime deploys & instant rollbacks
+- Monitoring & crash reporting
[Documentation](https://rivet.gg/docs/dynamic-servers)
### 🛡️ DDoS Mitigation
-- No added latency
-- Supports UDP & TCP & WebSockets & WebRTC
-- Automatic SSL for game servers (WebSockets & TCP+TLS)
+- No added latency
+- Supports UDP & TCP & WebSockets & WebRTC
+- Automatic SSL for game servers (WebSockets & TCP+TLS)
[Documentation](https://rivet.gg/docs/dynamic-servers/concepts/game-guard)
@@ -37,9 +39,9 @@ Deploy game servers in minutes across multiple regions & clouds providers.
Asset delivery, game downloads, & website hosting
-- Custom domains
-- Instant rollbacks
-- Automatic SSL
+- Custom domains
+- Instant rollbacks
+- Automatic SSL
[Documentation](https://rivet.gg/docs/cdn)
@@ -47,9 +49,9 @@ Asset delivery, game downloads, & website hosting
Write server-side logic using TypeScript (or use your own API server)
-- Modules include matchmaking, parties, authentication, & more
-- Postgres database included for persistence
-- Powered by Open Game Backend
+- Modules include matchmaking, parties, authentication, & more
+- Postgres database included for persistence
+- Powered by Open Game Backend
[Documentation](https://opengb.dev/)
@@ -59,7 +61,7 @@ Write server-side logic using TypeScript (or use your own API server)
| ------------------ | -------------------------------------------------------------------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------- |
| Godot | [rivet-gg/plugin-godot](https://github.com/rivet-gg/plugin-godot) | [Learn](https://rivet.gg/learn/godot) | [Examples](https://github.com/rivet-gg/examples/tree/main?tab=readme-ov-file#godot) |
| Unity | [rivet-gg/plugin-unity](https://github.com/rivet-gg/plugin-unity) | [Learn](https://rivet.gg/learn/unity) | [Examples](https://github.com/rivet-gg/examples/tree/main?tab=readme-ov-file#unity) |
-| Unreal Engine | [rivet-gg/plugin-unreal](https://github.com/rivet-gg/plugin-unreal) | [Learn](https://rivet.gg/learn/unreal) | _WIP_ |
+| Unreal Engine | [rivet-gg/plugin-unreal](https://github.com/rivet-gg/plugin-unreal) | [Learn](https://rivet.gg/learn/unreal) | _WIP_ |
| HTML5 & JavaScript | [@rivet-gg/api](https://github.com/rivet-gg/rivet/tree/main/sdks/runtime/typescript) | [Learn](https://rivet.gg/learn/html5) | [Examples](https://github.com/rivet-gg/examples/tree/main?tab=readme-ov-file#javascript) |
| Rust | [rivet-api](https://github.com/rivet-gg/rivet/tree/main/sdks/runtime/rust) | [Learn](https://rivet.gg/learn/custom) | [Examples](https://github.com/rivet-gg/examples?tab=readme-ov-file#other) |
| Go | [Source](https://github.com/rivet-gg/rivet/tree/main/sdks/runtime/go) | [Learn](https://rivet.gg/learn/custom) | [Examples](https://github.com/rivet-gg/examples?tab=readme-ov-file#other) |
@@ -73,7 +75,8 @@ See the [setup guide](/docs/getting_started/DEVELOPMENT.md) to develop & deploy
**Rivet Cloud**
-[Rivet Cloud](https://rivet.gg) is the fastest and most affordable way to get your game up and running. Sign up at [rivet.gg](https://rivet.gg).
+[Rivet Cloud](https://rivet.gg) is the fastest and most affordable way to get your game up and running. Sign
+up at [rivet.gg](https://rivet.gg).
## 💬 Community & Support
@@ -81,10 +84,11 @@ See the [setup guide](/docs/getting_started/DEVELOPMENT.md) to develop & deploy
[Invite](https://rivet.gg/discord)
-- **Lounge** The Rivet team is remote and does most of their work in public Discord voice chat. Come drop by if you have questions or want to hang!
-- **#support** Ask questions about getting your game runnin on Rivet
-- **#open-source-dev** Ask questions about the open source repo
-- **#showcase** Show off your game, get feedback
+- **Lounge** The Rivet team is remote and does most of their work in public Discord voice chat. Come drop by
+ if you have questions or want to hang!
+- **#support** Ask questions about getting your game runnin on Rivet
+- **#open-source-dev** Ask questions about the open source repo
+- **#showcase** Show off your game, get feedback
**Releases**
@@ -100,11 +104,13 @@ Bugs and feature requests can be submitted as a GitHub Issue.
We create public issues for most items on our roadmpa.
-Subscribe to issues to get notified when they're updated. Add a 👍 reaction to issues to get them prioritized faster
+Subscribe to issues to get notified when they're updated. Add a 👍 reaction to issues to get them prioritized
+faster
## 📐 Architecture
-We maintain a detailed architecture diagram [here](https://www.figma.com/file/GvCj77EG79NUoW1dRG4qkg/Architecture?type=whiteboard&node-id=0%3A1&t=WqMQ2r6avjM0jPK0-1).
+We maintain a detailed architecture diagram
+[here](https://www.figma.com/file/GvCj77EG79NUoW1dRG4qkg/Architecture?type=whiteboard&node-id=0%3A1&t=WqMQ2r6avjM0jPK0-1).

@@ -126,104 +132,104 @@ $(tree docs/)
-->
-- [About](docs/about)
- - [Telemetry](docs/about/TELEMETRY.md)
-- [Getting Started](docs/getting_started)
- - [Debugging](docs/getting_started/DEBUGGING.md)
- - [Development Firewalls](docs/getting_started/DEVELOPMENT_FIREWALLS.md)
- - [Development](docs/getting_started/DEVELOPMENT.md)
- - [Project Structure](docs/getting_started/PROJECT_STRUCTURE.md)
- - [Rust Analyzer](docs/getting_started/RUST_ANALYZER.md)
- - [Services](docs/getting_started/SERVICES.md)
-- [Infrastructure](docs/infrastructure)
- - [Alertmanager](docs/infrastructure/alertmanager/TESTING_ALERTS.md)
- - [ClickHouse](docs/infrastructure/clickhouse)
- - [Readme](docs/infrastructure/clickhouse/README.md)
- - [Troubleshooting](docs/infrastructure/clickhouse/TROUBLESHOOTING.md)
- - [Why ClickHouse](docs/infrastructure/clickhouse/WHY_CLICKHOUSE.md)
- - [Cockroach](docs/infrastructure/cockroach)
- - [Readme](docs/infrastructure/cockroach/README.md)
- - [Why Cockroach](docs/infrastructure/cockroach/WHY_COCKRAOCH.md)
- - [Helm](docs/infrastructure/helm/TROUBLESHOOTING.md)
- - [Imagor](docs/infrastructure/imagor/MEDIA_DELIVERY_AND_RESIZING.md)
- - [K3d](docs/infrastructure/k3d/TROUBLESHOOTING.md)
- - [K8s](docs/infrastructure/k8s)
- - [Tips](docs/infrastructure/k8s/TIPS.md)
- - [Troubleshooting](docs/infrastructure/k8s/TROUBLESHOOTING.md)
- - [Minio](docs/infrastructure/minio/TROUBLESHOOTING.md)
- - [Nats](docs/infrastructure/nats/TROUBLESHOOTING.md)
- - [Networking](docs/infrastructure/networking)
- - [Edge Cluster Networking](docs/infrastructure/networking/EDGE_CLUSTER_NETWORKING.md)
- - [IP Ranges](docs/infrastructure/networking/IP_RANGES.md)
- - [IPv6](docs/infrastructure/networking/IPV6.md)
- - [Nix](docs/infrastructure/nix)
- - [Lorri](docs/infrastructure/nix/LORRI.md)
- - [Readme](docs/infrastructure/nix/README.md)
- - [Nomad](docs/infrastructure/nomad/README.md)
- - [Prometheus](docs/infrastructure/prometheus/README.md)
- - [Protobuf](docs/infrastructure/protobuf/TIMESTAMPS.md)
- - [Redis](docs/infrastructure/redis)
- - [Hosting Providers](docs/infrastructure/redis/HOSTING_PROVIDERS.md)
- - [Readme](docs/infrastructure/redis/README.md)
- - [Sharding](docs/infrastructure/redis/SHARDING.md)
- - [Tips](docs/infrastructure/redis/TIPS.md)
- - [Troubleshooting](docs/infrastructure/redis/TROUBLESHOOTING.md)
- - [Why Redis](docs/infrastructure/redis/WHY_REDIS.md)
- - [Rust](docs/infrastructure/rust/TROUBLESHOOTING.md)
- - [S3](docs/infrastructure/s3/TROUBLESHOOTING.md)
- - [SBOM](docs/infrastructure/SBOM.md)
- - [Terraform](docs/infrastructure/terraform)
- - [Configs and Secrets](docs/infrastructure/terraform/CONFIGS_AND_SECRETS.md)
- - [Readme](docs/infrastructure/terraform/README.md)
- - [Troubleshooting](docs/infrastructure/terraform/TROUBLESHOOTING.md)
- - [Timeouts](docs/infrastructure/TIMEOUTS.md)
- - [Traefik](docs/infrastructure/traefik)
- - [Ing Job Sizing Methodology](docs/infrastructure/traefik/ING_JOB_SIZING_METHODOLOGY.md)
- - [Readme](docs/infrastructure/traefik/README.md)
- - [Router Priorities](docs/infrastructure/traefik/ROUTER_PRIORITIES.md)
- - [Traffic Server](docs/infrastructure/traffic_server)
- - [Readme](docs/infrastructure/traffic_server/README.md)
- - [Why Traffic Server](docs/infrastructure/traffic_server/WHY_TRAFFIC_SERVER.md)
-- [Libraries](docs/libraries)
- - [Bolt](docs/libraries/bolt)
- - [Buggy Cache Purging](docs/libraries/bolt/BUGGY_CACHE_PURGING.md)
- - [Config](docs/libraries/bolt/config)
- - [Cloudflare](docs/libraries/bolt/config/CLOUDFLARE.md)
- - [DNS](docs/libraries/bolt/config/DNS.md)
- - [Linode](docs/libraries/bolt/config/LINODE.md)
- - [Namespace](docs/libraries/bolt/config/NAMESPACE.md)
- - [Sendgrid](docs/libraries/bolt/config/SENDGRID.md)
- - [Debugging Services](docs/libraries/bolt/DEBUGGING_SERVICES.md)
- - [Feature Flagging](docs/libraries/bolt/FEATURE_FLAGGING.md)
- - [Readme](docs/libraries/bolt/README.md)
- - [Regions](docs/libraries/bolt/REGIONS.md)
- - [Chirp](docs/libraries/chirp)
- - [Error Handling](docs/libraries/chirp/ERROR_HANDLING.md)
- - [Glossary](docs/libraries/chirp/GLOSSARY.md)
- - [Readme](docs/libraries/chirp/README.md)
- - [Claims](docs/libraries/claims/JWT.md)
-- [Packages](docs/packages)
- - [Api-Auth](docs/packages/api-auth/HUB_AUTH.md)
- - [Cluster](docs/packages/cluster)
- - [Autoscaling](docs/packages/cluster/AUTOSCALING.md)
- - [Server Provisioning](docs/packages/cluster/SERVER_PROVISIONING.md)
- - [TLS and DNS](docs/packages/cluster/TLS_AND_DNS.md)
- - [Job](docs/packages/job/DOCKER_IMAGE_DELIVERY.md)
- - [Mm](docs/packages/mm/IDLE_LOBBIES.md)
- - [Upload](docs/packages/upload/UPLOADS.md)
-- [Philosophy](docs/philosophy)
- - [Infra as Code](docs/philosophy/INFRA_AS_CODE.md)
- - [Licensing](docs/philosophy/LICENSING.md)
- - [Why Open Source](docs/philosophy/WHY_OPEN_SOURCE.md)
-- [Processes](docs/processes)
- - [Changelog](docs/processes/CHANGELOG.md)
- - [Deploy Process](docs/processes/DEPLOY_PROCESS.md)
- - [Making Changes](docs/processes/MAKING_CHANGES.md)
- - [Project Management](docs/processes/PROJECT_MANAGEMENT.md)
- - [Pull Requests](docs/processes/PULL_REQUESTS.md)
- - [Refactoring](docs/processes/REFACTORING.md)
- - [Releasing](docs/processes/RELEASING.md)
- - [Versioning](docs/processes/VERSIONING.md)
+- [About](docs/about)
+ - [Telemetry](docs/about/TELEMETRY.md)
+- [Getting Started](docs/getting_started)
+ - [Debugging](docs/getting_started/DEBUGGING.md)
+ - [Development Firewalls](docs/getting_started/DEVELOPMENT_FIREWALLS.md)
+ - [Development](docs/getting_started/DEVELOPMENT.md)
+ - [Project Structure](docs/getting_started/PROJECT_STRUCTURE.md)
+ - [Rust Analyzer](docs/getting_started/RUST_ANALYZER.md)
+ - [Services](docs/getting_started/SERVICES.md)
+- [Infrastructure](docs/infrastructure)
+ - [Alertmanager](docs/infrastructure/alertmanager/TESTING_ALERTS.md)
+ - [ClickHouse](docs/infrastructure/clickhouse)
+ - [Readme](docs/infrastructure/clickhouse/README.md)
+ - [Troubleshooting](docs/infrastructure/clickhouse/TROUBLESHOOTING.md)
+ - [Why ClickHouse](docs/infrastructure/clickhouse/WHY_CLICKHOUSE.md)
+ - [Cockroach](docs/infrastructure/cockroach)
+ - [Readme](docs/infrastructure/cockroach/README.md)
+ - [Why Cockroach](docs/infrastructure/cockroach/WHY_COCKRAOCH.md)
+ - [Helm](docs/infrastructure/helm/TROUBLESHOOTING.md)
+ - [Imagor](docs/infrastructure/imagor/MEDIA_DELIVERY_AND_RESIZING.md)
+ - [K3d](docs/infrastructure/k3d/TROUBLESHOOTING.md)
+ - [K8s](docs/infrastructure/k8s)
+ - [Tips](docs/infrastructure/k8s/TIPS.md)
+ - [Troubleshooting](docs/infrastructure/k8s/TROUBLESHOOTING.md)
+ - [Minio](docs/infrastructure/minio/TROUBLESHOOTING.md)
+ - [Nats](docs/infrastructure/nats/TROUBLESHOOTING.md)
+ - [Networking](docs/infrastructure/networking)
+ - [Edge Cluster Networking](docs/infrastructure/networking/EDGE_CLUSTER_NETWORKING.md)
+ - [IP Ranges](docs/infrastructure/networking/IP_RANGES.md)
+ - [IPv6](docs/infrastructure/networking/IPV6.md)
+ - [Nix](docs/infrastructure/nix)
+ - [Lorri](docs/infrastructure/nix/LORRI.md)
+ - [Readme](docs/infrastructure/nix/README.md)
+ - [Nomad](docs/infrastructure/nomad/README.md)
+ - [Prometheus](docs/infrastructure/prometheus/README.md)
+ - [Protobuf](docs/infrastructure/protobuf/TIMESTAMPS.md)
+ - [Redis](docs/infrastructure/redis)
+ - [Hosting Providers](docs/infrastructure/redis/HOSTING_PROVIDERS.md)
+ - [Readme](docs/infrastructure/redis/README.md)
+ - [Sharding](docs/infrastructure/redis/SHARDING.md)
+ - [Tips](docs/infrastructure/redis/TIPS.md)
+ - [Troubleshooting](docs/infrastructure/redis/TROUBLESHOOTING.md)
+ - [Why Redis](docs/infrastructure/redis/WHY_REDIS.md)
+ - [Rust](docs/infrastructure/rust/TROUBLESHOOTING.md)
+ - [S3](docs/infrastructure/s3/TROUBLESHOOTING.md)
+ - [SBOM](docs/infrastructure/SBOM.md)
+ - [Terraform](docs/infrastructure/terraform)
+ - [Configs and Secrets](docs/infrastructure/terraform/CONFIGS_AND_SECRETS.md)
+ - [Readme](docs/infrastructure/terraform/README.md)
+ - [Troubleshooting](docs/infrastructure/terraform/TROUBLESHOOTING.md)
+ - [Timeouts](docs/infrastructure/TIMEOUTS.md)
+ - [Traefik](docs/infrastructure/traefik)
+ - [Ing Job Sizing Methodology](docs/infrastructure/traefik/ING_JOB_SIZING_METHODOLOGY.md)
+ - [Readme](docs/infrastructure/traefik/README.md)
+ - [Router Priorities](docs/infrastructure/traefik/ROUTER_PRIORITIES.md)
+ - [Traffic Server](docs/infrastructure/traffic_server)
+ - [Readme](docs/infrastructure/traffic_server/README.md)
+ - [Why Traffic Server](docs/infrastructure/traffic_server/WHY_TRAFFIC_SERVER.md)
+- [Libraries](docs/libraries)
+ - [Bolt](docs/libraries/bolt)
+ - [Buggy Cache Purging](docs/libraries/bolt/BUGGY_CACHE_PURGING.md)
+ - [Config](docs/libraries/bolt/config)
+ - [Cloudflare](docs/libraries/bolt/config/CLOUDFLARE.md)
+ - [DNS](docs/libraries/bolt/config/DNS.md)
+ - [Linode](docs/libraries/bolt/config/LINODE.md)
+ - [Namespace](docs/libraries/bolt/config/NAMESPACE.md)
+ - [Sendgrid](docs/libraries/bolt/config/SENDGRID.md)
+ - [Debugging Services](docs/libraries/bolt/DEBUGGING_SERVICES.md)
+ - [Feature Flagging](docs/libraries/bolt/FEATURE_FLAGGING.md)
+ - [Readme](docs/libraries/bolt/README.md)
+ - [Regions](docs/libraries/bolt/REGIONS.md)
+ - [Chirp](docs/libraries/chirp)
+ - [Error Handling](docs/libraries/chirp/ERROR_HANDLING.md)
+ - [Glossary](docs/libraries/chirp/GLOSSARY.md)
+ - [Readme](docs/libraries/chirp/README.md)
+ - [Claims](docs/libraries/claims/JWT.md)
+- [Packages](docs/packages)
+ - [Api-Auth](docs/packages/api-auth/HUB_AUTH.md)
+ - [Cluster](docs/packages/cluster)
+ - [Autoscaling](docs/packages/cluster/AUTOSCALING.md)
+ - [Server Provisioning](docs/packages/cluster/SERVER_PROVISIONING.md)
+ - [TLS and DNS](docs/packages/cluster/TLS_AND_DNS.md)
+ - [Job](docs/packages/job/DOCKER_IMAGE_DELIVERY.md)
+ - [Mm](docs/packages/mm/IDLE_LOBBIES.md)
+ - [Upload](docs/packages/upload/UPLOADS.md)
+- [Philosophy](docs/philosophy)
+ - [Infra as Code](docs/philosophy/INFRA_AS_CODE.md)
+ - [Licensing](docs/philosophy/LICENSING.md)
+ - [Why Open Source](docs/philosophy/WHY_OPEN_SOURCE.md)
+- [Processes](docs/processes)
+ - [Changelog](docs/processes/CHANGELOG.md)
+ - [Deploy Process](docs/processes/DEPLOY_PROCESS.md)
+ - [Making Changes](docs/processes/MAKING_CHANGES.md)
+ - [Project Management](docs/processes/PROJECT_MANAGEMENT.md)
+ - [Pull Requests](docs/processes/PULL_REQUESTS.md)
+ - [Refactoring](docs/processes/REFACTORING.md)
+ - [Releasing](docs/processes/RELEASING.md)
+ - [Versioning](docs/processes/VERSIONING.md)
@@ -31,4 +34,5 @@ A token will look something like this:
where every `x` is a random base64 valid character.
-The label has no functionality and only serves to differentiate tokens easily for the user. It and the following `.` are optional.
+The label has no functionality and only serves to differentiate tokens easily for the user. It and the
+following `.` are optional.
diff --git a/fern/definition/admin/clusters/servers.yml b/fern/definition/admin/clusters/servers.yml
index 55530b7a70..09f2832937 100644
--- a/fern/definition/admin/clusters/servers.yml
+++ b/fern/definition/admin/clusters/servers.yml
@@ -46,4 +46,3 @@ types:
ListServersResponse:
properties:
servers: list
-
diff --git a/infra/default-builds/README.md b/infra/default-builds/README.md
index bdaadc7423..6c892d915d 100644
--- a/infra/default-builds/README.md
+++ b/infra/default-builds/README.md
@@ -1,14 +1,17 @@
# Default Builds
-These are builds that get automatically uploaded to Rivet's build registry. These are used for things like the default build provided when creating a new game & builds used in tests.
+These are builds that get automatically uploaded to Rivet's build registry. These are used for things like the
+default build provided when creating a new game & builds used in tests.
These builds are stored as Git LFS blobs.
## Inner workings
-These builds are included with the `build-default-create` oneoff service. When this service gets deployed, it automatically uploads it & registers the default builds in the registry.
+These builds are included with the `build-default-create` oneoff service. When this service gets deployed, it
+automatically uploads it & registers the default builds in the registry.
-Note that this is not built to support _large_ builds by the nature of how big the `build-default-create` binary would balloon to be.
+Note that this is not built to support _large_ builds by the nature of how big the `build-default-create`
+binary would balloon to be.
## Building
diff --git a/infra/tf/grafana/grafana_dashboards/chirp-api.json b/infra/tf/grafana/grafana_dashboards/chirp-api.json
index 256f6c562d..25300b4736 100644
--- a/infra/tf/grafana/grafana_dashboards/chirp-api.json
+++ b/infra/tf/grafana/grafana_dashboards/chirp-api.json
@@ -1,865 +1,853 @@
{
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": {
- "type": "grafana",
- "uid": "-- Grafana --"
- },
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "target": {
- "limit": 100,
- "matchAny": false,
- "tags": [],
- "type": "dashboard"
- },
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "fiscalYearStartMonth": 0,
- "graphTooltip": 0,
- "links": [],
- "liveNow": false,
- "panels": [
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 0
- },
- "id": 24,
- "panels": [],
- "title": "API",
- "type": "row"
- },
- {
- "cards": {},
- "color": {
- "cardColor": "#b4ff00",
- "colorScale": "sqrt",
- "colorScheme": "interpolateOranges",
- "exponent": 0.5,
- "mode": "spectrum"
- },
- "dataFormat": "tsbuckets",
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "scaleDistribution": {
- "type": "linear"
- }
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 1
- },
- "heatmap": {},
- "hideZeroBuckets": true,
- "highlightCards": true,
- "id": 26,
- "legend": {
- "show": false
- },
- "options": {
- "calculate": false,
- "calculation": {
- "xBuckets": {
- "mode": "size"
- }
- },
- "cellGap": 0,
- "color": {
- "exponent": 0.5,
- "fill": "dark-orange",
- "mode": "scheme",
- "reverse": false,
- "scale": "exponential",
- "scheme": "RdBu",
- "steps": 64
- },
- "exemplars": {
- "color": "rgba(255,0,255,0.7)"
- },
- "filterValues": {
- "le": 1e-9
- },
- "legend": {
- "show": true
- },
- "rowsFrame": {
- "layout": "auto"
- },
- "tooltip": {
- "show": true,
- "yHistogram": true
- },
- "yAxis": {
- "axisPlacement": "left",
- "max": "60",
- "min": 0,
- "reverse": false,
- "unit": "s"
- }
- },
- "pluginVersion": "10.1.4",
- "reverseYBuckets": false,
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(increase(rivet_api_request_duration_bucket{watch=\"0\",exported_service=~\"[[service]]\",path=~\"[[path]]\",method=~\"[[method]]\"} [$__rate_interval])) by (le)",
- "format": "heatmap",
- "legendFormat": "{{le}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Duration (Normal)",
- "tooltip": {
- "show": true,
- "showHistogram": true
- },
- "type": "heatmap",
- "xAxis": {
- "show": true
- },
- "yAxis": {
- "format": "s",
- "logBase": 2,
- "max": "60",
- "min": "0",
- "show": true
- },
- "yBucketBound": "auto"
- },
- {
- "cards": {},
- "color": {
- "cardColor": "#b4ff00",
- "colorScale": "sqrt",
- "colorScheme": "interpolateOranges",
- "exponent": 0.5,
- "mode": "spectrum"
- },
- "dataFormat": "tsbuckets",
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "scaleDistribution": {
- "type": "linear"
- }
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 1
- },
- "heatmap": {},
- "hideZeroBuckets": true,
- "highlightCards": true,
- "id": 30,
- "legend": {
- "show": false
- },
- "options": {
- "calculate": false,
- "calculation": {
- "xBuckets": {
- "mode": "size"
- }
- },
- "cellGap": 0,
- "color": {
- "exponent": 0.5,
- "fill": "dark-orange",
- "mode": "scheme",
- "reverse": false,
- "scale": "exponential",
- "scheme": "RdBu",
- "steps": 64
- },
- "exemplars": {
- "color": "rgba(255,0,255,0.7)"
- },
- "filterValues": {
- "le": 1e-9
- },
- "legend": {
- "show": true
- },
- "rowsFrame": {
- "layout": "auto"
- },
- "tooltip": {
- "show": true,
- "yHistogram": true
- },
- "yAxis": {
- "axisPlacement": "left",
- "max": "60",
- "min": 0,
- "reverse": false,
- "unit": "s"
- }
- },
- "pluginVersion": "10.1.4",
- "reverseYBuckets": false,
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(increase(rivet_api_request_duration_bucket{watch=\"1\",exported_service=~\"[[service]]\",path=~\"[[path]]\",method=~\"[[method]]\"} [$__rate_interval])) by (le)",
- "format": "heatmap",
- "legendFormat": "{{le}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Duration (Watch)",
- "tooltip": {
- "show": true,
- "showHistogram": true
- },
- "type": "heatmap",
- "xAxis": {
- "show": true
- },
- "yAxis": {
- "format": "s",
- "logBase": 2,
- "max": "60",
- "min": "0",
- "show": true
- },
- "yBucketBound": "auto"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "reqps"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 0,
- "y": 10
- },
- "id": 25,
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Mean",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(rivet_api_request_total{exported_service=~\"[[service]]\",path=~\"[[path]]\",method=~\"[[method]]\"}[$__rate_interval])) by (exported_service, method, path)",
- "legendFormat": "{{method}} {{service}}{{path}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Rate",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "reqps"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 8,
- "y": 10
- },
- "id": 28,
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Mean",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(rivet_api_request_errors{exported_service=~\"[[service]]\",status=~\"4[0-9][0-9]\",path=~\"[[path]]\",method=~\"[[method]]\",error_code!=\"API_CANCELLED\",error_code!=\"CAPTCHA_CAPTCHA_REQUIRED\"}[$__rate_interval])) by (exported_service, method, path, status, error_code)",
- "legendFormat": "{{method}} {{service}}{{path}}: {{status}} ({{error_code}})",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Error Rate (4xx)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "reqps"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 16,
- "y": 10
- },
- "id": 31,
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Mean",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(rivet_api_request_errors{exported_service=~\"[[service]]\",path=~\"[[path]]\",status=~\"5[0-9][0-9]\",method=~\"[[method]]\",error_code!=\"API_CANCELLED\",error_code!=\"CAPTCHA_CAPTCHA_REQUIRED\"}[$__rate_interval])) by (exported_service, method, path, status, error_code)",
- "legendFormat": "{{method}} {{service}}{{path}}: {{status}} ({{error_code}})",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Error Rate (5xx)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "none"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 19
- },
- "id": 27,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(max_over_time(rivet_api_request_pending{watch=\"0\",exported_service=~\"[[service]]\",path=~\"[[path]]\",method=~\"[[method]]\"}[$__interval])) by (exported_service, path)",
- "legendFormat": "{{method}} {{service}}{{path}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Requests Pending (Normal)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "none"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 19
- },
- "id": 29,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(max_over_time(rivet_api_request_pending{watch=\"1\",exported_service=~\"[[service]]\",path=~\"[[path]]\",method=~\"[[method]]\"}[$__interval])) by (exported_service, path)",
- "legendFormat": "{{method}} {{service}}{{path}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Requests Pending (Watch)",
- "type": "timeseries"
- }
- ],
- "refresh": "30s",
- "schemaVersion": 38,
- "style": "dark",
- "tags": [
- "chirp"
- ],
- "templating": {
- "list": [
- {
- "current": {
- "selected": true,
- "text": [
- "All"
- ],
- "value": [
- "$__all"
- ]
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_chirp_uptime,exported_service)",
- "hide": 0,
- "includeAll": true,
- "label": "Service",
- "multi": true,
- "name": "service",
- "options": [],
- "query": {
- "query": "label_values(rivet_chirp_uptime,exported_service)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 1,
- "regex": "^api-.*",
- "skipUrlSync": false,
- "sort": 1,
- "type": "query"
- },
- {
- "current": {
- "selected": false,
- "text": "All",
- "value": "$__all"
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_api_request_total{exported_service=~\"[[service]]\"},path)",
- "hide": 0,
- "includeAll": true,
- "label": "Path",
- "multi": true,
- "name": "path",
- "options": [],
- "query": {
- "query": "label_values(rivet_api_request_total{exported_service=~\"[[service]]\"},path)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "type": "query"
- },
- {
- "current": {
- "selected": false,
- "text": "All",
- "value": "$__all"
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_api_request_total{exported_service=~\"[[service]]\", path=~\"[[path]]\"},method)",
- "hide": 0,
- "includeAll": true,
- "label": "Method",
- "multi": true,
- "name": "method",
- "options": [],
- "query": {
- "query": "label_values(rivet_api_request_total{exported_service=~\"[[service]]\", path=~\"[[path]]\"},method)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 0,
- "type": "query"
- }
- ]
- },
- "time": {
- "from": "now-15m",
- "to": "now"
- },
- "timepicker": {},
- "timezone": "",
- "title": "Chirp / API",
- "uid": "KxlcrbpVk",
- "version": 1,
- "weekStart": ""
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "links": [],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 24,
+ "panels": [],
+ "title": "API",
+ "type": "row"
+ },
+ {
+ "cards": {},
+ "color": {
+ "cardColor": "#b4ff00",
+ "colorScale": "sqrt",
+ "colorScheme": "interpolateOranges",
+ "exponent": 0.5,
+ "mode": "spectrum"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "heatmap": {},
+ "hideZeroBuckets": true,
+ "highlightCards": true,
+ "id": 26,
+ "legend": {
+ "show": false
+ },
+ "options": {
+ "calculate": false,
+ "calculation": {
+ "xBuckets": {
+ "mode": "size"
+ }
+ },
+ "cellGap": 0,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "RdBu",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "show": true,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "max": "60",
+ "min": 0,
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(rivet_api_request_duration_bucket{watch=\"0\",exported_service=~\"[[service]]\",path=~\"[[path]]\",method=~\"[[method]]\"} [$__rate_interval])) by (le)",
+ "format": "heatmap",
+ "legendFormat": "{{le}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration (Normal)",
+ "tooltip": {
+ "show": true,
+ "showHistogram": true
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 2,
+ "max": "60",
+ "min": "0",
+ "show": true
+ },
+ "yBucketBound": "auto"
+ },
+ {
+ "cards": {},
+ "color": {
+ "cardColor": "#b4ff00",
+ "colorScale": "sqrt",
+ "colorScheme": "interpolateOranges",
+ "exponent": 0.5,
+ "mode": "spectrum"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "heatmap": {},
+ "hideZeroBuckets": true,
+ "highlightCards": true,
+ "id": 30,
+ "legend": {
+ "show": false
+ },
+ "options": {
+ "calculate": false,
+ "calculation": {
+ "xBuckets": {
+ "mode": "size"
+ }
+ },
+ "cellGap": 0,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "RdBu",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "show": true,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "max": "60",
+ "min": 0,
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(rivet_api_request_duration_bucket{watch=\"1\",exported_service=~\"[[service]]\",path=~\"[[path]]\",method=~\"[[method]]\"} [$__rate_interval])) by (le)",
+ "format": "heatmap",
+ "legendFormat": "{{le}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration (Watch)",
+ "tooltip": {
+ "show": true,
+ "showHistogram": true
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 2,
+ "max": "60",
+ "min": "0",
+ "show": true
+ },
+ "yBucketBound": "auto"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 0,
+ "y": 10
+ },
+ "id": 25,
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Mean",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(rivet_api_request_total{exported_service=~\"[[service]]\",path=~\"[[path]]\",method=~\"[[method]]\"}[$__rate_interval])) by (exported_service, method, path)",
+ "legendFormat": "{{method}} {{service}}{{path}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 8,
+ "y": 10
+ },
+ "id": 28,
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Mean",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(rivet_api_request_errors{exported_service=~\"[[service]]\",status=~\"4[0-9][0-9]\",path=~\"[[path]]\",method=~\"[[method]]\",error_code!=\"API_CANCELLED\",error_code!=\"CAPTCHA_CAPTCHA_REQUIRED\"}[$__rate_interval])) by (exported_service, method, path, status, error_code)",
+ "legendFormat": "{{method}} {{service}}{{path}}: {{status}} ({{error_code}})",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Error Rate (4xx)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 16,
+ "y": 10
+ },
+ "id": 31,
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Mean",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(rivet_api_request_errors{exported_service=~\"[[service]]\",path=~\"[[path]]\",status=~\"5[0-9][0-9]\",method=~\"[[method]]\",error_code!=\"API_CANCELLED\",error_code!=\"CAPTCHA_CAPTCHA_REQUIRED\"}[$__rate_interval])) by (exported_service, method, path, status, error_code)",
+ "legendFormat": "{{method}} {{service}}{{path}}: {{status}} ({{error_code}})",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Error Rate (5xx)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 19
+ },
+ "id": 27,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(max_over_time(rivet_api_request_pending{watch=\"0\",exported_service=~\"[[service]]\",path=~\"[[path]]\",method=~\"[[method]]\"}[$__interval])) by (exported_service, path)",
+ "legendFormat": "{{method}} {{service}}{{path}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Requests Pending (Normal)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 19
+ },
+ "id": 29,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(max_over_time(rivet_api_request_pending{watch=\"1\",exported_service=~\"[[service]]\",path=~\"[[path]]\",method=~\"[[method]]\"}[$__interval])) by (exported_service, path)",
+ "legendFormat": "{{method}} {{service}}{{path}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Requests Pending (Watch)",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": ["chirp"],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": true,
+ "text": ["All"],
+ "value": ["$__all"]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_chirp_uptime,exported_service)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Service",
+ "multi": true,
+ "name": "service",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_chirp_uptime,exported_service)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "^api-.*",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_api_request_total{exported_service=~\"[[service]]\"},path)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Path",
+ "multi": true,
+ "name": "path",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_api_request_total{exported_service=~\"[[service]]\"},path)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_api_request_total{exported_service=~\"[[service]]\", path=~\"[[path]]\"},method)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Method",
+ "multi": true,
+ "name": "method",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_api_request_total{exported_service=~\"[[service]]\", path=~\"[[path]]\"},method)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-15m",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "Chirp / API",
+ "uid": "KxlcrbpVk",
+ "version": 1,
+ "weekStart": ""
}
diff --git a/infra/tf/grafana/grafana_dashboards/chirp-operation.json b/infra/tf/grafana/grafana_dashboards/chirp-operation.json
index 4b635c468a..c1e7ee72c3 100644
--- a/infra/tf/grafana/grafana_dashboards/chirp-operation.json
+++ b/infra/tf/grafana/grafana_dashboards/chirp-operation.json
@@ -1,1188 +1,1172 @@
{
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": {
- "type": "grafana",
- "uid": "-- Grafana --"
- },
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "target": {
- "limit": 100,
- "matchAny": false,
- "tags": [],
- "type": "dashboard"
- },
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "fiscalYearStartMonth": 0,
- "graphTooltip": 0,
- "links": [],
- "liveNow": false,
- "panels": [
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 0
- },
- "id": 13,
- "panels": [],
- "title": "Worker",
- "type": "row"
- },
- {
- "cards": {},
- "color": {
- "cardColor": "#b4ff00",
- "colorScale": "sqrt",
- "colorScheme": "interpolateOranges",
- "exponent": 0.5,
- "mode": "spectrum"
- },
- "dataFormat": "tsbuckets",
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "scaleDistribution": {
- "type": "linear"
- }
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 1
- },
- "heatmap": {},
- "hideZeroBuckets": true,
- "highlightCards": true,
- "id": 2,
- "interval": "15s",
- "legend": {
- "show": false
- },
- "options": {
- "calculate": false,
- "calculation": {
- "xBuckets": {
- "mode": "size"
- }
- },
- "cellGap": 0,
- "color": {
- "exponent": 0.5,
- "fill": "dark-orange",
- "mode": "scheme",
- "reverse": false,
- "scale": "exponential",
- "scheme": "RdBu",
- "steps": 64
- },
- "exemplars": {
- "color": "rgba(255,0,255,0.7)"
- },
- "filterValues": {
- "le": 1e-9
- },
- "legend": {
- "show": true
- },
- "rowsFrame": {
- "layout": "auto"
- },
- "tooltip": {
- "show": true,
- "yHistogram": true
- },
- "yAxis": {
- "axisPlacement": "left",
- "max": "60",
- "min": 0,
- "reverse": false,
- "unit": "s"
- }
- },
- "pluginVersion": "10.1.4",
- "reverseYBuckets": false,
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(increase(rivet_chirp_request_duration_bucket{error_code!=\"1004\",context_name=~\"[[context]]\"} [$__rate_interval])) by (le)",
- "format": "heatmap",
- "legendFormat": "{{le}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Duration",
- "tooltip": {
- "show": true,
- "showHistogram": true
- },
- "type": "heatmap",
- "xAxis": {
- "show": true
- },
- "yAxis": {
- "format": "s",
- "logBase": 2,
- "max": "60",
- "min": "0",
- "show": true
- },
- "yBucketBound": "auto"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "reqps"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 1
- },
- "id": 5,
- "interval": "15s",
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Mean",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(rivet_chirp_request_total{context_name=~\"[[context]]\"}[$__rate_interval])) by (context_name)",
- "legendFormat": "{{context_name}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Rate",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 10
- },
- "id": 4,
- "interval": "15s",
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Mean",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(max_over_time(rivet_chirp_request_pending{context_name=~\"[[context]]\"}[$__interval])) by (context_name)",
- "legendFormat": "{{context_name}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Requests Pending",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "reqps"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 10
- },
- "id": 9,
- "interval": "15s",
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Mean",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(rivet_chirp_request_errors{context_name=~\"[[context]]\"}[$__rate_interval])) by (context_name, error_type)",
- "legendFormat": "{{context_name}}: {{error_type}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Error Rate",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 0,
- "y": 19
- },
- "id": 20,
- "interval": "15s",
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Mean",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "10.1.4",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "(\r\n sum(rate(rivet_chirp_request_duration_sum{error_code!=\"1004\",context_name=~\"[[context]]\"} [$__rate_interval])) by (context_name) /\r\n sum(rate(rivet_chirp_request_duration_count{error_code!=\"1004\",context_name=~\"[[context]]\"} [$__rate_interval])) by (context_name)\r\n) > 0",
- "format": "heatmap",
- "legendFormat": "{{context_name}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Duration (avg)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 8,
- "y": 19
- },
- "id": 21,
- "interval": "15s",
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Mean",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "10.1.4",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "histogram_quantile(0.95, \r\n sum(rate(rivet_chirp_request_duration_bucket{error_code!=\"1004\",context_name=~\"[[context]]\"} [$__rate_interval])) \r\n by (le, context_name)\r\n) > 0\r\n",
- "format": "heatmap",
- "legendFormat": "{{context_name}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Duration (p95)",
- "transformations": [],
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "seconds"
- },
- "overrides": [
- {
- "__systemRef": "hideSeriesFrom",
- "matcher": {
- "id": "byNames",
- "options": {
- "mode": "exclude",
- "names": [
- "analytics-dataset-query",
- "build-get",
- "captcha-hcaptcha-config-get",
- "captcha-hcaptcha-verify",
- "captcha-request",
- "captcha-turnstile-verify",
- "captcha-verify",
- "cdn-namespace-get",
- "cdn-namespace-resolve-domain",
- "cdn-site-get",
- "cdn-site-list-for-game",
- "cdn-version-get",
- "cf-custom-hostname-list-for-namespace-id",
- "cloud-namespace-get",
- "cloud-version-get",
- "custom-user-avatar-list-for-game",
- "email-send",
- "email-verification-complete",
- "email-verification-create",
- "game-get",
- "game-list-for-team",
- "game-namespace-get",
- "game-namespace-list",
- "game-namespace-resolve-name-id",
- "game-namespace-resolve-url",
- "game-resolve-name-id",
- "game-resolve-namespace-id",
- "game-user-create",
- "game-user-get",
- "game-user-link-create",
- "game-user-link-get",
- "game-user-recommend",
- "game-version-get",
- "game-version-list",
- "identity-config-namespace-get",
- "identity-config-version-get",
- "job-log-read",
- "job-run-get",
- "job-run-metrics-log",
- "kv-config-namespace-get",
- "kv-config-version-get",
- "mm-config-lobby-group-get",
- "mm-config-lobby-group-resolve-version",
- "mm-config-namespace-get",
- "mm-config-version-get",
- "mm-lobby-find-fail",
- "mm-lobby-find-lobby-query-list",
- "mm-lobby-find-try-complete",
- "mm-lobby-get",
- "mm-lobby-history",
- "mm-lobby-idle-update",
- "mm-lobby-list-for-namespace",
- "mm-lobby-player-count",
- "mm-lobby-state-get",
- "mm-player-count-for-namespace",
- "module-game-version-get",
- "monolith-worker--game-user-link-complete",
- "monolith-worker--game-user-session-create",
- "monolith-worker--job-run-cleanup",
- "monolith-worker--job-run-create",
- "monolith-worker--job-run-nomad-monitor-alloc-plan",
- "monolith-worker--job-run-nomad-monitor-alloc-update",
- "monolith-worker--job-run-nomad-monitor-eval-update",
- "monolith-worker--job-run-stop",
- "monolith-worker--mm-lobby-cleanup",
- "monolith-worker--mm-lobby-create",
- "monolith-worker--mm-lobby-find",
- "monolith-worker--mm-lobby-find-lobby-cleanup",
- "monolith-worker--mm-lobby-find-lobby-ready",
- "monolith-worker--mm-lobby-job-run-cleanup",
- "monolith-worker--mm-lobby-ready-set",
- "monolith-worker--mm-lobby-stop",
- "monolith-worker--mm-player-register",
- "monolith-worker--mm-player-remove",
- "monolith-worker--user-create",
- "monolith-worker--user-event-user-presence-update",
- "monolith-worker--user-event-user-update",
- "monolith-worker--user-presence-arrive",
- "monolith-worker--user-presence-game-activity-set",
- "monolith-worker--user-presence-leave",
- "monolith-worker--user-presence-status-set",
- "monolith-worker--user-profile-set",
- "monolith-worker--user-report-create",
- "monolith-worker--user-search-update",
- "monolith-worker--user-search-update-user-follow-create",
- "monolith-worker--user-search-update-user-update",
- "monolith-worker--user-updated-user-follow-create",
- "monolith-worker--user-updated-user-follow-delete",
- "monolith-worker--user-updated-user-presence-update",
- "monolith-worker--user-updated-user-update",
- "nsfw-image-score",
- "profanity-check",
- "region-config-get",
- "region-get",
- "region-list",
- "region-recommend",
- "region-resolve",
- "team-get",
- "team-join-request-list",
- "team-member-count",
- "team-member-list",
- "team-recommend",
- "tier-list",
- "token-create",
- "token-exchange",
- "token-get",
- "upload-complete",
- "upload-file-list",
- "upload-get",
- "upload-prepare",
- "user-avatar-upload-complete",
- "user-follow-count",
- "user-follow-get",
- "user-follow-list",
- "user-follow-toggle",
- "user-get",
- "user-identity-create",
- "user-identity-get",
- "user-presence-get",
- "user-presence-touch",
- "user-profile-validate",
- "user-resolve-email",
- "user-team-list",
- "user-token-create"
- ],
- "prefix": "All except:",
- "readOnly": true
- }
- },
- "properties": [
- {
- "id": "custom.hideFrom",
- "value": {
- "legend": false,
- "tooltip": false,
- "viz": true
- }
- }
- ]
- }
- ]
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 16,
- "y": 19
- },
- "id": 22,
- "interval": "15s",
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Mean",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "10.1.4",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "histogram_quantile(0.99, \r\n sum(rate(rivet_chirp_request_duration_bucket{error_code!=\"1004\",context_name=~\"[[context]]\"} [$__rate_interval])) \r\n by (le, context_name)\r\n) > 0",
- "format": "heatmap",
- "legendFormat": "{{context_name}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Duration (p99)",
- "type": "timeseries"
- },
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 28
- },
- "id": 8,
- "panels": [],
- "title": "Consumer",
- "type": "row"
- },
- {
- "cards": {},
- "color": {
- "cardColor": "#b4ff00",
- "colorScale": "sqrt",
- "colorScheme": "interpolateOranges",
- "exponent": 0.5,
- "mode": "spectrum"
- },
- "dataFormat": "tsbuckets",
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "scaleDistribution": {
- "type": "linear"
- }
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 29
- },
- "heatmap": {},
- "hideZeroBuckets": true,
- "highlightCards": true,
- "id": 6,
- "interval": "15s",
- "legend": {
- "show": false
- },
- "options": {
- "calculate": false,
- "calculation": {
- "xBuckets": {
- "mode": "size"
- }
- },
- "cellGap": 0,
- "color": {
- "exponent": 0.5,
- "fill": "dark-orange",
- "mode": "scheme",
- "reverse": false,
- "scale": "exponential",
- "scheme": "RdBu",
- "steps": 64
- },
- "exemplars": {
- "color": "rgba(255,0,255,0.7)"
- },
- "filterValues": {
- "le": 1e-9
- },
- "legend": {
- "show": true
- },
- "rowsFrame": {
- "layout": "auto"
- },
- "tooltip": {
- "show": true,
- "yHistogram": true
- },
- "yAxis": {
- "axisPlacement": "left",
- "max": "60",
- "min": 0,
- "reverse": false,
- "unit": "s"
- }
- },
- "pluginVersion": "10.1.4",
- "reverseYBuckets": false,
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(increase(rivet_chirp_message_recv_lag_bucket{context_name=~\"[[context]]\"} [$__rate_interval])) by (le)",
- "format": "heatmap",
- "legendFormat": "{{le}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Receive Lag",
- "tooltip": {
- "show": true,
- "showHistogram": true
- },
- "type": "heatmap",
- "xAxis": {
- "show": true
- },
- "yAxis": {
- "format": "s",
- "logBase": 2,
- "max": "60",
- "min": "0",
- "show": true
- },
- "yBucketBound": "auto"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 29
- },
- "id": 19,
- "interval": "15s",
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "max(redis_stream_group_messages_pending{group=~\"[[context]]\"}) by (group, stream)",
- "legendFormat": "{{stream}}: {{group}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Messages Pending",
- "type": "timeseries"
- }
- ],
- "refresh": "30s",
- "schemaVersion": 38,
- "style": "dark",
- "tags": [],
- "templating": {
- "list": [
- {
- "current": {
- "selected": true,
- "text": [
- "All"
- ],
- "value": [
- "$__all"
- ]
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_chirp_request_total,context_name)",
- "hide": 0,
- "includeAll": true,
- "label": "Context",
- "multi": true,
- "name": "context",
- "options": [],
- "query": {
- "query": "label_values(rivet_chirp_request_total,context_name)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "type": "query"
- }
- ]
- },
- "time": {
- "from": "now-24h",
- "to": "now"
- },
- "timepicker": {},
- "timezone": "",
- "title": "Chirp / Operation",
- "uid": "c6345ab8-9146-499f-ab0b-7fb10fe5b9e1",
- "version": 1,
- "weekStart": ""
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "links": [],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 13,
+ "panels": [],
+ "title": "Worker",
+ "type": "row"
+ },
+ {
+ "cards": {},
+ "color": {
+ "cardColor": "#b4ff00",
+ "colorScale": "sqrt",
+ "colorScheme": "interpolateOranges",
+ "exponent": 0.5,
+ "mode": "spectrum"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "heatmap": {},
+ "hideZeroBuckets": true,
+ "highlightCards": true,
+ "id": 2,
+ "interval": "15s",
+ "legend": {
+ "show": false
+ },
+ "options": {
+ "calculate": false,
+ "calculation": {
+ "xBuckets": {
+ "mode": "size"
+ }
+ },
+ "cellGap": 0,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "RdBu",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "show": true,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "max": "60",
+ "min": 0,
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(rivet_chirp_request_duration_bucket{error_code!=\"1004\",context_name=~\"[[context]]\"} [$__rate_interval])) by (le)",
+ "format": "heatmap",
+ "legendFormat": "{{le}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration",
+ "tooltip": {
+ "show": true,
+ "showHistogram": true
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 2,
+ "max": "60",
+ "min": "0",
+ "show": true
+ },
+ "yBucketBound": "auto"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "id": 5,
+ "interval": "15s",
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Mean",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(rivet_chirp_request_total{context_name=~\"[[context]]\"}[$__rate_interval])) by (context_name)",
+ "legendFormat": "{{context_name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 10
+ },
+ "id": 4,
+ "interval": "15s",
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Mean",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(max_over_time(rivet_chirp_request_pending{context_name=~\"[[context]]\"}[$__interval])) by (context_name)",
+ "legendFormat": "{{context_name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Requests Pending",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 10
+ },
+ "id": 9,
+ "interval": "15s",
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Mean",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(rivet_chirp_request_errors{context_name=~\"[[context]]\"}[$__rate_interval])) by (context_name, error_type)",
+ "legendFormat": "{{context_name}}: {{error_type}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Error Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 0,
+ "y": 19
+ },
+ "id": 20,
+ "interval": "15s",
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Mean",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "(\r\n sum(rate(rivet_chirp_request_duration_sum{error_code!=\"1004\",context_name=~\"[[context]]\"} [$__rate_interval])) by (context_name) /\r\n sum(rate(rivet_chirp_request_duration_count{error_code!=\"1004\",context_name=~\"[[context]]\"} [$__rate_interval])) by (context_name)\r\n) > 0",
+ "format": "heatmap",
+ "legendFormat": "{{context_name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration (avg)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 8,
+ "y": 19
+ },
+ "id": 21,
+ "interval": "15s",
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Mean",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.95, \r\n sum(rate(rivet_chirp_request_duration_bucket{error_code!=\"1004\",context_name=~\"[[context]]\"} [$__rate_interval])) \r\n by (le, context_name)\r\n) > 0\r\n",
+ "format": "heatmap",
+ "legendFormat": "{{context_name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration (p95)",
+ "transformations": [],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "seconds"
+ },
+ "overrides": [
+ {
+ "__systemRef": "hideSeriesFrom",
+ "matcher": {
+ "id": "byNames",
+ "options": {
+ "mode": "exclude",
+ "names": [
+ "analytics-dataset-query",
+ "build-get",
+ "captcha-hcaptcha-config-get",
+ "captcha-hcaptcha-verify",
+ "captcha-request",
+ "captcha-turnstile-verify",
+ "captcha-verify",
+ "cdn-namespace-get",
+ "cdn-namespace-resolve-domain",
+ "cdn-site-get",
+ "cdn-site-list-for-game",
+ "cdn-version-get",
+ "cf-custom-hostname-list-for-namespace-id",
+ "cloud-namespace-get",
+ "cloud-version-get",
+ "custom-user-avatar-list-for-game",
+ "email-send",
+ "email-verification-complete",
+ "email-verification-create",
+ "game-get",
+ "game-list-for-team",
+ "game-namespace-get",
+ "game-namespace-list",
+ "game-namespace-resolve-name-id",
+ "game-namespace-resolve-url",
+ "game-resolve-name-id",
+ "game-resolve-namespace-id",
+ "game-user-create",
+ "game-user-get",
+ "game-user-link-create",
+ "game-user-link-get",
+ "game-user-recommend",
+ "game-version-get",
+ "game-version-list",
+ "identity-config-namespace-get",
+ "identity-config-version-get",
+ "job-log-read",
+ "job-run-get",
+ "job-run-metrics-log",
+ "kv-config-namespace-get",
+ "kv-config-version-get",
+ "mm-config-lobby-group-get",
+ "mm-config-lobby-group-resolve-version",
+ "mm-config-namespace-get",
+ "mm-config-version-get",
+ "mm-lobby-find-fail",
+ "mm-lobby-find-lobby-query-list",
+ "mm-lobby-find-try-complete",
+ "mm-lobby-get",
+ "mm-lobby-history",
+ "mm-lobby-idle-update",
+ "mm-lobby-list-for-namespace",
+ "mm-lobby-player-count",
+ "mm-lobby-state-get",
+ "mm-player-count-for-namespace",
+ "module-game-version-get",
+ "monolith-worker--game-user-link-complete",
+ "monolith-worker--game-user-session-create",
+ "monolith-worker--job-run-cleanup",
+ "monolith-worker--job-run-create",
+ "monolith-worker--job-run-nomad-monitor-alloc-plan",
+ "monolith-worker--job-run-nomad-monitor-alloc-update",
+ "monolith-worker--job-run-nomad-monitor-eval-update",
+ "monolith-worker--job-run-stop",
+ "monolith-worker--mm-lobby-cleanup",
+ "monolith-worker--mm-lobby-create",
+ "monolith-worker--mm-lobby-find",
+ "monolith-worker--mm-lobby-find-lobby-cleanup",
+ "monolith-worker--mm-lobby-find-lobby-ready",
+ "monolith-worker--mm-lobby-job-run-cleanup",
+ "monolith-worker--mm-lobby-ready-set",
+ "monolith-worker--mm-lobby-stop",
+ "monolith-worker--mm-player-register",
+ "monolith-worker--mm-player-remove",
+ "monolith-worker--user-create",
+ "monolith-worker--user-event-user-presence-update",
+ "monolith-worker--user-event-user-update",
+ "monolith-worker--user-presence-arrive",
+ "monolith-worker--user-presence-game-activity-set",
+ "monolith-worker--user-presence-leave",
+ "monolith-worker--user-presence-status-set",
+ "monolith-worker--user-profile-set",
+ "monolith-worker--user-report-create",
+ "monolith-worker--user-search-update",
+ "monolith-worker--user-search-update-user-follow-create",
+ "monolith-worker--user-search-update-user-update",
+ "monolith-worker--user-updated-user-follow-create",
+ "monolith-worker--user-updated-user-follow-delete",
+ "monolith-worker--user-updated-user-presence-update",
+ "monolith-worker--user-updated-user-update",
+ "nsfw-image-score",
+ "profanity-check",
+ "region-config-get",
+ "region-get",
+ "region-list",
+ "region-recommend",
+ "region-resolve",
+ "team-get",
+ "team-join-request-list",
+ "team-member-count",
+ "team-member-list",
+ "team-recommend",
+ "tier-list",
+ "token-create",
+ "token-exchange",
+ "token-get",
+ "upload-complete",
+ "upload-file-list",
+ "upload-get",
+ "upload-prepare",
+ "user-avatar-upload-complete",
+ "user-follow-count",
+ "user-follow-get",
+ "user-follow-list",
+ "user-follow-toggle",
+ "user-get",
+ "user-identity-create",
+ "user-identity-get",
+ "user-presence-get",
+ "user-presence-touch",
+ "user-profile-validate",
+ "user-resolve-email",
+ "user-team-list",
+ "user-token-create"
+ ],
+ "prefix": "All except:",
+ "readOnly": true
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": false,
+ "tooltip": false,
+ "viz": true
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 16,
+ "y": 19
+ },
+ "id": 22,
+ "interval": "15s",
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Mean",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.99, \r\n sum(rate(rivet_chirp_request_duration_bucket{error_code!=\"1004\",context_name=~\"[[context]]\"} [$__rate_interval])) \r\n by (le, context_name)\r\n) > 0",
+ "format": "heatmap",
+ "legendFormat": "{{context_name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration (p99)",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 8,
+ "panels": [],
+ "title": "Consumer",
+ "type": "row"
+ },
+ {
+ "cards": {},
+ "color": {
+ "cardColor": "#b4ff00",
+ "colorScale": "sqrt",
+ "colorScheme": "interpolateOranges",
+ "exponent": 0.5,
+ "mode": "spectrum"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 29
+ },
+ "heatmap": {},
+ "hideZeroBuckets": true,
+ "highlightCards": true,
+ "id": 6,
+ "interval": "15s",
+ "legend": {
+ "show": false
+ },
+ "options": {
+ "calculate": false,
+ "calculation": {
+ "xBuckets": {
+ "mode": "size"
+ }
+ },
+ "cellGap": 0,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "RdBu",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "show": true,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "max": "60",
+ "min": 0,
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(rivet_chirp_message_recv_lag_bucket{context_name=~\"[[context]]\"} [$__rate_interval])) by (le)",
+ "format": "heatmap",
+ "legendFormat": "{{le}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Receive Lag",
+ "tooltip": {
+ "show": true,
+ "showHistogram": true
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 2,
+ "max": "60",
+ "min": "0",
+ "show": true
+ },
+ "yBucketBound": "auto"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 29
+ },
+ "id": 19,
+ "interval": "15s",
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "max(redis_stream_group_messages_pending{group=~\"[[context]]\"}) by (group, stream)",
+ "legendFormat": "{{stream}}: {{group}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Messages Pending",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": true,
+ "text": ["All"],
+ "value": ["$__all"]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_chirp_request_total,context_name)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Context",
+ "multi": true,
+ "name": "context",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_chirp_request_total,context_name)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-24h",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "Chirp / Operation",
+ "uid": "c6345ab8-9146-499f-ab0b-7fb10fe5b9e1",
+ "version": 1,
+ "weekStart": ""
}
diff --git a/infra/tf/grafana/grafana_dashboards/chirp-perf-spans.json b/infra/tf/grafana/grafana_dashboards/chirp-perf-spans.json
index be3500aa57..01e7cdf505 100644
--- a/infra/tf/grafana/grafana_dashboards/chirp-perf-spans.json
+++ b/infra/tf/grafana/grafana_dashboards/chirp-perf-spans.json
@@ -1,389 +1,384 @@
{
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": {
- "type": "grafana",
- "uid": "-- Grafana --"
- },
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "target": {
- "limit": 100,
- "matchAny": false,
- "tags": [],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
- "type": "dashboard"
- },
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "fiscalYearStartMonth": 0,
- "graphTooltip": 0,
- "id": 31,
- "links": [],
- "liveNow": false,
- "panels": [
- {
- "cards": {},
- "color": {
- "cardColor": "#b4ff00",
- "colorScale": "sqrt",
- "colorScheme": "interpolateOranges",
- "exponent": 0.5,
- "mode": "spectrum"
- },
- "dataFormat": "tsbuckets",
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "scaleDistribution": {
- "type": "linear"
- }
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 0
- },
- "heatmap": {},
- "hideZeroBuckets": true,
- "highlightCards": true,
- "id": 2,
- "legend": {
- "show": false
- },
- "options": {
- "calculate": false,
- "calculation": {
- "xBuckets": {
- "mode": "size"
- }
- },
- "cellGap": 0,
- "color": {
- "exponent": 0.5,
- "fill": "dark-orange",
- "mode": "scheme",
- "reverse": false,
- "scale": "exponential",
- "scheme": "RdBu",
- "steps": 64
- },
- "exemplars": {
- "color": "rgba(255,0,255,0.7)"
- },
- "filterValues": {
- "le": 1e-9
- },
- "legend": {
- "show": true
- },
- "rowsFrame": {
- "layout": "auto"
- },
- "tooltip": {
- "show": true,
- "yHistogram": true
- },
- "yAxis": {
- "axisPlacement": "left",
- "max": "60",
- "min": 0,
- "reverse": false,
- "unit": "s"
- }
- },
- "pluginVersion": "10.1.2",
- "reverseYBuckets": false,
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(increase(rivet_chirp_perf_duration_bucket{service=~\"[[service]]\",label=~\"[[span]]\"} [$__interval])) by (le)",
- "format": "heatmap",
- "legendFormat": "{{le}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Duration",
- "tooltip": {
- "show": true,
- "showHistogram": true
- },
- "type": "heatmap",
- "xAxis": {
- "show": true
- },
- "yAxis": {
- "format": "s",
- "logBase": 2,
- "max": "60",
- "min": "0",
- "show": true
- },
- "yBucketBound": "auto"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 10,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "normal"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 9
- },
- "id": 20,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(rivet_chirp_perf_duration_sum{service=~\"[[service]]\",label=~\"[[span]]\"}[$__rate_interval])) by (service, label)\n/\nsum(rate(rivet_chirp_perf_duration_count{service=~\"[[service]]\",label=~\"[[span]]\"}[$__rate_interval])) by (service, label)",
- "legendFormat": "{{service}}: {{label}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Perf Duration",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 31,
+ "links": [],
+ "liveNow": false,
+ "panels": [
+ {
+ "cards": {},
+ "color": {
+ "cardColor": "#b4ff00",
+ "colorScale": "sqrt",
+ "colorScheme": "interpolateOranges",
+ "exponent": 0.5,
+ "mode": "spectrum"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "heatmap": {},
+ "hideZeroBuckets": true,
+ "highlightCards": true,
+ "id": 2,
+ "legend": {
+ "show": false
+ },
+ "options": {
+ "calculate": false,
+ "calculation": {
+ "xBuckets": {
+ "mode": "size"
+ }
+ },
+ "cellGap": 0,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "RdBu",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "show": true,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "max": "60",
+ "min": 0,
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.1.2",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(rivet_chirp_perf_duration_bucket{service=~\"[[service]]\",label=~\"[[span]]\"} [$__interval])) by (le)",
+ "format": "heatmap",
+ "legendFormat": "{{le}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration",
+ "tooltip": {
+ "show": true,
+ "showHistogram": true
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 2,
+ "max": "60",
+ "min": "0",
+ "show": true
+ },
+ "yBucketBound": "auto"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 9
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(rivet_chirp_perf_duration_sum{service=~\"[[service]]\",label=~\"[[span]]\"}[$__rate_interval])) by (service, label)\n/\nsum(rate(rivet_chirp_perf_duration_count{service=~\"[[service]]\",label=~\"[[span]]\"}[$__rate_interval])) by (service, label)",
+ "legendFormat": "{{service}}: {{label}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Perf Duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [],
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 17
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
- }
- },
- "mappings": [],
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 17
- },
- "id": 21,
- "options": {
- "legend": {
- "displayMode": "table",
- "placement": "right",
+ "showLegend": true,
+ "values": ["value"]
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": ["lastNotNull"],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum(increase(rivet_chirp_perf_duration_sum{service=~\"[[service]]\",label=~\"[[span]]\"}[$__range])) by (service, label)\n/\nsum(increase(rivet_chirp_perf_duration_count{service=~\"[[service]]\",label=~\"[[span]]\"}[$__range])) by (service, label)",
+ "format": "time_series",
+ "instant": true,
+ "legendFormat": "{{service}}: {{label}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Perf Duration",
+ "type": "piechart"
+ }
+ ],
- "showLegend": true,
- "values": [
- "value"
- ]
- },
- "pieType": "pie",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "sum(increase(rivet_chirp_perf_duration_sum{service=~\"[[service]]\",label=~\"[[span]]\"}[$__range])) by (service, label)\n/\nsum(increase(rivet_chirp_perf_duration_count{service=~\"[[service]]\",label=~\"[[span]]\"}[$__range])) by (service, label)",
- "format": "time_series",
- "instant": true,
- "legendFormat": "{{service}}: {{label}}",
- "range": false,
- "refId": "A"
- }
- ],
- "title": "Perf Duration",
- "type": "piechart"
- }
- ],
-
- "refresh": "",
- "schemaVersion": 38,
- "style": "dark",
- "tags": ["chirp"],
- "templating": {
- "list": [
- {
- "current": {
- "selected": false,
- "text": "All",
- "value": "$__all"
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_chirp_uptime{}, service)",
- "hide": 0,
- "includeAll": true,
- "label": "Service",
- "multi": true,
- "name": "service",
- "options": [],
- "query": {
- "query": "label_values(rivet_chirp_uptime{}, service)",
- "refId": "StandardVariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "type": "query"
- },
- {
- "current": {
- "selected": false,
- "text": "All",
- "value": "$__all"
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_chirp_perf_duration_count{service=~\"[[service]]\"}, label)",
- "hide": 0,
- "includeAll": true,
- "label": "Perf Span",
- "multi": true,
- "name": "span",
- "options": [],
- "query": {
- "query": "label_values(rivet_chirp_perf_duration_count{service=~\"[[service]]\"}, label)",
- "refId": "StandardVariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 0,
- "type": "query"
- }
- ]
- },
- "time": {
- "from": "now-6h",
- "to": "now"
- },
- "timepicker": {},
- "timezone": "",
- "title": "Chirp / Perf Spans",
- "uid": "PcsI6bpVz",
- "version": 1,
- "weekStart": ""
+ "refresh": "",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": ["chirp"],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_chirp_uptime{}, service)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Service",
+ "multi": true,
+ "name": "service",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_chirp_uptime{}, service)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_chirp_perf_duration_count{service=~\"[[service]]\"}, label)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Perf Span",
+ "multi": true,
+ "name": "span",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_chirp_perf_duration_count{service=~\"[[service]]\"}, label)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "Chirp / Perf Spans",
+ "uid": "PcsI6bpVz",
+ "version": 1,
+ "weekStart": ""
}
diff --git a/infra/tf/grafana/grafana_dashboards/chirp-service.json b/infra/tf/grafana/grafana_dashboards/chirp-service.json
index 7e08aa8fca..bf356bb6d9 100644
--- a/infra/tf/grafana/grafana_dashboards/chirp-service.json
+++ b/infra/tf/grafana/grafana_dashboards/chirp-service.json
@@ -1,893 +1,885 @@
{
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": {
- "type": "grafana",
- "uid": "-- Grafana --"
- },
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "target": {
- "limit": 100,
- "matchAny": false,
- "tags": [],
- "type": "dashboard"
- },
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "fiscalYearStartMonth": 0,
- "graphTooltip": 0,
- "id": 3,
- "links": [],
- "liveNow": false,
- "panels": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "thresholds"
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 4,
- "w": 12,
- "x": 0,
- "y": 0
- },
- "id": 11,
- "options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
- },
- "pluginVersion": "10.1.2",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "count(rivet_chirp_uptime{exported_service=~\"[[service]]\"})",
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Instances",
- "type": "stat"
- },
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 4
- },
- "id": 13,
- "panels": [],
- "title": "Worker",
- "type": "row"
- },
- {
- "cards": {},
- "color": {
- "cardColor": "#b4ff00",
- "colorScale": "sqrt",
- "colorScheme": "interpolateOranges",
- "exponent": 0.5,
- "mode": "spectrum"
- },
- "dataFormat": "tsbuckets",
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "scaleDistribution": {
- "type": "linear"
- }
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 5
- },
- "heatmap": {},
- "hideZeroBuckets": true,
- "highlightCards": true,
- "id": 2,
- "legend": {
- "show": false
- },
- "options": {
- "calculate": false,
- "calculation": {
- "xBuckets": {
- "mode": "size"
- }
- },
- "cellGap": 0,
- "color": {
- "exponent": 0.5,
- "fill": "dark-orange",
- "mode": "scheme",
- "reverse": false,
- "scale": "exponential",
- "scheme": "RdBu",
- "steps": 64
- },
- "exemplars": {
- "color": "rgba(255,0,255,0.7)"
- },
- "filterValues": {
- "le": 1e-9
- },
- "legend": {
- "show": true
- },
- "rowsFrame": {
- "layout": "auto"
- },
- "tooltip": {
- "show": true,
- "yHistogram": true
- },
- "yAxis": {
- "axisPlacement": "left",
- "max": "60",
- "min": 0,
- "reverse": false,
- "unit": "s"
- }
- },
- "pluginVersion": "10.1.2",
- "reverseYBuckets": false,
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(increase(rivet_chirp_request_duration_bucket{error_code!=\"1004\",exported_service=~\"[[service]]\"} [$__rate_interval])) by (le)",
- "format": "heatmap",
- "legendFormat": "{{le}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Duration",
- "tooltip": {
- "show": true,
- "showHistogram": true
- },
- "type": "heatmap",
- "xAxis": {
- "show": true
- },
- "yAxis": {
- "format": "s",
- "logBase": 2,
- "max": "60",
- "min": "0",
- "show": true
- },
- "yBucketBound": "auto"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "reqps"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 5
- },
- "id": 5,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(rivet_chirp_request_total{exported_service=~\"[[service]]\"}[$__rate_interval])) by (exported_service)",
- "legendFormat": "{{service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Rate",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 14
- },
- "id": 4,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(max_over_time(rivet_chirp_request_pending{exported_service=~\"[[service]]\"}[$__interval])) by (exported_service)",
- "legendFormat": "{{service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Requests Pending",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "reqps"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 14
- },
- "id": 9,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(rivet_chirp_request_errors{exported_service=~\"[[service]]\"}[$__rate_interval])) by (exported_service, error_type)",
- "legendFormat": "{{exported_service}}: {{error_type}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Error Rate",
- "type": "timeseries"
- },
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 23
- },
- "id": 8,
- "panels": [],
- "title": "Consumer",
- "type": "row"
- },
- {
- "cards": {},
- "color": {
- "cardColor": "#b4ff00",
- "colorScale": "sqrt",
- "colorScheme": "interpolateOranges",
- "exponent": 0.5,
- "mode": "spectrum"
- },
- "dataFormat": "tsbuckets",
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "scaleDistribution": {
- "type": "linear"
- }
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 24
- },
- "heatmap": {},
- "hideZeroBuckets": true,
- "highlightCards": true,
- "id": 6,
- "legend": {
- "show": false
- },
- "options": {
- "calculate": false,
- "calculation": {
- "xBuckets": {
- "mode": "size"
- }
- },
- "cellGap": 0,
- "color": {
- "exponent": 0.5,
- "fill": "dark-orange",
- "mode": "scheme",
- "reverse": false,
- "scale": "exponential",
- "scheme": "RdBu",
- "steps": 64
- },
- "exemplars": {
- "color": "rgba(255,0,255,0.7)"
- },
- "filterValues": {
- "le": 1e-9
- },
- "legend": {
- "show": true
- },
- "rowsFrame": {
- "layout": "auto"
- },
- "tooltip": {
- "show": true,
- "yHistogram": true
- },
- "yAxis": {
- "axisPlacement": "left",
- "max": "60",
- "min": 0,
- "reverse": false,
- "unit": "s"
- }
- },
- "pluginVersion": "10.1.2",
- "reverseYBuckets": false,
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(increase(rivet_chirp_message_recv_lag_bucket{exported_service=~\"[[service]]\"} [$__rate_interval])) by (le)",
- "format": "heatmap",
- "legendFormat": "{{le}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Receive Lag",
- "tooltip": {
- "show": true,
- "showHistogram": true
- },
- "type": "heatmap",
- "xAxis": {
- "show": true
- },
- "yAxis": {
- "format": "s",
- "logBase": 2,
- "max": "60",
- "min": "0",
- "show": true
- },
- "yBucketBound": "auto"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 24
- },
- "id": 19,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "max(redis_stream_group_messages_pending{group=~\"[[service]]--.*\"}) by (group, stream)",
- "legendFormat": "{{group}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Messages Pending",
- "type": "timeseries"
- },
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 32
- },
- "id": 15,
- "panels": [],
- "title": "Client",
- "type": "row"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 33
- },
- "id": 17,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(max_over_time(rivet_chirp_client_active{exported_service=~\"[[service]]\"}[$__interval])) by (exported_service)",
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Active Clients",
- "type": "timeseries"
- }
- ],
- "refresh": "",
- "schemaVersion": 38,
- "style": "dark",
- "tags": [
- "chirp"
- ],
- "templating": {
- "list": [
- {
- "current": {
- "selected": true,
- "text": [
- "All"
- ],
- "value": [
- "$__all"
- ]
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_chirp_uptime,exported_service)",
- "hide": 0,
- "includeAll": true,
- "label": "Service",
- "multi": true,
- "name": "service",
- "options": [],
- "query": {
- "query": "label_values(rivet_chirp_uptime,exported_service)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "type": "query"
- }
- ]
- },
- "time": {
- "from": "now-24h",
- "to": "now"
- },
- "timepicker": {},
- "timezone": "",
- "title": "Chirp / Service",
- "uid": "adE28xt4k",
- "version": 1,
- "weekStart": ""
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 3,
+ "links": [],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 11,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": ["lastNotNull"],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.1.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "count(rivet_chirp_uptime{exported_service=~\"[[service]]\"})",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Instances",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 4
+ },
+ "id": 13,
+ "panels": [],
+ "title": "Worker",
+ "type": "row"
+ },
+ {
+ "cards": {},
+ "color": {
+ "cardColor": "#b4ff00",
+ "colorScale": "sqrt",
+ "colorScheme": "interpolateOranges",
+ "exponent": 0.5,
+ "mode": "spectrum"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 5
+ },
+ "heatmap": {},
+ "hideZeroBuckets": true,
+ "highlightCards": true,
+ "id": 2,
+ "legend": {
+ "show": false
+ },
+ "options": {
+ "calculate": false,
+ "calculation": {
+ "xBuckets": {
+ "mode": "size"
+ }
+ },
+ "cellGap": 0,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "RdBu",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "show": true,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "max": "60",
+ "min": 0,
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.1.2",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(rivet_chirp_request_duration_bucket{error_code!=\"1004\",exported_service=~\"[[service]]\"} [$__rate_interval])) by (le)",
+ "format": "heatmap",
+ "legendFormat": "{{le}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration",
+ "tooltip": {
+ "show": true,
+ "showHistogram": true
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 2,
+ "max": "60",
+ "min": "0",
+ "show": true
+ },
+ "yBucketBound": "auto"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 5
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(rivet_chirp_request_total{exported_service=~\"[[service]]\"}[$__rate_interval])) by (exported_service)",
+ "legendFormat": "{{service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 14
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(max_over_time(rivet_chirp_request_pending{exported_service=~\"[[service]]\"}[$__interval])) by (exported_service)",
+ "legendFormat": "{{service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Requests Pending",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 14
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(rivet_chirp_request_errors{exported_service=~\"[[service]]\"}[$__rate_interval])) by (exported_service, error_type)",
+ "legendFormat": "{{exported_service}}: {{error_type}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Error Rate",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 23
+ },
+ "id": 8,
+ "panels": [],
+ "title": "Consumer",
+ "type": "row"
+ },
+ {
+ "cards": {},
+ "color": {
+ "cardColor": "#b4ff00",
+ "colorScale": "sqrt",
+ "colorScheme": "interpolateOranges",
+ "exponent": 0.5,
+ "mode": "spectrum"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "heatmap": {},
+ "hideZeroBuckets": true,
+ "highlightCards": true,
+ "id": 6,
+ "legend": {
+ "show": false
+ },
+ "options": {
+ "calculate": false,
+ "calculation": {
+ "xBuckets": {
+ "mode": "size"
+ }
+ },
+ "cellGap": 0,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "RdBu",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "show": true,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "max": "60",
+ "min": 0,
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.1.2",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(rivet_chirp_message_recv_lag_bucket{exported_service=~\"[[service]]\"} [$__rate_interval])) by (le)",
+ "format": "heatmap",
+ "legendFormat": "{{le}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Receive Lag",
+ "tooltip": {
+ "show": true,
+ "showHistogram": true
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 2,
+ "max": "60",
+ "min": "0",
+ "show": true
+ },
+ "yBucketBound": "auto"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "max(redis_stream_group_messages_pending{group=~\"[[service]]--.*\"}) by (group, stream)",
+ "legendFormat": "{{group}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Messages Pending",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 15,
+ "panels": [],
+ "title": "Client",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 33
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(max_over_time(rivet_chirp_client_active{exported_service=~\"[[service]]\"}[$__interval])) by (exported_service)",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Active Clients",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": ["chirp"],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": true,
+ "text": ["All"],
+ "value": ["$__all"]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_chirp_uptime,exported_service)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Service",
+ "multi": true,
+ "name": "service",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_chirp_uptime,exported_service)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-24h",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "Chirp / Service",
+ "uid": "adE28xt4k",
+ "version": 1,
+ "weekStart": ""
}
diff --git a/infra/tf/grafana/grafana_dashboards/cluster-provisioning.json b/infra/tf/grafana/grafana_dashboards/cluster-provisioning.json
index 08f0939eed..463094c9d0 100644
--- a/infra/tf/grafana/grafana_dashboards/cluster-provisioning.json
+++ b/infra/tf/grafana/grafana_dashboards/cluster-provisioning.json
@@ -1,1718 +1,1684 @@
{
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": {
- "type": "grafana",
- "uid": "-- Grafana --"
- },
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "fiscalYearStartMonth": 0,
- "graphTooltip": 1,
- "links": [],
- "liveNow": false,
- "panels": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisBorderShow": false,
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMax": 5,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 0
- },
- "id": 1,
- "options": {
- "legend": {
- "calcs": [
- "lastNotNull"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Last *",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum by (pool_type, datacenter_id) (rivet_provision_active_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"})",
- "instant": false,
- "legendFormat": "{{pool_type}} ({{datacenter_id}})",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Active Servers",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisBorderShow": false,
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMax": 6,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 0
- },
- "id": 2,
- "options": {
- "legend": {
- "calcs": [
- "lastNotNull"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Last *",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum by (pool_type, datacenter_id) (rivet_provision_draining_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"})",
- "instant": false,
- "legendFormat": "{{pool_type}} ({{datacenter_id}})",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Draining Servers",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisBorderShow": false,
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMax": 5,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 8
- },
- "id": 6,
- "options": {
- "legend": {
- "calcs": [
- "lastNotNull"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Last *",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum by (pool_type, datacenter_id) (rivet_provision_provisioning_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"})",
- "instant": false,
- "legendFormat": "{{pool_type}} ({{datacenter_id}})",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Provisioning Servers",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "scaleDistribution": {
- "type": "linear"
- }
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 8
- },
- "id": 9,
- "options": {
- "calculate": false,
- "cellGap": 0,
- "color": {
- "exponent": 0.5,
- "fill": "dark-orange",
- "mode": "scheme",
- "reverse": false,
- "scale": "exponential",
- "scheme": "RdBu",
- "steps": 64
- },
- "exemplars": {
- "color": "rgba(255,0,255,0.7)"
- },
- "filterValues": {
- "le": 1e-9
- },
- "legend": {
- "show": true
- },
- "rowsFrame": {
- "layout": "auto"
- },
- "tooltip": {
- "mode": "single",
- "showColorScale": false,
- "yHistogram": true
- },
- "yAxis": {
- "axisPlacement": "left",
- "reverse": false,
- "unit": "s"
- }
- },
- "pluginVersion": "10.4.1",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(increase(rivet_provision_provision_duration_bucket{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"} [$__rate_interval])) by (le)",
- "format": "heatmap",
- "instant": false,
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Server Provision Duration",
- "type": "heatmap"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisBorderShow": false,
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 16
- },
- "id": 5,
- "options": {
- "legend": {
- "calcs": [
- "lastNotNull"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum by (pool_type, datacenter_id) (rivet_provision_installing_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"})",
- "instant": false,
- "legendFormat": "{{pool_type}} ({{datacenter_id}})",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Installing Servers",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "scaleDistribution": {
- "type": "linear"
- }
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 16
- },
- "id": 10,
- "options": {
- "calculate": false,
- "cellGap": 0,
- "color": {
- "exponent": 0.5,
- "fill": "dark-orange",
- "mode": "scheme",
- "reverse": false,
- "scale": "exponential",
- "scheme": "RdBu",
- "steps": 64
- },
- "exemplars": {
- "color": "rgba(255,0,255,0.7)"
- },
- "filterValues": {
- "le": 1e-9
- },
- "legend": {
- "show": true
- },
- "rowsFrame": {
- "layout": "auto"
- },
- "tooltip": {
- "mode": "single",
- "showColorScale": false,
- "yHistogram": true
- },
- "yAxis": {
- "axisPlacement": "left",
- "reverse": false,
- "unit": "s"
- }
- },
- "pluginVersion": "10.4.1",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(increase(rivet_provision_install_duration_bucket{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"} [$__rate_interval])) by (le)",
- "format": "heatmap",
- "instant": false,
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Server Install Duration",
- "type": "heatmap"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisBorderShow": false,
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMax": 5,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 24
- },
- "id": 7,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum by (datacenter_id) (rivet_provision_nomad_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\"})",
- "instant": false,
- "legendFormat": "{{datacenter_id}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Nomad Servers",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "scaleDistribution": {
- "type": "linear"
- }
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 24
- },
- "id": 8,
- "options": {
- "calculate": false,
- "cellGap": 0,
- "color": {
- "exponent": 0.5,
- "fill": "dark-orange",
- "mode": "scheme",
- "reverse": false,
- "scale": "exponential",
- "scheme": "RdBu",
- "steps": 64
- },
- "exemplars": {
- "color": "rgba(255,0,255,0.7)"
- },
- "filterValues": {
- "le": 1e-9
- },
- "legend": {
- "show": true
- },
- "rowsFrame": {
- "layout": "auto"
- },
- "tooltip": {
- "mode": "single",
- "showColorScale": false,
- "yHistogram": true
- },
- "yAxis": {
- "axisPlacement": "left",
- "reverse": false,
- "unit": "s"
- }
- },
- "pluginVersion": "10.4.1",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(increase(rivet_provision_nomad_join_duration_bucket{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\"} [$__rate_interval])) by (le)",
- "format": "heatmap",
- "instant": false,
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Nomad Join Duration",
- "type": "heatmap"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisBorderShow": false,
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMax": 5,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 32
- },
- "id": 3,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum by (pool_type, datacenter_id) (rivet_provision_tainted_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"})",
- "instant": false,
- "legendFormat": "{{pool_type}} ({{datacenter_id}})",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Tainted Servers",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisBorderShow": false,
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMax": 5,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 32
- },
- "id": 4,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum by (pool_type, datacenter_id) (\n rivet_provision_tainted_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"} and\n rivet_provision_draining_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"}\n)",
- "instant": false,
- "legendFormat": "{{pool_type}} ({{datacenter_id}})",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Draining Tainted Servers",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisBorderShow": false,
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMax": 1,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineStyle": {
- "fill": "solid"
- },
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "percentunit"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 40
- },
- "id": 13,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum by (server_id) (nomad_client_allocated_cpu{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\"}) /\nsum by (server_id) (nomad_client_allocated_cpu{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\"} + nomad_client_unallocated_cpu{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\"})",
- "instant": false,
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Job Allocated CPU",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisBorderShow": false,
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMax": 1,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "percentunit"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 40
- },
- "id": 14,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum by (server_id) (nomad_client_allocated_memory{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\"}) /\nsum by (server_id) (nomad_client_allocated_memory{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\"} + nomad_client_unallocated_memory{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\"})",
- "instant": false,
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Job Allocated Memory",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisBorderShow": false,
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMax": 100,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "percent"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 48
- },
- "id": 11,
- "options": {
- "legend": {
- "calcs": [
- "last"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Last",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "sum by (server_id, datacenter_id) (\n\tirate(\n\t\tnode_cpu_seconds_total{\n\t\t\tcluster_id=~\"[[cluster_id]]\",\n\t\t\tdatacenter_id=~\"[[datacenter_id]]\",\n\t\t\tpool_type=\"gg\",\n\n\t\t\tmode!=\"idle\",\n\t\t\tmode!=\"iowait\",\n\t\t\tmode!=\"steal\"\n\t\t}\n\t\t[5m]\n\t)\n) * 100",
- "instant": false,
- "interval": "",
- "legendFormat": "{{server_id}} ({{datacenter_id}})",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "GG CPU",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisBorderShow": false,
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMax": 100,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "percent"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 48
- },
- "id": 15,
- "options": {
- "legend": {
- "calcs": [
- "lastNotNull"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Last *",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "sum by (server_id, datacenter_id) (\n node_memory_Active_bytes{\n cluster_id=~\"[[cluster_id]]\",\n datacenter_id=~\"[[datacenter_id]]\",\n pool_type=\"gg\"\n } /\n node_memory_MemTotal_bytes{\n cluster_id=~\"[[cluster_id]]\",\n datacenter_id=~\"[[datacenter_id]]\",\n pool_type=\"gg\"\n } *\n 100\n)",
- "instant": false,
- "interval": "",
- "legendFormat": "{{server_id}} ({{datacenter_id}})",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "GG Memory",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisBorderShow": false,
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMax": 100,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "percent"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 56
- },
- "id": 16,
- "options": {
- "legend": {
- "calcs": [
- "lastNotNull"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Last *",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "sum by (server_id) (\n\tirate(\n\t\tnode_cpu_seconds_total{\n\t\t\tcluster_id=~\"[[cluster_id]]\",\n\t\t\tdatacenter_id=~\"[[datacenter_id]]\",\n\t\t\tpool_type=\"ats\",\n\n\t\t\tmode!=\"idle\",\n\t\t\tmode!=\"iowait\",\n\t\t\tmode!=\"steal\"\n\t\t}\n\t\t[5m]\n\t)\n) * 100",
- "instant": false,
- "interval": "",
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "ATS CPU",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisBorderShow": false,
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "axisSoftMax": 100,
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "min": 0,
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "percent"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 56
- },
- "id": 17,
- "options": {
- "legend": {
- "calcs": [
- "lastNotNull"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Last *",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "exemplar": false,
- "expr": "sum by (server_id) (\n node_memory_Active_bytes{\n cluster_id=~\"[[cluster_id]]\",\n datacenter_id=~\"[[datacenter_id]]\",\n pool_type=\"ats\"\n } /\n node_memory_MemTotal_bytes{\n cluster_id=~\"[[cluster_id]]\",\n datacenter_id=~\"[[datacenter_id]]\",\n pool_type=\"ats\"\n } *\n 100\n)",
- "instant": false,
- "interval": "",
- "legendFormat": "__auto",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "ATS Memory",
- "type": "timeseries"
- }
- ],
- "refresh": "5s",
- "schemaVersion": 39,
- "tags": [
- "rivet"
- ],
- "templating": {
- "list": [
- {
- "current": {
- "selected": true,
- "text": [
- "All"
- ],
- "value": [
- "$__all"
- ]
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_provision_active_servers,cluster_id)",
- "hide": 0,
- "includeAll": true,
- "label": "Cluster ID",
- "multi": true,
- "name": "cluster_id",
- "options": [],
- "query": {
- "query": "label_values(rivet_provision_active_servers,cluster_id)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 0,
- "type": "query"
- },
- {
- "current": {
- "selected": true,
- "text": [
- "All"
- ],
- "value": [
- "$__all"
- ]
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_provision_active_servers,datacenter_id)",
- "hide": 0,
- "includeAll": true,
- "label": "Datacenter ID",
- "multi": true,
- "name": "datacenter_id",
- "options": [],
- "query": {
- "query": "label_values(rivet_provision_active_servers,datacenter_id)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 0,
- "type": "query"
- },
- {
- "current": {
- "selected": true,
- "text": [
- "All"
- ],
- "value": [
- "$__all"
- ]
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_provision_active_servers,provider_datacenter_id)",
- "hide": 0,
- "includeAll": true,
- "label": "Provider Region",
- "multi": true,
- "name": "provider_datacenter_id",
- "options": [],
- "query": {
- "query": "label_values(rivet_provision_active_servers,provider_datacenter_id)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 0,
- "type": "query"
- },
- {
- "current": {
- "selected": true,
- "text": [
- "All"
- ],
- "value": [
- "$__all"
- ]
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_provision_active_servers,pool_type)",
- "hide": 0,
- "includeAll": true,
- "label": "Pool",
- "multi": true,
- "name": "pool_type",
- "options": [],
- "query": {
- "query": "label_values(rivet_provision_active_servers,pool_type)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 0,
- "type": "query"
- }
- ]
- },
- "time": {
- "from": "now-24h",
- "to": "now"
- },
- "timepicker": {},
- "timezone": "",
- "title": "Cluster / Provision",
- "uid": "aa49514c-cb94-47f0-ae0f-12a4ec20069a",
- "version": 1,
- "weekStart": ""
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "links": [],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 5,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "legend": {
+ "calcs": ["lastNotNull"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum by (pool_type, datacenter_id) (rivet_provision_active_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"})",
+ "instant": false,
+ "legendFormat": "{{pool_type}} ({{datacenter_id}})",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Active Servers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 6,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": ["lastNotNull"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum by (pool_type, datacenter_id) (rivet_provision_draining_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"})",
+ "instant": false,
+ "legendFormat": "{{pool_type}} ({{datacenter_id}})",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Draining Servers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 5,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": ["lastNotNull"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum by (pool_type, datacenter_id) (rivet_provision_provisioning_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"})",
+ "instant": false,
+ "legendFormat": "{{pool_type}} ({{datacenter_id}})",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Provisioning Servers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 9,
+ "options": {
+ "calculate": false,
+ "cellGap": 0,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "RdBu",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "mode": "single",
+ "showColorScale": false,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.4.1",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(rivet_provision_provision_duration_bucket{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"} [$__rate_interval])) by (le)",
+ "format": "heatmap",
+ "instant": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Server Provision Duration",
+ "type": "heatmap"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": ["lastNotNull"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum by (pool_type, datacenter_id) (rivet_provision_installing_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"})",
+ "instant": false,
+ "legendFormat": "{{pool_type}} ({{datacenter_id}})",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Installing Servers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 10,
+ "options": {
+ "calculate": false,
+ "cellGap": 0,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "RdBu",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "mode": "single",
+ "showColorScale": false,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.4.1",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(rivet_provision_install_duration_bucket{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"} [$__rate_interval])) by (le)",
+ "format": "heatmap",
+ "instant": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Server Install Duration",
+ "type": "heatmap"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 5,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum by (datacenter_id) (rivet_provision_nomad_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\"})",
+ "instant": false,
+ "legendFormat": "{{datacenter_id}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Nomad Servers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 8,
+ "options": {
+ "calculate": false,
+ "cellGap": 0,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "RdBu",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "mode": "single",
+ "showColorScale": false,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.4.1",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(rivet_provision_nomad_join_duration_bucket{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\"} [$__rate_interval])) by (le)",
+ "format": "heatmap",
+ "instant": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Nomad Join Duration",
+ "type": "heatmap"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 5,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum by (pool_type, datacenter_id) (rivet_provision_tainted_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"})",
+ "instant": false,
+ "legendFormat": "{{pool_type}} ({{datacenter_id}})",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Tainted Servers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 5,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum by (pool_type, datacenter_id) (\n rivet_provision_tainted_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"} and\n rivet_provision_draining_servers{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\", provider_datacenter_id=~\"[[provider_datacenter_id]]\", pool_type=~\"[[pool_type]]\"}\n)",
+ "instant": false,
+ "legendFormat": "{{pool_type}} ({{datacenter_id}})",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Draining Tainted Servers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 1,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 40
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum by (server_id) (nomad_client_allocated_cpu{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\"}) /\nsum by (server_id) (nomad_client_allocated_cpu{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\"} + nomad_client_unallocated_cpu{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\"})",
+ "instant": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Job Allocated CPU",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 1,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 40
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum by (server_id) (nomad_client_allocated_memory{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\"}) /\nsum by (server_id) (nomad_client_allocated_memory{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\"} + nomad_client_unallocated_memory{cluster_id=~\"[[cluster_id]]\", datacenter_id=~\"[[datacenter_id]]\"})",
+ "instant": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Job Allocated Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 100,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 48
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": ["last"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum by (server_id, datacenter_id) (\n\tirate(\n\t\tnode_cpu_seconds_total{\n\t\t\tcluster_id=~\"[[cluster_id]]\",\n\t\t\tdatacenter_id=~\"[[datacenter_id]]\",\n\t\t\tpool_type=\"gg\",\n\n\t\t\tmode!=\"idle\",\n\t\t\tmode!=\"iowait\",\n\t\t\tmode!=\"steal\"\n\t\t}\n\t\t[5m]\n\t)\n) * 100",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "{{server_id}} ({{datacenter_id}})",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "GG CPU",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 100,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 48
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": ["lastNotNull"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum by (server_id, datacenter_id) (\n node_memory_Active_bytes{\n cluster_id=~\"[[cluster_id]]\",\n datacenter_id=~\"[[datacenter_id]]\",\n pool_type=\"gg\"\n } /\n node_memory_MemTotal_bytes{\n cluster_id=~\"[[cluster_id]]\",\n datacenter_id=~\"[[datacenter_id]]\",\n pool_type=\"gg\"\n } *\n 100\n)",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "{{server_id}} ({{datacenter_id}})",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "GG Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 100,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 56
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": ["lastNotNull"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum by (server_id) (\n\tirate(\n\t\tnode_cpu_seconds_total{\n\t\t\tcluster_id=~\"[[cluster_id]]\",\n\t\t\tdatacenter_id=~\"[[datacenter_id]]\",\n\t\t\tpool_type=\"ats\",\n\n\t\t\tmode!=\"idle\",\n\t\t\tmode!=\"iowait\",\n\t\t\tmode!=\"steal\"\n\t\t}\n\t\t[5m]\n\t)\n) * 100",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "ATS CPU",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 100,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 56
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": ["lastNotNull"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum by (server_id) (\n node_memory_Active_bytes{\n cluster_id=~\"[[cluster_id]]\",\n datacenter_id=~\"[[datacenter_id]]\",\n pool_type=\"ats\"\n } /\n node_memory_MemTotal_bytes{\n cluster_id=~\"[[cluster_id]]\",\n datacenter_id=~\"[[datacenter_id]]\",\n pool_type=\"ats\"\n } *\n 100\n)",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "ATS Memory",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "5s",
+ "schemaVersion": 39,
+ "tags": ["rivet"],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": true,
+ "text": ["All"],
+ "value": ["$__all"]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_provision_active_servers,cluster_id)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Cluster ID",
+ "multi": true,
+ "name": "cluster_id",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_provision_active_servers,cluster_id)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": ["All"],
+ "value": ["$__all"]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_provision_active_servers,datacenter_id)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Datacenter ID",
+ "multi": true,
+ "name": "datacenter_id",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_provision_active_servers,datacenter_id)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": ["All"],
+ "value": ["$__all"]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_provision_active_servers,provider_datacenter_id)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Provider Region",
+ "multi": true,
+ "name": "provider_datacenter_id",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_provision_active_servers,provider_datacenter_id)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": ["All"],
+ "value": ["$__all"]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_provision_active_servers,pool_type)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Pool",
+ "multi": true,
+ "name": "pool_type",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_provision_active_servers,pool_type)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-24h",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "Cluster / Provision",
+ "uid": "aa49514c-cb94-47f0-ae0f-12a4ec20069a",
+ "version": 1,
+ "weekStart": ""
}
diff --git a/infra/tf/grafana/grafana_dashboards/node-exporter-full.json b/infra/tf/grafana/grafana_dashboards/node-exporter-full.json
index 4864398d1a..d02a58a210 100644
--- a/infra/tf/grafana/grafana_dashboards/node-exporter-full.json
+++ b/infra/tf/grafana/grafana_dashboards/node-exporter-full.json
@@ -22646,29 +22646,8 @@
"to": "now"
},
"timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
+ "refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
+ "time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"]
},
"timezone": "browser",
"title": "Node Exporter Full",
diff --git a/infra/tf/grafana/grafana_dashboards/node-exporter-multiple.json b/infra/tf/grafana/grafana_dashboards/node-exporter-multiple.json
index c17ea56645..7340ef5137 100644
--- a/infra/tf/grafana/grafana_dashboards/node-exporter-multiple.json
+++ b/infra/tf/grafana/grafana_dashboards/node-exporter-multiple.json
@@ -22389,29 +22389,8 @@
"to": "now"
},
"timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
+ "refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
+ "time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"]
},
"timezone": "browser",
"title": "Node Exporter Multiple",
diff --git a/infra/tf/grafana/grafana_dashboards/rivet-logs.json b/infra/tf/grafana/grafana_dashboards/rivet-logs.json
index 0edbf883b3..0bb324b26e 100644
--- a/infra/tf/grafana/grafana_dashboards/rivet-logs.json
+++ b/infra/tf/grafana/grafana_dashboards/rivet-logs.json
@@ -1,208 +1,204 @@
{
- "__inputs": [
- {
- "name": "DS_LOKI",
- "label": "Loki",
- "description": "",
- "type": "datasource",
- "pluginId": "loki",
- "pluginName": "Loki"
- }
- ],
- "__elements": {},
- "__requires": [
- {
- "type": "grafana",
- "id": "grafana",
- "name": "Grafana",
- "version": "10.1.4"
- },
- {
- "type": "panel",
- "id": "logs",
- "name": "Logs",
- "version": ""
- },
- {
- "type": "datasource",
- "id": "loki",
- "name": "Loki",
- "version": "1.0.0"
- }
- ],
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": {
- "type": "grafana",
- "uid": "-- Grafana --"
- },
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "fiscalYearStartMonth": 0,
- "graphTooltip": 0,
- "id": null,
- "links": [],
- "liveNow": false,
- "panels": [
- {
- "datasource": {
- "type": "loki",
- "uid": "loki"
- },
- "gridPos": {
- "h": 30,
- "w": 24,
- "x": 0,
- "y": 0
- },
- "id": 1,
- "options": {
- "dedupStrategy": "none",
- "enableLogDetails": true,
- "prettifyLogMessage": false,
- "showCommonLabels": false,
- "showLabels": false,
- "showTime": false,
- "sortOrder": "Descending",
- "wrapLogMessage": false
- },
- "targets": [
- {
- "datasource": {
- "type": "loki",
- "uid": "loki"
- },
- "editorMode": "code",
- "expr": "{name=~\"rivet-[[name]]\"}\n | json level=\"level\"\n |~ \"[[filter]]\"\n | level=~\"[[level]]\"\n | json target=\"target\", message=\"fields.message\", fields=\"fields\", method=\"spans[0].method\", uri=\"spans[0].uri\", location=\"fields.location\", dt=\"fields.dt\", all_spans=\"spans\", span=\"spans[0]\"\n | label_format uri=`{{regexReplaceAllLiteral \"\\\\?.*\" .uri \"\"}}`\n | line_format \"{{.level}} [{{.target}}] {{.message}}{{if .dt}}\\n\\tdt {{.dt}}s{{end}}{{if .method}}\\n\\t{{.method}} {{.uri}}{{end}}{{if .location}}\\n\\tat {{.location}}{{end}}\"",
- "key": "Q-f1fb2454-1d08-41d8-a908-042dcabbdc46-0",
- "queryType": "range",
- "refId": "A"
- }
- ],
- "title": "Logs",
- "transparent": true,
- "type": "logs"
- }
- ],
- "refresh": "",
- "schemaVersion": 38,
- "style": "dark",
- "tags": ["rivet"],
- "templating": {
- "list": [
- {
- "allValue": ".*",
- "current": {
- "selected": true,
- "text": [
- "All"
- ],
- "value": [
- "$__all"
- ]
- },
- "hide": 0,
- "includeAll": true,
- "label": "Level",
- "multi": true,
- "name": "level",
- "options": [
- {
- "selected": true,
- "text": "All",
- "value": "$__all"
- },
- {
- "selected": false,
- "text": "TRACE",
- "value": "TRACE"
- },
- {
- "selected": false,
- "text": "DEBUG",
- "value": "DEBUG"
- },
- {
- "selected": false,
- "text": "INFO",
- "value": "INFO"
- },
- {
- "selected": false,
- "text": "WARN",
- "value": "WARN"
- },
- {
- "selected": false,
- "text": "ERROR",
- "value": "ERROR"
- }
- ],
- "query": "TRACE,DEBUG,INFO,WARN,ERROR",
- "queryValue": "",
- "skipUrlSync": false,
- "type": "custom"
- },
- {
- "current": {
- "selected": false,
- "text": ".*",
- "value": ".*"
- },
- "hide": 0,
- "label": "Service Name",
- "name": "name",
- "options": [
- {
- "selected": true,
- "text": ".*",
- "value": ".*"
- }
- ],
- "query": ".*",
- "skipUrlSync": false,
- "type": "textbox"
- },
- {
- "current": {
- "selected": false,
- "text": ".*",
- "value": ".*"
- },
- "hide": 0,
- "label": "Filter",
- "name": "filter",
- "options": [
- {
- "selected": true,
- "text": ".*",
- "value": ".*"
- }
- ],
- "query": ".*",
- "skipUrlSync": false,
- "type": "textbox"
- }
- ]
- },
- "time": {
- "from": "now-6h",
- "to": "now"
- },
- "timepicker": {},
- "timezone": "",
- "tasg": ["rivet"],
- "title": "Rivet / Logs",
- "uid": "ad51348c-ba34-43d5-813f-3066617cf60d",
- "version": 1,
- "weekStart": ""
- }
+ "__inputs": [
+ {
+ "name": "DS_LOKI",
+ "label": "Loki",
+ "description": "",
+ "type": "datasource",
+ "pluginId": "loki",
+ "pluginName": "Loki"
+ }
+ ],
+ "__elements": {},
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "10.1.4"
+ },
+ {
+ "type": "panel",
+ "id": "logs",
+ "name": "Logs",
+ "version": ""
+ },
+ {
+ "type": "datasource",
+ "id": "loki",
+ "name": "Loki",
+ "version": "1.0.0"
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": null,
+ "links": [],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "loki"
+ },
+ "gridPos": {
+ "h": 30,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "loki"
+ },
+ "editorMode": "code",
+ "expr": "{name=~\"rivet-[[name]]\"}\n | json level=\"level\"\n |~ \"[[filter]]\"\n | level=~\"[[level]]\"\n | json target=\"target\", message=\"fields.message\", fields=\"fields\", method=\"spans[0].method\", uri=\"spans[0].uri\", location=\"fields.location\", dt=\"fields.dt\", all_spans=\"spans\", span=\"spans[0]\"\n | label_format uri=`{{regexReplaceAllLiteral \"\\\\?.*\" .uri \"\"}}`\n | line_format \"{{.level}} [{{.target}}] {{.message}}{{if .dt}}\\n\\tdt {{.dt}}s{{end}}{{if .method}}\\n\\t{{.method}} {{.uri}}{{end}}{{if .location}}\\n\\tat {{.location}}{{end}}\"",
+ "key": "Q-f1fb2454-1d08-41d8-a908-042dcabbdc46-0",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Logs",
+ "transparent": true,
+ "type": "logs"
+ }
+ ],
+ "refresh": "",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": ["rivet"],
+ "templating": {
+ "list": [
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": true,
+ "text": ["All"],
+ "value": ["$__all"]
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "options": [
+ {
+ "selected": true,
+ "text": "All",
+ "value": "$__all"
+ },
+ {
+ "selected": false,
+ "text": "TRACE",
+ "value": "TRACE"
+ },
+ {
+ "selected": false,
+ "text": "DEBUG",
+ "value": "DEBUG"
+ },
+ {
+ "selected": false,
+ "text": "INFO",
+ "value": "INFO"
+ },
+ {
+ "selected": false,
+ "text": "WARN",
+ "value": "WARN"
+ },
+ {
+ "selected": false,
+ "text": "ERROR",
+ "value": "ERROR"
+ }
+ ],
+ "query": "TRACE,DEBUG,INFO,WARN,ERROR",
+ "queryValue": "",
+ "skipUrlSync": false,
+ "type": "custom"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": ".*",
+ "value": ".*"
+ },
+ "hide": 0,
+ "label": "Service Name",
+ "name": "name",
+ "options": [
+ {
+ "selected": true,
+ "text": ".*",
+ "value": ".*"
+ }
+ ],
+ "query": ".*",
+ "skipUrlSync": false,
+ "type": "textbox"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": ".*",
+ "value": ".*"
+ },
+ "hide": 0,
+ "label": "Filter",
+ "name": "filter",
+ "options": [
+ {
+ "selected": true,
+ "text": ".*",
+ "value": ".*"
+ }
+ ],
+ "query": ".*",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "tasg": ["rivet"],
+ "title": "Rivet / Logs",
+ "uid": "ad51348c-ba34-43d5-813f-3066617cf60d",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/infra/tf/grafana/grafana_dashboards/rivet-sql.json b/infra/tf/grafana/grafana_dashboards/rivet-sql.json
index 32605f92bd..36c62de594 100644
--- a/infra/tf/grafana/grafana_dashboards/rivet-sql.json
+++ b/infra/tf/grafana/grafana_dashboards/rivet-sql.json
@@ -1,1413 +1,1393 @@
{
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": {
- "type": "grafana",
- "uid": "-- Grafana --"
- },
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "target": {
- "limit": 100,
- "matchAny": false,
- "tags": [],
- "type": "dashboard"
- },
- "type": "dashboard"
- }
- ]
- },
- "description": "",
- "editable": true,
- "fiscalYearStartMonth": 0,
- "graphTooltip": 0,
- "id": 47,
- "links": [],
- "liveNow": false,
- "panels": [
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 0
- },
- "id": 24,
- "panels": [],
- "title": "Query",
- "type": "row"
- },
- {
- "cards": {},
- "color": {
- "cardColor": "#b4ff00",
- "colorScale": "sqrt",
- "colorScheme": "interpolateOranges",
- "exponent": 0.5,
- "mode": "spectrum"
- },
- "dataFormat": "tsbuckets",
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "scaleDistribution": {
- "type": "linear"
- }
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 1
- },
- "heatmap": {},
- "hideZeroBuckets": true,
- "highlightCards": true,
- "id": 26,
- "legend": {
- "show": false
- },
- "options": {
- "calculate": false,
- "calculation": {
- "xBuckets": {
- "mode": "size"
- }
- },
- "cellGap": 0,
- "color": {
- "exponent": 0.5,
- "fill": "dark-orange",
- "mode": "scheme",
- "reverse": false,
- "scale": "exponential",
- "scheme": "RdBu",
- "steps": 64
- },
- "exemplars": {
- "color": "rgba(255,0,255,0.7)"
- },
- "filterValues": {
- "le": 1e-9
- },
- "legend": {
- "show": true
- },
- "rowsFrame": {
- "layout": "auto"
- },
- "tooltip": {
- "show": true,
- "yHistogram": true
- },
- "yAxis": {
- "axisPlacement": "left",
- "max": "60",
- "min": 0,
- "reverse": false,
- "unit": "s"
- }
- },
- "pluginVersion": "10.1.4",
- "reverseYBuckets": false,
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(increase(rivet_sql_query_duration_bucket{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval])) by (le)",
- "format": "heatmap",
- "legendFormat": "{{le}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Duration",
- "tooltip": {
- "show": true,
- "showHistogram": true
- },
- "type": "heatmap",
- "xAxis": {
- "show": true
- },
- "yAxis": {
- "format": "s",
- "logBase": 2,
- "max": "60",
- "min": "0",
- "show": true
- },
- "yBucketBound": "auto"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "reqps"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 1
- },
- "id": 25,
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(rivet_sql_query_total{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"}[$__rate_interval])) by (location)",
- "legendFormat": "{{location}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Rate",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 0,
- "y": 10
- },
- "id": 32,
- "interval": "15s",
- "maxDataPoints": 50,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "10.1.4",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(rivet_sql_query_duration_sum{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval])) by (location) /\r\nsum(rate(rivet_sql_query_duration_count{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval])) by (location)",
- "format": "heatmap",
- "legendFormat": "{{location}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Duration (avg)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 8,
- "y": 10
- },
- "id": 33,
- "interval": "15s",
- "maxDataPoints": 50,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "10.1.4",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "histogram_quantile(0.95, \r\n sum(rate(rivet_sql_query_duration_bucket{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval]))\r\n by (le, location)\r\n)",
- "format": "heatmap",
- "legendFormat": "{{location}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Duration (p95)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 16,
- "y": 10
- },
- "id": 34,
- "interval": "15s",
- "maxDataPoints": 50,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "10.1.4",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "histogram_quantile(0.99, \r\n sum(rate(rivet_sql_query_duration_bucket{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval]))\r\n by (le, location)\r\n)",
- "format": "heatmap",
- "legendFormat": "{{exported_service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Duration (p99)",
- "type": "timeseries"
- },
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 19
- },
- "id": 36,
- "panels": [],
- "title": "Acquire",
- "type": "row"
- },
- {
- "cards": {},
- "color": {
- "cardColor": "#b4ff00",
- "colorScale": "sqrt",
- "colorScheme": "interpolateOranges",
- "exponent": 0.5,
- "mode": "spectrum"
- },
- "dataFormat": "tsbuckets",
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "scaleDistribution": {
- "type": "linear"
- }
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 6,
- "y": 20
- },
- "heatmap": {},
- "hideZeroBuckets": true,
- "highlightCards": true,
- "id": 35,
- "legend": {
- "show": false
- },
- "options": {
- "calculate": false,
- "calculation": {
- "xBuckets": {
- "mode": "size"
- }
- },
- "cellGap": 0,
- "color": {
- "exponent": 0.5,
- "fill": "dark-orange",
- "mode": "scheme",
- "reverse": false,
- "scale": "exponential",
- "scheme": "RdBu",
- "steps": 64
- },
- "exemplars": {
- "color": "rgba(255,0,255,0.7)"
- },
- "filterValues": {
- "le": 1e-9
- },
- "legend": {
- "show": true
- },
- "rowsFrame": {
- "layout": "auto"
- },
- "tooltip": {
- "show": true,
- "yHistogram": true
- },
- "yAxis": {
- "axisPlacement": "left",
- "max": "60",
- "min": 0,
- "reverse": false,
- "unit": "s"
- }
- },
- "pluginVersion": "10.1.4",
- "reverseYBuckets": false,
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(increase(rivet_sql_acquire_duration_bucket{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval])) by (le)",
- "format": "heatmap",
- "legendFormat": "{{le}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Duration",
- "tooltip": {
- "show": true,
- "showHistogram": true
- },
- "type": "heatmap",
- "xAxis": {
- "show": true
- },
- "yAxis": {
- "format": "s",
- "logBase": 2,
- "max": "60",
- "min": "0",
- "show": true
- },
- "yBucketBound": "auto"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 0,
- "y": 29
- },
- "id": 38,
- "interval": "15s",
- "maxDataPoints": 50,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "10.1.4",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(rivet_sql_acquire_duration_sum{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval])) by (location) /\r\nsum(rate(rivet_sql_acquire_duration_count{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval])) by (location)",
- "format": "heatmap",
- "legendFormat": "{{location}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Duration (avg)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 8,
- "y": 29
- },
- "id": 39,
- "interval": "15s",
- "maxDataPoints": 50,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "10.1.4",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "histogram_quantile(0.95, \r\n sum(rate(rivet_sql_acquire_duration_bucket{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval]))\r\n by (le, location)\r\n)",
- "format": "heatmap",
- "legendFormat": "{{location}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Duration (p95)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 16,
- "y": 29
- },
- "id": 40,
- "interval": "15s",
- "maxDataPoints": 50,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "10.1.4",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "histogram_quantile(0.99, \r\n sum(rate(rivet_sql_acquire_duration_bucket{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval]))\r\n by (le, location)\r\n)",
- "format": "heatmap",
- "legendFormat": "{{exported_service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Duration (p99)",
- "type": "timeseries"
- },
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 38
- },
- "id": 41,
- "panels": [],
- "title": "Pool",
- "type": "row"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 39
- },
- "id": 42,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(max_over_time(rivet_crdb_pool_conn_size{service=~\"[[service]]\"}[$__interval])) by (exported_service)",
- "legendFormat": "{{service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Pool Size",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 12,
- "y": 39
- },
- "id": 43,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(max_over_time(rivet_crdb_pool_conn_size{service=~\"[[service]]\"}[$__interval]) - max_over_time(rivet_crdb_pool_num_idle{service=~\"[[service]]\"}[$__interval])) by (service)",
- "legendFormat": "{{service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Pool Num Active",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 8,
- "w": 12,
- "x": 0,
- "y": 47
- },
- "id": 44,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(max_over_time(rivet_crdb_pool_num_idle{service=~\"[[service]]\"}[$__interval])) by (service)",
- "legendFormat": "{{service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Pool Num Idle",
- "type": "timeseries"
- }
- ],
- "refresh": "",
- "schemaVersion": 38,
- "style": "dark",
- "tags": [
- "rivet"
- ],
- "templating": {
- "list": [
- {
- "current": {
- "selected": true,
- "text": [
- "All"
- ],
- "value": [
- "$__all"
- ]
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_sql_query_total,service)",
- "hide": 0,
- "includeAll": true,
- "label": "Service",
- "multi": true,
- "name": "service",
- "options": [],
- "query": {
- "query": "label_values(rivet_sql_query_total,service)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "type": "query"
- },
- {
- "current": {
- "selected": false,
- "text": [
- "All"
- ],
- "value": [
- "$__all"
- ]
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_sql_query_total,context_name)",
- "hide": 0,
- "includeAll": true,
- "label": "Context Name",
- "multi": true,
- "name": "context_name",
- "options": [],
- "query": {
- "query": "label_values(rivet_sql_query_total,context_name)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "type": "query"
- },
- {
- "current": {
- "selected": false,
- "text": [
- "All"
- ],
- "value": [
- "$__all"
- ]
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_sql_query_total,location)",
- "hide": 0,
- "includeAll": true,
- "label": "Location",
- "multi": true,
- "name": "location",
- "options": [],
- "query": {
- "query": "label_values(rivet_sql_query_total,location)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "type": "query"
- },
- {
- "current": {
- "selected": false,
- "text": [
- "All"
- ],
- "value": [
- "$__all"
- ]
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(rivet_sql_query_total{action=~\"^[[:alnum:]_]+$\"},action)",
- "hide": 0,
- "includeAll": true,
- "label": "Action",
- "multi": true,
- "name": "action",
- "options": [],
- "query": {
- "query": "label_values(rivet_sql_query_total{action=~\"^[[:alnum:]_]+$\"},action)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 1,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "type": "query"
- }
- ]
- },
- "time": {
- "from": "now-24h",
- "to": "now"
- },
- "timepicker": {},
- "timezone": "",
- "title": "Rivet / SQL",
- "uid": "aabf5252-8ab0-4940-b261-3b7208db8f18",
- "version": 1,
- "weekStart": ""
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 47,
+ "links": [],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 24,
+ "panels": [],
+ "title": "Query",
+ "type": "row"
+ },
+ {
+ "cards": {},
+ "color": {
+ "cardColor": "#b4ff00",
+ "colorScale": "sqrt",
+ "colorScheme": "interpolateOranges",
+ "exponent": 0.5,
+ "mode": "spectrum"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "heatmap": {},
+ "hideZeroBuckets": true,
+ "highlightCards": true,
+ "id": 26,
+ "legend": {
+ "show": false
+ },
+ "options": {
+ "calculate": false,
+ "calculation": {
+ "xBuckets": {
+ "mode": "size"
+ }
+ },
+ "cellGap": 0,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "RdBu",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "show": true,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "max": "60",
+ "min": 0,
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(rivet_sql_query_duration_bucket{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval])) by (le)",
+ "format": "heatmap",
+ "legendFormat": "{{le}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Duration",
+ "tooltip": {
+ "show": true,
+ "showHistogram": true
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 2,
+ "max": "60",
+ "min": "0",
+ "show": true
+ },
+ "yBucketBound": "auto"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "id": 25,
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(rivet_sql_query_total{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"}[$__rate_interval])) by (location)",
+ "legendFormat": "{{location}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 0,
+ "y": 10
+ },
+ "id": 32,
+ "interval": "15s",
+ "maxDataPoints": 50,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(rivet_sql_query_duration_sum{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval])) by (location) /\r\nsum(rate(rivet_sql_query_duration_count{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval])) by (location)",
+ "format": "heatmap",
+ "legendFormat": "{{location}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Duration (avg)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 8,
+ "y": 10
+ },
+ "id": 33,
+ "interval": "15s",
+ "maxDataPoints": 50,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.95, \r\n sum(rate(rivet_sql_query_duration_bucket{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval]))\r\n by (le, location)\r\n)",
+ "format": "heatmap",
+ "legendFormat": "{{location}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Duration (p95)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 16,
+ "y": 10
+ },
+ "id": 34,
+ "interval": "15s",
+ "maxDataPoints": 50,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.99, \r\n sum(rate(rivet_sql_query_duration_bucket{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval]))\r\n by (le, location)\r\n)",
+ "format": "heatmap",
+ "legendFormat": "{{exported_service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Duration (p99)",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "id": 36,
+ "panels": [],
+ "title": "Acquire",
+ "type": "row"
+ },
+ {
+ "cards": {},
+ "color": {
+ "cardColor": "#b4ff00",
+ "colorScale": "sqrt",
+ "colorScheme": "interpolateOranges",
+ "exponent": 0.5,
+ "mode": "spectrum"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 6,
+ "y": 20
+ },
+ "heatmap": {},
+ "hideZeroBuckets": true,
+ "highlightCards": true,
+ "id": 35,
+ "legend": {
+ "show": false
+ },
+ "options": {
+ "calculate": false,
+ "calculation": {
+ "xBuckets": {
+ "mode": "size"
+ }
+ },
+ "cellGap": 0,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "RdBu",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "show": true,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "max": "60",
+ "min": 0,
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(rivet_sql_acquire_duration_bucket{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval])) by (le)",
+ "format": "heatmap",
+ "legendFormat": "{{le}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Duration",
+ "tooltip": {
+ "show": true,
+ "showHistogram": true
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 2,
+ "max": "60",
+ "min": "0",
+ "show": true
+ },
+ "yBucketBound": "auto"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 0,
+ "y": 29
+ },
+ "id": 38,
+ "interval": "15s",
+ "maxDataPoints": 50,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(rivet_sql_acquire_duration_sum{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval])) by (location) /\r\nsum(rate(rivet_sql_acquire_duration_count{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval])) by (location)",
+ "format": "heatmap",
+ "legendFormat": "{{location}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Duration (avg)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 8,
+ "y": 29
+ },
+ "id": 39,
+ "interval": "15s",
+ "maxDataPoints": 50,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.95, \r\n sum(rate(rivet_sql_acquire_duration_bucket{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval]))\r\n by (le, location)\r\n)",
+ "format": "heatmap",
+ "legendFormat": "{{location}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Duration (p95)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 16,
+ "y": 29
+ },
+ "id": 40,
+ "interval": "15s",
+ "maxDataPoints": 50,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.99, \r\n sum(rate(rivet_sql_acquire_duration_bucket{service=~\"[[service]]\",context_name=~\"[[context_name]]\",location=~\"[[location]]\",action=~\"[[action]]\"} [$__rate_interval]))\r\n by (le, location)\r\n)",
+ "format": "heatmap",
+ "legendFormat": "{{exported_service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Duration (p99)",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 38
+ },
+ "id": 41,
+ "panels": [],
+ "title": "Pool",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 39
+ },
+ "id": 42,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(max_over_time(rivet_crdb_pool_conn_size{service=~\"[[service]]\"}[$__interval])) by (exported_service)",
+ "legendFormat": "{{service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Pool Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 39
+ },
+ "id": 43,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(max_over_time(rivet_crdb_pool_conn_size{service=~\"[[service]]\"}[$__interval]) - max_over_time(rivet_crdb_pool_num_idle{service=~\"[[service]]\"}[$__interval])) by (service)",
+ "legendFormat": "{{service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Pool Num Active",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 47
+ },
+ "id": 44,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(max_over_time(rivet_crdb_pool_num_idle{service=~\"[[service]]\"}[$__interval])) by (service)",
+ "legendFormat": "{{service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Pool Num Idle",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": ["rivet"],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": true,
+ "text": ["All"],
+ "value": ["$__all"]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_sql_query_total,service)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Service",
+ "multi": true,
+ "name": "service",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_sql_query_total,service)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": ["All"],
+ "value": ["$__all"]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_sql_query_total,context_name)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Context Name",
+ "multi": true,
+ "name": "context_name",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_sql_query_total,context_name)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": ["All"],
+ "value": ["$__all"]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_sql_query_total,location)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Location",
+ "multi": true,
+ "name": "location",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_sql_query_total,location)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": ["All"],
+ "value": ["$__all"]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(rivet_sql_query_total{action=~\"^[[:alnum:]_]+$\"},action)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Action",
+ "multi": true,
+ "name": "action",
+ "options": [],
+ "query": {
+ "query": "label_values(rivet_sql_query_total{action=~\"^[[:alnum:]_]+$\"},action)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-24h",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "Rivet / SQL",
+ "uid": "aabf5252-8ab0-4940-b261-3b7208db8f18",
+ "version": 1,
+ "weekStart": ""
}
diff --git a/infra/tf/grafana/grafana_dashboards/traefik-services.json b/infra/tf/grafana/grafana_dashboards/traefik-services.json
index 4a8542fe69..b3a462ec0a 100644
--- a/infra/tf/grafana/grafana_dashboards/traefik-services.json
+++ b/infra/tf/grafana/grafana_dashboards/traefik-services.json
@@ -1,985 +1,971 @@
{
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": {
- "type": "grafana",
- "uid": "-- Grafana --"
- },
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "target": {
- "limit": 100,
- "matchAny": false,
- "tags": [],
- "type": "dashboard"
- },
- "type": "dashboard"
- }
- ]
- },
- "description": "",
- "editable": true,
- "fiscalYearStartMonth": 0,
- "graphTooltip": 0,
- "id": 46,
- "links": [],
- "liveNow": false,
- "panels": [
- {
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 0
- },
- "id": 24,
- "panels": [],
- "title": "API",
- "type": "row"
- },
- {
- "cards": {},
- "color": {
- "cardColor": "#b4ff00",
- "colorScale": "sqrt",
- "colorScheme": "interpolateOranges",
- "exponent": 0.5,
- "mode": "spectrum"
- },
- "dataFormat": "tsbuckets",
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "custom": {
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "scaleDistribution": {
- "type": "linear"
- }
- }
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 1
- },
- "heatmap": {},
- "hideZeroBuckets": true,
- "highlightCards": true,
- "id": 26,
- "legend": {
- "show": false
- },
- "options": {
- "calculate": false,
- "calculation": {
- "xBuckets": {
- "mode": "size"
- }
- },
- "cellGap": 0,
- "color": {
- "exponent": 0.5,
- "fill": "dark-orange",
- "mode": "scheme",
- "reverse": false,
- "scale": "exponential",
- "scheme": "RdBu",
- "steps": 64
- },
- "exemplars": {
- "color": "rgba(255,0,255,0.7)"
- },
- "filterValues": {
- "le": 1e-9
- },
- "legend": {
- "show": true
- },
- "rowsFrame": {
- "layout": "auto"
- },
- "tooltip": {
- "show": true,
- "yHistogram": true
- },
- "yAxis": {
- "axisPlacement": "left",
- "max": "60",
- "min": 0,
- "reverse": false,
- "unit": "s"
- }
- },
- "pluginVersion": "10.1.4",
- "reverseYBuckets": false,
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(increase(traefik_service_request_duration_seconds_bucket{exported_service=~\"[[service]]\"} [$__rate_interval])) by (le)",
- "format": "heatmap",
- "legendFormat": "{{le}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Duration",
- "tooltip": {
- "show": true,
- "showHistogram": true
- },
- "type": "heatmap",
- "xAxis": {
- "show": true
- },
- "yAxis": {
- "format": "s",
- "logBase": 2,
- "max": "60",
- "min": "0",
- "show": true
- },
- "yBucketBound": "auto"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "none"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 1
- },
- "id": 29,
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(max_over_time(traefik_service_open_connections{exported_service=~\"[[service]]\"}[$__interval])) by (exported_service)",
- "legendFormat": "{{exported_service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Open Connections",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "reqps"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 10
- },
- "id": 25,
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": true
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(traefik_service_requests_total{exported_service=~\"[[service]]\"}[$__rate_interval])) by (exported_service)",
- "legendFormat": "{{exported_service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Rate",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "reqps"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 10
- },
- "id": 28,
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "table",
- "placement": "bottom",
- "showLegend": true,
- "sortBy": "Mean",
- "sortDesc": true
- },
- "tooltip": {
- "mode": "multi",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(traefik_service_requests_total{exported_service=~\"[[service]]\"}[$__rate_interval])) by (exported_service, code)",
- "legendFormat": "{{exported_service}}: {{code}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Response Codes",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "binBps"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 19
- },
- "id": 30,
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(traefik_service_requests_bytes_total{exported_service=~\"[[service]]\"}[$__rate_interval])) by (exported_service)",
- "legendFormat": "{{exported_service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Bytes",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "binBps"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 19
- },
- "id": 31,
- "options": {
- "legend": {
- "calcs": [
- "mean"
- ],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(traefik_service_responses_bytes_total{exported_service=~\"[[service]]\"}[$__rate_interval])) by (exported_service)",
- "legendFormat": "{{exported_service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Response Bytes",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 0,
- "y": 28
- },
- "id": 32,
- "interval": "15s",
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "10.1.4",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "sum(rate(traefik_service_request_duration_seconds_sum{method!=\"OPTIONS\",exported_service=~\"[[service]]\"} [$__rate_interval])) by (exported_service) /\r\nsum(rate(traefik_service_request_duration_seconds_count{method!=\"OPTIONS\",exported_service=~\"[[service]]\"} [$__rate_interval])) by (exported_service)",
- "format": "heatmap",
- "legendFormat": "{{exported_service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Duration (avg)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 8,
- "y": 28
- },
- "id": 33,
- "interval": "15s",
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "10.1.4",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "histogram_quantile(0.95, \r\n sum(rate(traefik_service_request_duration_seconds_bucket{exported_service=~\"[[service]]\"} [$__rate_interval]))\r\n by (le, exported_service)\r\n)",
- "format": "heatmap",
- "legendFormat": "{{exported_service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Duration (p95)",
- "type": "timeseries"
- },
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "fieldConfig": {
- "defaults": {
- "color": {
- "mode": "palette-classic"
- },
- "custom": {
- "axisCenteredZero": false,
- "axisColorMode": "text",
- "axisLabel": "",
- "axisPlacement": "auto",
- "barAlignment": 0,
- "drawStyle": "line",
- "fillOpacity": 0,
- "gradientMode": "none",
- "hideFrom": {
- "legend": false,
- "tooltip": false,
- "viz": false
- },
- "insertNulls": false,
- "lineInterpolation": "linear",
- "lineWidth": 1,
- "pointSize": 5,
- "scaleDistribution": {
- "type": "linear"
- },
- "showPoints": "auto",
- "spanNulls": false,
- "stacking": {
- "group": "A",
- "mode": "none"
- },
- "thresholdsStyle": {
- "mode": "off"
- }
- },
- "mappings": [],
- "thresholds": {
- "mode": "absolute",
- "steps": [
- {
- "color": "green",
- "value": null
- },
- {
- "color": "red",
- "value": 80
- }
- ]
- },
- "unit": "s"
- },
- "overrides": []
- },
- "gridPos": {
- "h": 9,
- "w": 8,
- "x": 16,
- "y": 28
- },
- "id": 34,
- "interval": "15s",
- "options": {
- "legend": {
- "calcs": [],
- "displayMode": "list",
- "placement": "bottom",
- "showLegend": false
- },
- "tooltip": {
- "mode": "single",
- "sort": "none"
- }
- },
- "pluginVersion": "10.1.4",
- "targets": [
- {
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "editorMode": "code",
- "expr": "histogram_quantile(0.99, \r\n sum(rate(traefik_service_request_duration_seconds_bucket{exported_service=~\"[[service]]\"} [$__rate_interval]))\r\n by (le, exported_service)\r\n)",
- "format": "heatmap",
- "legendFormat": "{{exported_service}}",
- "range": true,
- "refId": "A"
- }
- ],
- "title": "Request Duration (p99)",
- "type": "timeseries"
- }
- ],
- "refresh": false,
- "schemaVersion": 38,
- "style": "dark",
- "tags": [
- "traefik"
- ],
- "templating": {
- "list": [
- {
- "current": {
- "selected": true,
- "text": [
- "All"
- ],
- "value": [
- "$__all"
- ]
- },
- "datasource": {
- "type": "prometheus",
- "uid": "prometheus"
- },
- "definition": "label_values(traefik_service_requests_total,exported_service)",
- "hide": 0,
- "includeAll": true,
- "label": "Service",
- "multi": true,
- "name": "service",
- "options": [],
- "query": {
- "query": "label_values(traefik_service_requests_total,exported_service)",
- "refId": "PrometheusVariableQueryEditor-VariableQuery"
- },
- "refresh": 2,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "type": "query"
- }
- ]
- },
- "time": {
- "from": "now-24h",
- "to": "now"
- },
- "timepicker": {},
- "timezone": "",
- "title": "Traefik / Services",
- "uid": "be1fbd32-24e1-44a2-896f-731d1382e18c",
- "version": 3,
- "weekStart": ""
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 46,
+ "links": [],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 24,
+ "panels": [],
+ "title": "API",
+ "type": "row"
+ },
+ {
+ "cards": {},
+ "color": {
+ "cardColor": "#b4ff00",
+ "colorScale": "sqrt",
+ "colorScheme": "interpolateOranges",
+ "exponent": 0.5,
+ "mode": "spectrum"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "heatmap": {},
+ "hideZeroBuckets": true,
+ "highlightCards": true,
+ "id": 26,
+ "legend": {
+ "show": false
+ },
+ "options": {
+ "calculate": false,
+ "calculation": {
+ "xBuckets": {
+ "mode": "size"
+ }
+ },
+ "cellGap": 0,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "RdBu",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1e-9
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "show": true,
+ "yHistogram": true
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "max": "60",
+ "min": 0,
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(traefik_service_request_duration_seconds_bucket{exported_service=~\"[[service]]\"} [$__rate_interval])) by (le)",
+ "format": "heatmap",
+ "legendFormat": "{{le}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration",
+ "tooltip": {
+ "show": true,
+ "showHistogram": true
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 2,
+ "max": "60",
+ "min": "0",
+ "show": true
+ },
+ "yBucketBound": "auto"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "id": 29,
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(max_over_time(traefik_service_open_connections{exported_service=~\"[[service]]\"}[$__interval])) by (exported_service)",
+ "legendFormat": "{{exported_service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Open Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 10
+ },
+ "id": 25,
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(traefik_service_requests_total{exported_service=~\"[[service]]\"}[$__rate_interval])) by (exported_service)",
+ "legendFormat": "{{exported_service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 10
+ },
+ "id": 28,
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Mean",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(traefik_service_requests_total{exported_service=~\"[[service]]\"}[$__rate_interval])) by (exported_service, code)",
+ "legendFormat": "{{exported_service}}: {{code}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Response Codes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "binBps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 19
+ },
+ "id": 30,
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(traefik_service_requests_bytes_total{exported_service=~\"[[service]]\"}[$__rate_interval])) by (exported_service)",
+ "legendFormat": "{{exported_service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Bytes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "binBps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 19
+ },
+ "id": 31,
+ "options": {
+ "legend": {
+ "calcs": ["mean"],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(traefik_service_responses_bytes_total{exported_service=~\"[[service]]\"}[$__rate_interval])) by (exported_service)",
+ "legendFormat": "{{exported_service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Response Bytes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 0,
+ "y": 28
+ },
+ "id": 32,
+ "interval": "15s",
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(traefik_service_request_duration_seconds_sum{method!=\"OPTIONS\",exported_service=~\"[[service]]\"} [$__rate_interval])) by (exported_service) /\r\nsum(rate(traefik_service_request_duration_seconds_count{method!=\"OPTIONS\",exported_service=~\"[[service]]\"} [$__rate_interval])) by (exported_service)",
+ "format": "heatmap",
+ "legendFormat": "{{exported_service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration (avg)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 8,
+ "y": 28
+ },
+ "id": 33,
+ "interval": "15s",
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.95, \r\n sum(rate(traefik_service_request_duration_seconds_bucket{exported_service=~\"[[service]]\"} [$__rate_interval]))\r\n by (le, exported_service)\r\n)",
+ "format": "heatmap",
+ "legendFormat": "{{exported_service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration (p95)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 16,
+ "y": 28
+ },
+ "id": 34,
+ "interval": "15s",
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.1.4",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.99, \r\n sum(rate(traefik_service_request_duration_seconds_bucket{exported_service=~\"[[service]]\"} [$__rate_interval]))\r\n by (le, exported_service)\r\n)",
+ "format": "heatmap",
+ "legendFormat": "{{exported_service}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration (p99)",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": false,
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": ["traefik"],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": true,
+ "text": ["All"],
+ "value": ["$__all"]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "definition": "label_values(traefik_service_requests_total,exported_service)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Service",
+ "multi": true,
+ "name": "service",
+ "options": [],
+ "query": {
+ "query": "label_values(traefik_service_requests_total,exported_service)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-24h",
+ "to": "now"
+ },
+ "timepicker": {},
+ "timezone": "",
+ "title": "Traefik / Services",
+ "uid": "be1fbd32-24e1-44a2-896f-731d1382e18c",
+ "version": 3,
+ "weekStart": ""
}
diff --git a/infra/tf/infra_artifacts/README.md b/infra/tf/infra_artifacts/README.md
index 37272d5f87..d466023254 100644
--- a/infra/tf/infra_artifacts/README.md
+++ b/infra/tf/infra_artifacts/README.md
@@ -1,7 +1,7 @@
# infra-artifacts
-Used to store assets required within the infrastructure. At the moment, this is
-only used for storing Rust executables that are ran on servers.
+Used to store assets required within the infrastructure. At the moment, this is only used for storing Rust
+executables that are ran on servers.
-This should not be used for anything that runs within Kubernetes, those can be
-built and uploaded to Docker. This is intended for Docker-less environments.
+This should not be used for anything that runs within Kubernetes, those can be built and uploaded to Docker.
+This is intended for Docker-less environments.
diff --git a/lib/bolt/core/README.md b/lib/bolt/core/README.md
index c94339df07..a6b49af1a7 100644
--- a/lib/bolt/core/README.md
+++ b/lib/bolt/core/README.md
@@ -10,25 +10,37 @@ $ cargo install --path .
## Templates
-Templates should be as minimal as possible with as much generation left up to Bolt as possible. There should never be a scenario where you have to "rewrite" a service based on an updated version of a template, just because you changed one small parameter.
+Templates should be as minimal as possible with as much generation left up to Bolt as possible. There should
+never be a scenario where you have to "rewrite" a service based on an updated version of a template, just
+because you changed one small parameter.
## Naming
-Names should use kebab case. Bolt and other tools will automatically convert the name to snake case in places where appropriatey.
+Names should use kebab case. Bolt and other tools will automatically convert the name to snake case in places
+where appropriatey.
## Protobuf Imports
-The original plan for schemas was to have two modules: the schema module and the service module. The schema module could be published an other modules could import it in order to interface with the service. However, that presents a few problems. Instead we import the Protobuf files from other services directly in the .proto files. This is done for a few reasons:
+The original plan for schemas was to have two modules: the schema module and the service module. The schema
+module could be published an other modules could import it in order to interface with the service. However,
+that presents a few problems. Instead we import the Protobuf files from other services directly in the .proto
+files. This is done for a few reasons:
1. Microservices should be designed to be as language-agnostic as possible.
- - By importing schemas for other services in the Protobuf layer, we can really easily interface between services no matter the language.
+ - By importing schemas for other services in the Protobuf layer, we can really easily interface between
+ services no matter the language.
2. Simplifies dependency management & Docker image building.
- - Traditionally when building a Docker project in monorepos, you have to do a little dance to selectively import parts of the monorepo in order to retain build caching. Caching schemas is not a big concern, so dumping all of this in the local schema module is easier.
+ - Traditionally when building a Docker project in monorepos, you have to do a little dance to selectively
+ import parts of the monorepo in order to retain build caching. Caching schemas is not a big concern, so
+ dumping all of this in the local schema module is easier.
3. Some data is not "owned" by a service.
- - Common data, such as user profiles and events dispatched by other services, are not owned by any specific service and are better imported by the Protobuf file.
+ - Common data, such as user profiles and events dispatched by other services, are not owned by any specific
+ service and are better imported by the Protobuf file.
The main downside to doing this is that a lot of extraneous code gets generated in the schema module.
## Generated code
-Generated code gets committed to Git so the developer is completely aware of any changes that will be committed to the cluster. These files will be validated on the CI server with `generate validate` in order to make sure that they are not accidentally modified by the dev before uploading to the cluster.
+Generated code gets committed to Git so the developer is completely aware of any changes that will be
+committed to the cluster. These files will be validated on the CI server with `generate validate` in order to
+make sure that they are not accidentally modified by the dev before uploading to the cluster.
diff --git a/lib/chirp/README.md b/lib/chirp/README.md
index 5767c7a707..80701df13b 100644
--- a/lib/chirp/README.md
+++ b/lib/chirp/README.md
@@ -2,6 +2,7 @@
## Load balancing
-NATS will send messages randomly to members of a queue. This is a good enough load balancer, since our current workers have fairly lightweight workloads.
+NATS will send messages randomly to members of a queue. This is a good enough load balancer, since our current
+workers have fairly lightweight workloads.
We rely on Nomad's CPU autoscaler to automatically scale to meet the demand.
diff --git a/lib/formatted-error/README.md b/lib/formatted-error/README.md
index 6ebcbd8f1b..266195d6d6 100644
--- a/lib/formatted-error/README.md
+++ b/lib/formatted-error/README.md
@@ -28,7 +28,8 @@ http_status = 500
Write anything you want
```
-When `description_basic` is set and the error isn't built with `bad_request_builder` but instead just `bad_request`, `description_basic` will be used as the error description instead of `description`.
+When `description_basic` is set and the error isn't built with `bad_request_builder` but instead just
+`bad_request`, `description_basic` will be used as the error description instead of `description`.
```md
---
diff --git a/lib/job-runner/README.md b/lib/job-runner/README.md
index 552d2998ff..8a2afe584f 100644
--- a/lib/job-runner/README.md
+++ b/lib/job-runner/README.md
@@ -1,8 +1,9 @@
# job-runner
-This crate is used to run OCI bundles on the job servers themselves. This takes
-care of trapping signals, log shipping, rate limiting logs, and more.
+This crate is used to run OCI bundles on the job servers themselves. This takes care of trapping signals, log
+shipping, rate limiting logs, and more.
## Deployment
-This gets built & deployed in `infra/tf/infra-artifacts/` then used in `svc/pkg/mm/worker/src/workers/lobby_create/nomad_job.rs`.
+This gets built & deployed in `infra/tf/infra-artifacts/` then used in
+`svc/pkg/mm/worker/src/workers/lobby_create/nomad_job.rs`.
diff --git a/namespaces/README.md b/namespaces/README.md
index 785cf9dac1..28f39c824c 100644
--- a/namespaces/README.md
+++ b/namespaces/README.md
@@ -2,4 +2,5 @@
Place your namespace configs here as `{namespace}.toml`.
-Update the `namespace` in `Bolt.local.toml` to set which namespace you're working with. This can also be done with `bolt config set-namespace hello-world`.
+Update the `namespace` in `Bolt.local.toml` to set which namespace you're working with. This can also be done
+with `bolt config set-namespace hello-world`.
diff --git a/secrets/README.md b/secrets/README.md
index 62a782f4b7..37a08769dd 100644
--- a/secrets/README.md
+++ b/secrets/README.md
@@ -1,3 +1,4 @@
# Secrets Configs
-If using a file secrets driver that doesn't override the file path, place your secrets here as `{namespace}.toml`.
+If using a file secrets driver that doesn't override the file path, place your secrets here as
+`{namespace}.toml`.
diff --git a/svc/pkg/captcha/ops/request/README.md b/svc/pkg/captcha/ops/request/README.md
index 8b1e79df05..ac9c932bd5 100644
--- a/svc/pkg/captcha/ops/request/README.md
+++ b/svc/pkg/captcha/ops/request/README.md
@@ -1,3 +1,4 @@
# captcha-request
-Called every time a captcha-related request is called. If a captcha is required before proceeding, `needs_verification` will be `true.`
+Called every time a captcha-related request is called. If a captcha is required before proceeding,
+`needs_verification` will be `true.`
diff --git a/svc/pkg/cloud/ops/version-publish/README.md b/svc/pkg/cloud/ops/version-publish/README.md
index f717a6c3bd..0afc1c98b2 100644
--- a/svc/pkg/cloud/ops/version-publish/README.md
+++ b/svc/pkg/cloud/ops/version-publish/README.md
@@ -2,15 +2,19 @@
This service does three main things:
-1. Produce the metadata for the given config for each cloud service. This will also validate that the config is valid and return an error if something is wrong.
- - It is the responsibility of the client to manually validate configs at the moment. Invalid configs should be considered internal errors that the client did not catch before sending the request.
+1. Produce the metadata for the given config for each cloud service. This will also validate that the config
+ is valid and return an error if something is wrong.
+ - It is the responsibility of the client to manually validate configs at the moment. Invalid configs should
+ be considered internal errors that the client did not catch before sending the request.
2. Create a new game version.
3. Publish each cloud service's config corresponding with the game version.
## Prepare step
-This should not write anything to the database pertaining to this version. This should only allocate the appropriate resources in order to create the version. This should function as if the public function may never be called.
+This should not write anything to the database pertaining to this version. This should only allocate the
+appropriate resources in order to create the version. This should function as if the public function may never
+be called.
## Publish step
-- This should write the new version configs to the database.
+- This should write the new version configs to the database.
diff --git a/svc/pkg/game/ops/version-create/README.md b/svc/pkg/game/ops/version-create/README.md
index e66e89a1e9..65c67eacbc 100644
--- a/svc/pkg/game/ops/version-create/README.md
+++ b/svc/pkg/game/ops/version-create/README.md
@@ -1,5 +1,6 @@
# game-version-create
-This service should only ever be called directly for games that do not have a corresponding Rivet Cloud config, e.g. in `populate-db`.
+This service should only ever be called directly for games that do not have a corresponding Rivet Cloud
+config, e.g. in `populate-db`.
In order to create a new version at the request of a game owner, see `cloud-version-publish`.
diff --git a/svc/pkg/linode/ops/server-provision/README.md b/svc/pkg/linode/ops/server-provision/README.md
index 9cbbb96993..7b0f7f2d14 100644
--- a/svc/pkg/linode/ops/server-provision/README.md
+++ b/svc/pkg/linode/ops/server-provision/README.md
@@ -1,3 +1,5 @@
# linode-server-provision
-This was meant to be agnostic to all other packages and simply create a server on Linode, but because of custom API keys and prebake images we need to include a `datacenter_id` in the request. In the future and if needed this can be made optional so that this endpoint does not require a `datacenter_id`.
+This was meant to be agnostic to all other packages and simply create a server on Linode, but because of
+custom API keys and prebake images we need to include a `datacenter_id` in the request. In the future and if
+needed this can be made optional so that this endpoint does not require a `datacenter_id`.
diff --git a/svc/pkg/load-test/standalone/mm-sustain/README.md b/svc/pkg/load-test/standalone/mm-sustain/README.md
index 372000bf01..aa7f97b9e9 100644
--- a/svc/pkg/load-test/standalone/mm-sustain/README.md
+++ b/svc/pkg/load-test/standalone/mm-sustain/README.md
@@ -1,7 +1,5 @@
# mm-sustain
-This load test is meant to catch sporadic errors in the matchmaker that may not
-show up during routine tests.
-This works by spawning X workers in parallel that repeatedly create, connect
-to, then destroys a lobby. It can be updated to pause on a lobby that has a
-problem detected so it can be diagnosed manually.
+This load test is meant to catch sporadic errors in the matchmaker that may not show up during routine tests.
+This works by spawning X workers in parallel that repeatedly create, connect to, then destroys a lobby. It can
+be updated to pause on a lobby that has a problem detected so it can be diagnosed manually.
diff --git a/svc/pkg/user-presence/ops/touch/README.md b/svc/pkg/user-presence/ops/touch/README.md
index 9c3730f4f2..9f22f32554 100644
--- a/svc/pkg/user-presence/ops/touch/README.md
+++ b/svc/pkg/user-presence/ops/touch/README.md
@@ -2,4 +2,5 @@
Called any time the user makes a presence-related API call.
-This will update the last known timestamp of when the user was seen. We use this to set the user as invisible if they don't make contact for a while.
+This will update the last known timestamp of when the user was seen. We use this to set the user as invisible
+if they don't make contact for a while.
diff --git a/svc/pkg/user/ops/token-create/README.md b/svc/pkg/user/ops/token-create/README.md
index dba1237e69..dfb884aad3 100644
--- a/svc/pkg/user/ops/token-create/README.md
+++ b/svc/pkg/user/ops/token-create/README.md
@@ -2,4 +2,5 @@
Creates a new token and refresh token for a given user.
-Only use this service when initiating a session with a user for the first time. You should always use the client's refresh token whenever possible.
+Only use this service when initiating a session with a user for the first time. You should always use the
+client's refresh token whenever possible.