diff --git a/cmd/clouddriver/clouddriver.go b/cmd/clouddriver/clouddriver.go index ac4f2bf..a24ae84 100644 --- a/cmd/clouddriver/clouddriver.go +++ b/cmd/clouddriver/clouddriver.go @@ -12,7 +12,7 @@ import ( "github.com/homedepot/go-clouddriver/pkg/kubernetes" "github.com/homedepot/go-clouddriver/pkg/server" "github.com/homedepot/go-clouddriver/pkg/sql" - ginprometheus "github.com/mcuadros/go-gin-prometheus" + ginprometheus "github.com/zsais/go-gin-prometheus" ) var ( @@ -27,7 +27,7 @@ func main() { func init() { // Setup metrics. - p := ginprometheus.NewPrometheus("gin") + p := ginprometheus.NewPrometheus("clouddriver") p.MetricsPath = "/metrics" p.Use(r) @@ -86,8 +86,16 @@ func reqCntURLLabelMappingFn(c *gin.Context) string { for _, p := range c.Params { // The following replaces certain path params with a generic name. switch p.Key { + case "account": + // Leave account information if this is the Manifests API. + if !strings.HasPrefix(url, "/manifests") { + url = strings.Replace(url, p.Value, ":"+p.Key, 1) + } case "application": - url = strings.Replace(url, p.Value, ":"+p.Key, 1) + // Leave application information if this is the Applications API. + if !strings.HasPrefix(url, "/applications") { + url = strings.Replace(url, p.Value, ":"+p.Key, 1) + } case "location": url = strings.Replace(url, p.Value, ":"+p.Key, 1) case "name": diff --git a/go.mod b/go.mod index 3ff793f..10e372f 100644 --- a/go.mod +++ b/go.mod @@ -26,7 +26,6 @@ require ( github.com/mattn/go-isatty v0.0.12 // indirect github.com/mattn/go-sqlite3 v1.14.0 github.com/maxbrunsfeld/counterfeiter/v6 v6.2.3 // indirect - github.com/mcuadros/go-gin-prometheus v0.1.0 github.com/mitchellh/mapstructure v1.3.3 // indirect github.com/nsf/gocode v0.0.0-20190302080247-5bee97b48836 // indirect github.com/onsi/ginkgo v1.16.2 @@ -36,6 +35,7 @@ require ( github.com/sirupsen/logrus v1.6.0 // indirect github.com/stamblerre/gocode v1.0.0 // indirect github.com/stretchr/testify v1.5.1 // indirect + github.com/zsais/go-gin-prometheus v0.1.1-0.20200217150448-2199a42d96c1 golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d golang.org/x/sys v0.0.0-20210514084401-e8d321eab015 // indirect golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect diff --git a/go.sum b/go.sum index b9e18db..4475471 100644 --- a/go.sum +++ b/go.sum @@ -453,6 +453,8 @@ github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1: github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/zsais/go-gin-prometheus v0.1.1-0.20200217150448-2199a42d96c1 h1:I0mc2IYyLOIg7m6/efsLimk77Nnzn83VGijD2Bu+jwg= +github.com/zsais/go-gin-prometheus v0.1.1-0.20200217150448-2199a42d96c1/go.mod h1:Slirjzuz8uM8Cw0jmPNqbneoqcUtY2GGjn2bEd4NRLY= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= diff --git a/manifests/artifacts-config-map.yaml b/manifests/artifacts-config-map.yaml deleted file mode 100644 index d0cd74d..0000000 --- a/manifests/artifacts-config-map.yaml +++ /dev/null @@ -1,98 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: artifacts-config - namespace: spinnaker -data: - custom-object.json: |- - { - "name": "custom-artifact", - "types": [ - "custom/object" - ] - } - docker-image.json: |- - { - "name": "docker-registry", - "types": [ - "docker/image" - ] - } - embedded-base64.json: |- - { - "name": "embedded-artifact", - "types": [ - "embedded/base64" - ] - } - front50-pipeline-template.json: |- - { - "name": "front50ArtifactCredentials", - "types": [ - "front50/pipelineTemplate" - ] - } - gcs-object.json: |- - { - "name": "onboarding-pub-sub", - "types": [ - "gcs/object" - ] - } - git-repo.json: |- - { - "name": "github-spinnaker", - "types": [ - "git/repo" - ] - } - github-file.json: |- - { - "name": "github.com", - "token": "some-token", - "types": [ - "github/file" - ] - } - github-enterprise-file.json: |- - { - "baseURL": "https://github.example.com", - "enterprise": true, - "name": "github.example.com", - "token": "some-token", - "types": [ - "github/file" - ] - } - helm-chart-stable.json: |- - { - "name": "helm-stable", - "types": [ - "helm/chart" - ], - "repository": "https://kubernetes-charts.storage.googleapis.com" - } - http-file.json: |- - { - "name": "http", - "types": [ - "http/file" - ] - } - kubernetes.json: |- - { - "name": "kubernetes", - "types": [ - "kubernetes/configMap", - "kubernetes/deployment", - "kubernetes/replicaSet", - "kubernetes/secret" - ] - } - no-auth-http-file.json: |- - { - "name": "no-auth-http-account", - "types": [ - "http/file" - ] - } diff --git a/manifests/deployment.yaml b/manifests/deployment.yaml deleted file mode 100644 index dc72f57..0000000 --- a/manifests/deployment.yaml +++ /dev/null @@ -1,109 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: spin - cluster: spin-go-clouddriver - name: spin-go-clouddriver - namespace: spinnaker -spec: - progressDeadlineSeconds: 600 - replicas: 2 - revisionHistoryLimit: 10 - selector: - matchLabels: - app: spin - cluster: spin-go-clouddriver - strategy: - rollingUpdate: - maxSurge: 25% - maxUnavailable: 25% - type: RollingUpdate - template: - metadata: - annotations: - vault.hashicorp.com/agent-inject: 'true' - vault.hashicorp.com/agent-inject-secret-db.env: secret/spinnaker/clouddriver/database - vault.hashicorp.com/agent-inject-secret-arcade.env: secret/spinnaker/arcade - vault.hashicorp.com/agent-inject-template-db.env: | - {{ with secret "secret/clouddriver/database" }} - {{ range $k, $v := .Data }} - export DB_{{ $k | toUpper }}='{{ $v }}' - {{ end }} - {{ end }} - vault.hashicorp.com/agent-inject-template-arcade.env: | - {{ with secret "secret/spinnaker/arcade/api-key" }} - {{ range $k, $v := .Data }} - export ARCADE_{{ $k | replaceAll "-" "_" | toUpper }}='{{ $v }}' - {{ end }} - {{ end }} - vault.hashicorp.com/agent-pre-populate-only: 'true' - vault.hashicorp.com/auth-path: auth/kubernetes-sandbox-us-central1 - vault.hashicorp.com/role: onboarding - vault.hashicorp.com/tls-skip-verify: 'true' - labels: - app: spin - cluster: spin-go-clouddriver - spec: - affinity: {} - containers: - - args: - - for f in /vault/secrets/*.env; do source $f; done; clouddriver - command: - - /bin/sh - - '-c' - image: 'docker.io/billiford/go-clouddriver:${ parameters["IMAGE_VERSION"] }' - imagePullPolicy: IfNotPresent - name: clouddriver - ports: - - containerPort: 7002 - protocol: TCP - readinessProbe: - exec: - command: - - wget - - '--no-check-certificate' - - '--spider' - - '-q' - - 'http://localhost:7002/health' - failureThreshold: 3 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 - resources: - limits: - memory: 2Gi - requests: - cpu: '1' - memory: 1Gi - volumeMounts: - - mountPath: /opt/spinnaker/artifacts/config - name: artifacts-config-volume - - mountPath: /var/kube/cache - name: kube-cache-volume - - args: - - for f in /vault/secrets/*.env; do source $f; done; arcade - command: - - /bin/sh - - '-c' - image: 'docker.io/billiford/arcade:${ parameters["ARCADE_IMAGE_VERSION"] }' - imagePullPolicy: IfNotPresent - name: arcade - ports: - - containerPort: 1982 - protocol: TCP - dnsPolicy: ClusterFirst - nodeSelector: - cloud.google.com/gke-nodepool: clouddriver - restartPolicy: Always - schedulerName: default-scheduler - securityContext: {} - serviceAccount: spinnaker-onboarding - serviceAccountName: spinnaker-onboarding - terminationGracePeriodSeconds: 720 - volumes: - - configMap: - name: artifacts-config - name: artifacts-config-volume - - emptyDir: {} - name: kube-cache-volume diff --git a/manifests/go-clouddriver-service-monitor.yaml b/manifests/go-clouddriver-service-monitor.yaml deleted file mode 100644 index 7a2147d..0000000 --- a/manifests/go-clouddriver-service-monitor.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: monitoring.coreos.com/v1 -kind: ServiceMonitor -metadata: - labels: - release: spin - name: go-clouddriver-service-monitor - namespace: monitoring -spec: - endpoints: - - interval: 10s - path: /metrics - targetPort: 7002 - namespaceSelector: - matchNames: - - spinnaker - selector: - matchLabels: - app: spin diff --git a/monitoring/dashboard.json b/monitoring/dashboard.json deleted file mode 100644 index 1040ea4..0000000 --- a/monitoring/dashboard.json +++ /dev/null @@ -1,995 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "description": "Process status published by Go Prometheus client library, e.g. memory used, fds open, GC details", - "editable": true, - "gnetId": 6671, - "graphTooltip": 0, - "id": 39, - "iteration": 1597383391074, - "links": [], - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 0 - }, - "hiddenSeries": false, - "id": 1, - "isNew": true, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "resident", - "yaxis": 2 - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "process_resident_memory_bytes{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}} - resident", - "metric": "process_resident_memory_bytes", - "refId": "A", - "step": 4 - }, - { - "expr": "process_virtual_memory_bytes{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}} - virtual", - "metric": "process_virtual_memory_bytes", - "refId": "B", - "step": 4 - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "process memory", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 0 - }, - "hiddenSeries": false, - "id": 4, - "isNew": true, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "resident", - "yaxis": 1 - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "rate(process_resident_memory_bytes{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}[$interval])", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}} - resident", - "metric": "process_resident_memory_bytes", - "refId": "A", - "step": 4 - }, - { - "expr": "deriv(process_virtual_memory_bytes{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}[$interval])", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}} - virtual", - "metric": "process_virtual_memory_bytes", - "refId": "B", - "step": 4 - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "process memory deriv", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 8 - }, - "hiddenSeries": false, - "id": 2, - "isNew": true, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "alloc rate", - "yaxis": 2 - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "go_memstats_alloc_bytes{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}} - bytes allocated", - "metric": "go_memstats_alloc_bytes", - "refId": "A", - "step": 4 - }, - { - "expr": "rate(go_memstats_alloc_bytes_total{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}[30s])", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}} - alloc rate", - "metric": "go_memstats_alloc_bytes_total", - "refId": "B", - "step": 4 - }, - { - "expr": "go_memstats_stack_inuse_bytes{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}} - stack inuse", - "metric": "go_memstats_stack_inuse_bytes", - "refId": "C", - "step": 4 - }, - { - "expr": "go_memstats_heap_inuse_bytes{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}", - "format": "time_series", - "hide": false, - "intervalFactor": 2, - "legendFormat": "{{pod}} - heap inuse", - "metric": "go_memstats_heap_inuse_bytes", - "refId": "D", - "step": 4 - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "go memstats", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "Bps", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 8 - }, - "hiddenSeries": false, - "id": 5, - "isNew": true, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "alloc rate", - "yaxis": 2 - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "deriv(go_memstats_alloc_bytes{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}[$interval])", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}} - bytes allocated", - "metric": "go_memstats_alloc_bytes", - "refId": "A", - "step": 4 - }, - { - "expr": "rate(go_memstats_alloc_bytes_total{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}[$interval])", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}} - alloc rate", - "metric": "go_memstats_alloc_bytes_total", - "refId": "B", - "step": 4 - }, - { - "expr": "deriv(go_memstats_stack_inuse_bytes{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}[$interval])", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}} - stack inuse", - "metric": "go_memstats_stack_inuse_bytes", - "refId": "C", - "step": 4 - }, - { - "expr": "deriv(go_memstats_heap_inuse_bytes{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}[$interval])", - "format": "time_series", - "hide": false, - "intervalFactor": 2, - "legendFormat": "{{pod}} - heap inuse", - "metric": "go_memstats_heap_inuse_bytes", - "refId": "D", - "step": 4 - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "go memstats deriv", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "Bps", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 15 - }, - "hiddenSeries": false, - "id": 3, - "isNew": true, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "process_open_fds{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}}", - "metric": "process_open_fds", - "refId": "A", - "step": 4 - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "open fds", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 15 - }, - "hiddenSeries": false, - "id": 6, - "isNew": true, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "deriv(process_open_fds{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}[$interval])", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}}", - "metric": "process_open_fds", - "refId": "A", - "step": 4 - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "open fds deriv", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 7, - "w": 12, - "x": 0, - "y": 22 - }, - "hiddenSeries": false, - "id": 7, - "isNew": true, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "go_goroutines{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}}", - "metric": "go_goroutines", - "refId": "A", - "step": 4 - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Goroutines", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "editable": true, - "error": false, - "fill": 1, - "fillGradient": 0, - "grid": {}, - "gridPos": { - "h": 7, - "w": 12, - "x": 12, - "y": 22 - }, - "hiddenSeries": false, - "id": 8, - "isNew": true, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "max": true, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "go_gc_duration_seconds{namespace=~\"^spinnaker$\",pod=~\"^spin-clouddriver-.*$\"}", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{pod}}: {{quantile}}", - "metric": "go_gc_duration_seconds", - "refId": "A", - "step": 4 - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "GC duration quantiles", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": "30s", - "schemaVersion": 22, - "style": "dark", - "tags": [ - "go-spinnaker" - ], - "templating": { - "list": [ - { - "auto": false, - "auto_count": 30, - "auto_min": "10s", - "current": { - "selected": false, - "text": "5m", - "value": "5m" - }, - "datasource": null, - "hide": 0, - "includeAll": false, - "label": "", - "multi": false, - "name": "interval", - "options": [ - { - "selected": false, - "text": "1m", - "value": "1m" - }, - { - "selected": true, - "text": "5m", - "value": "5m" - }, - { - "selected": false, - "text": "10m", - "value": "10m" - }, - { - "selected": false, - "text": "30m", - "value": "30m" - }, - { - "selected": false, - "text": "1h", - "value": "1h" - } - ], - "query": "1m,5m,10m,30m,1h", - "refresh": 2, - "skipUrlSync": false, - "type": "interval" - } - ] - }, - "time": { - "from": "now-30m", - "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" - ] - }, - "timezone": "browser", - "title": "Go Clouddriver", - "uid": "ypFZFgvmz", - "version": 13 -} diff --git a/monitoring/go-metrics-dashboard.json b/monitoring/go-metrics-dashboard.json deleted file mode 100644 index 9a0f965..0000000 --- a/monitoring/go-metrics-dashboard.json +++ /dev/null @@ -1,1036 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "description": "Golang Application Runtime metrics", - "editable": true, - "gnetId": 10826, - "graphTooltip": 0, - "id": 41, - "iteration": 1597550158580, - "links": [], - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 0 - }, - "hiddenSeries": false, - "id": 26, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "go_memstats_mspan_inuse_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - }, - { - "expr": "go_memstats_mspan_sys_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "B" - }, - { - "expr": "go_memstats_mcache_inuse_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "C" - }, - { - "expr": "go_memstats_mcache_sys_bytes{namespace=\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "D" - }, - { - "expr": "go_memstats_buck_hash_sys_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "E" - }, - { - "expr": "go_memstats_gc_sys_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "F" - }, - { - "expr": "go_memstats_other_sys_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"} - go_memstats_other_sys_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "bytes of memory are used for other runtime allocations {pod={{pod}}}", - "refId": "G" - }, - { - "expr": "go_memstats_next_gc_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "H" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Memory in Off-Heap", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 0 - }, - "hiddenSeries": false, - "id": 12, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "go_memstats_heap_alloc_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "B" - }, - { - "expr": "go_memstats_heap_sys_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - }, - { - "expr": "go_memstats_heap_idle_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "C" - }, - { - "expr": "go_memstats_heap_inuse_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "", - "refId": "D" - }, - { - "expr": "go_memstats_heap_released_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "E" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Memory in Heap", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 8 - }, - "hiddenSeries": false, - "id": 24, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "go_memstats_stack_inuse_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - }, - { - "expr": "go_memstats_stack_sys_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Memory in Stack", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 8 - }, - "hiddenSeries": false, - "id": 16, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "go_memstats_sys_bytes{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Total Used Memory", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 16 - }, - "hiddenSeries": false, - "id": 22, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "go_memstats_mallocs_total{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"} - go_memstats_frees_total{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Number of Live Objects", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "description": "shows how many heap objects are allocated. This is a counter value so you can use rate() to objects allocated/s.", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 16 - }, - "hiddenSeries": false, - "id": 20, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "rate(go_memstats_mallocs_total{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}[1m])", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Rate of Objects Allocated", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "description": "go_memstats_lookups_total – counts how many pointer dereferences happened. This is a counter value so you can use rate() to lookups/s.", - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 24 - }, - "hiddenSeries": false, - "id": 18, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "rate(go_memstats_lookups_total{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}[1m])", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Rate of a Pointer Dereferences", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "ops", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 24 - }, - "hiddenSeries": false, - "id": 8, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "go_goroutines{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Goroutines", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 32 - }, - "hiddenSeries": false, - "id": 14, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 1, - "points": true, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "rate(go_memstats_alloc_bytes_total{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}[1m])", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Rates of Allocation", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "Bps", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": null, - "fill": 1, - "fillGradient": 0, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 32 - }, - "hiddenSeries": false, - "id": 4, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "go_gc_duration_seconds{namespace=~\"^spinnaker$\", pod=~\"(spin-clouddriver-.*)\"}", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "GC duration quantile", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "ms", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": "5s", - "schemaVersion": 22, - "style": "dark", - "tags": [ - "go", - "golang" - ], - "templating": { - "list": [] - }, - "time": { - "from": "now-1h", - "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" - ] - }, - "timezone": "", - "title": "Go Metrics", - "uid": "CgCw8jKZz", - "version": 2 -}