hacks/practical-sre/artifacts/dashboard-startup.tf (139 lines of code) (raw):

resource "google_monitoring_dashboard" "startup_dashboard" { project = var.gcp_project_id dashboard_json = <<EOF { "displayName": "MovieGuru-Startup-Dashboard", "mosaicLayout": { "columns": 48, "tiles": [ { "width": 24, "height": 16, "widget": { "xyChart": { "dataSets": [ { "timeSeriesQuery": { "prometheusQuery": "(sum(rate(movieguru_startup_success_total[$${__interval}])) / sum(rate(movieguru_startup_attempts_total[$${__interval}]))) * 100", "unitOverride": "%", "outputFullDuration": false }, "plotType": "LINE", "legendTemplate": "", "targetAxis": "Y1", "dimensions": [], "measures": [], "breakdowns": [] } ], "thresholds": [], "yAxis": { "label": "", "scale": "LINEAR" }, "chartOptions": { "mode": "COLOR", "showLegend": false, "displayHorizontal": false } }, "title": "Startup Success Rate", "id": "" } }, { "xPos": 24, "width": 24, "height": 16, "widget": { "xyChart": { "dataSets": [ { "timeSeriesQuery": { "prometheusQuery": "histogram_quantile(0.1, sum(rate(movieguru_startup_latency_milliseconds_bucket[$${__interval}])) by (le))\n", "unitOverride": "ms", "outputFullDuration": false }, "plotType": "LINE", "legendTemplate": "", "targetAxis": "Y1", "dimensions": [], "measures": [], "breakdowns": [] }, { "timeSeriesQuery": { "prometheusQuery": "histogram_quantile(0.5, sum(rate(movieguru_startup_latency_milliseconds_bucket[$${__interval}])) by (le))\n", "unitOverride": "ms", "outputFullDuration": false }, "plotType": "LINE", "legendTemplate": "", "targetAxis": "Y1", "dimensions": [], "measures": [], "breakdowns": [] }, { "timeSeriesQuery": { "prometheusQuery": "histogram_quantile(0.9, sum(rate(movieguru_startup_latency_milliseconds_bucket[$${__interval}])) by (le))\n", "unitOverride": "ms", "outputFullDuration": false }, "plotType": "LINE", "legendTemplate": "", "targetAxis": "Y1", "dimensions": [], "measures": [], "breakdowns": [] }, { "timeSeriesQuery": { "prometheusQuery": "histogram_quantile(0.95, sum(rate(movieguru_startup_latency_milliseconds_bucket[$${__interval}])) by (le))\n", "unitOverride": "ms", "outputFullDuration": false }, "plotType": "LINE", "legendTemplate": "", "targetAxis": "Y1", "dimensions": [], "measures": [], "breakdowns": [] }, { "timeSeriesQuery": { "prometheusQuery": "histogram_quantile(0.99, sum(rate(movieguru_startup_latency_milliseconds_bucket[$${__interval}])) by (le))\n", "unitOverride": "ms", "outputFullDuration": false }, "plotType": "LINE", "legendTemplate": "", "targetAxis": "Y1", "dimensions": [], "measures": [], "breakdowns": [] } ], "thresholds": [], "yAxis": { "label": "", "scale": "LINEAR" }, "chartOptions": { "mode": "COLOR", "showLegend": false, "displayHorizontal": false } }, "title": "Startup Latency", "id": "" } } ] }, "dashboardFilters": [], "labels": {} } EOF depends_on = [ google_monitoring_dashboard.login_dashboard ] }