apiVersion: influxdata.com/v2alpha1
kind: Label
metadata:
    name: fervent-bohr-ded001
spec:
    color: '#066fc5'
    name: istio
---
apiVersion: influxdata.com/v2alpha1
kind: Variable
metadata:
    name: agitated-albattani-ded005
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    language: flux
    name: client_workload_namespace
    query: "import \"influxdata/influxdb/schema\"\r\n\r\nschema.tagValues(\r\n  bucket:
        v.bucket,\r\n  tag: \"source_workload_namespace\",\r\n  predicate: (r) =>
        r._measurement == \"prometheus\" \r\n    and r._field == \"istio_requests_total\"\r\n
        \   and r.destination_service == v.service\r\n    or r._measurement == \"prometheus\"
        \r\n    and r._field == \"istio_tcp_sent_bytes_total\"\r\n    and r.destination_service
        == v.service,\r\n  start: v.timeRangeStart\r\n)"
    type: query
---
apiVersion: influxdata.com/v2alpha1
kind: Variable
metadata:
    name: agitated-spence-1ed00f
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    language: flux
    name: inbound_workload
    query: "import \"influxdata/influxdb/schema\"\r\n\r\nschema.tagValues(\r\n  bucket:
        v.bucket,\r\n  tag: \"source_workload\",\r\n  predicate: (r) => r._measurement
        == \"prometheus\" \r\n    and r._field == \"istio_requests_total\"\r\n    and
        r.destination_workload == v.workload\r\n    and r.destination_workload_namespace
        == v.namespace\r\n    and r.source_workload_namespace == v.inbound_workload_namespace\r\n
        \   or r._measurement == \"prometheus\" \r\n    and r._field == \"istio_tcp_sent_bytes_total\"\r\n
        \   and r.destination_workload == v.workload\r\n    and r.destination_workload_namespace
        == v.namespace\r\n    and r.source_workload_namespace == v.inbound_workload_namespace,\r\n
        \ start: v.timeRangeStart\r\n)"
    type: query
---
apiVersion: influxdata.com/v2alpha1
kind: Variable
metadata:
    name: agreeing-davinci-ded00d
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    language: flux
    name: namespace
    query: "import \"influxdata/influxdb/schema\"\r\n\r\nschema.tagValues(\r\n  bucket:
        v.bucket,\r\n  tag: \"destination_workload_namespace\",\r\n  predicate: (r)
        => r._measurement == \"prometheus\" \r\n    and r._field == \"istio_requests_total\"\r\n
        \   or r._measurement == \"prometheus\" \r\n    and r._field == \"istio_tcp_sent_bytes_total\",\r\n
        \ start: v.timeRangeStart\r\n)"
    selected:
      - istio-system
    type: query
---
apiVersion: influxdata.com/v2alpha1
kind: Variable
metadata:
    name: agreeing-morse-5ed003
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    language: flux
    name: service
    query: "import \"influxdata/influxdb/schema\"\r\n\r\nschema.tagValues(\r\n  bucket:
        v.bucket,\r\n  tag: \"destination_service\",\r\n  predicate: (r) => r._measurement
        == \"prometheus\" \r\n    and r._field == \"istio_requests_total\"\r\n    or
        r._measurement == \"prometheus\" \r\n    and r._field == \"istio_tcp_sent_bytes_total\",\r\n
        \ start: v.timeRangeStart\r\n)"
    type: query
---
apiVersion: influxdata.com/v2alpha1
kind: Variable
metadata:
    name: bettering-ardinghelli-5ed007
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    language: flux
    name: service_workload
    query: "import \"influxdata/influxdb/schema\"\r\n\r\nschema.tagValues(\r\n  bucket:
        v.bucket,\r\n  tag: \"destination_workload\",\r\n  predicate: (r) => r._measurement
        == \"prometheus\" \r\n    and r._field == \"istio_requests_total\"\r\n    and
        r.destination_service == v.service\r\n    and r.destination_workload_namespace
        == v.service_workload_namespace\r\n    and r.reporter == \"destination\"\r\n
        \   or r._measurement == \"prometheus\" \r\n    and r._field == \"istio_tcp_sent_bytes_total\"\r\n
        \   and r.destination_service == v.service\r\n    and r.destination_workload_namespace
        == v.service_workload_namespace\r\n    and r.reporter == \"destination\",\r\n
        \ start: v.timeRangeStart\r\n)"
    type: query
---
apiVersion: influxdata.com/v2alpha1
kind: Variable
metadata:
    name: dazzling-babbage-1ed003
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    language: flux
    name: bucket
    query: |-
        buckets()
          |> filter(fn: (r) => r.name !~ /^_/)
          |> rename(columns: {name: "_value"})
          |> keep(columns: ["_value"])
    selected:
      - demo
    type: query
---
apiVersion: influxdata.com/v2alpha1
kind: Variable
metadata:
    name: elated-hellman-ded009
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    language: flux
    name: destination_service
    query: "import \"influxdata/influxdb/schema\"\r\n\r\nschema.tagValues(\r\n  bucket:
        v.bucket,\r\n  tag: \"destination_service\",\r\n  predicate: (r) => r._measurement
        == \"prometheus\" \r\n    and r._field == \"istio_requests_total\"\r\n    and
        r.reporter == \"source\"\r\n    and r.source_workload == v.workload\r\n    and
        r.source_workload_namespace == v.namespace\r\n    or r._measurement == \"prometheus\"
        \r\n    and r._field == \"istio_tcp_sent_bytes_total\"\r\n    and r.reporter
        == \"source\"\r\n    and r.source_workload == v.workload\r\n    and r.source_workload_namespace
        == v.namespace,\r\n  start: v.timeRangeStart\r\n  )"
    type: query
---
apiVersion: influxdata.com/v2alpha1
kind: Variable
metadata:
    name: relaxed-lamport-5ed00f
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    language: flux
    name: client_workload
    query: "import \"influxdata/influxdb/schema\"\r\n\r\nschema.tagValues(\r\n  bucket:
        v.bucket,\r\n  tag: \"source_workload\",\r\n  predicate: (r) => r._measurement
        == \"prometheus\" \r\n    and r._field == \"istio_requests_total\"\r\n    and
        r.destination_service == v.service\r\n    and r.source_workload_namespace
        == v.client_workload_namespace\r\n    or r._measurement == \"prometheus\"
        \r\n    and r._field == \"istio_tcp_sent_bytes_total\"\r\n    and r.destination_service
        == v.service,\r\n  start: v.timeRangeStart\r\n)"
    type: query
---
apiVersion: influxdata.com/v2alpha1
kind: Variable
metadata:
    name: rightful-kapitsa-5ed00b
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    language: flux
    name: inbound_workload_namespace
    query: "import \"influxdata/influxdb/schema\"\r\n\r\nschema.tagValues(\r\n  bucket:
        v.bucket,\r\n  tag: \"source_workload_namespace\",\r\n  predicate: (r) =>
        r._measurement == \"prometheus\" \r\n    and r._field == \"istio_requests_total\"\r\n
        \   and r.reporter == \"source\"\r\n    and r.destination_workload == v.workload\r\n
        \   and r.destination_workload_namespace == v.namespace\r\n    or r._measurement
        == \"prometheus\" \r\n    and r._field == \"istio_tcp_sent_bytes_total\"\r\n
        \   and r.reporter == \"source\"\r\n    and r.destination_workload == v.workload\r\n
        \   and r.destination_workload_namespace == v.namespace,\r\n  start: v.timeRangeStart\r\n)"
    selected:
      - source
    type: query
---
apiVersion: influxdata.com/v2alpha1
kind: Variable
metadata:
    name: rustling-saha-1ed007
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    language: flux
    name: workload
    query: "import \"influxdata/influxdb/schema\"\r\n\r\nsource = schema.tagValues(\r\n
        \ bucket: v.bucket,\r\n  tag: \"source_workload\",\r\n  predicate: (r) =>
        r._measurement == \"prometheus\" \r\n    and r._field == \"istio_requests_total\"
        \r\n    and r.source_workload_namespace == v.namespace \r\n    or r._measurement
        == \"prometheus\" \r\n    and r._field == \"istio_tcp_sent_bytes_total\" \r\n
        \   and r.source_workload_namespace == v.namespace,\r\n  start: v.timeRangeStart\r\n)\r\n\r\ndestination
        = schema.tagValues(\r\n  bucket: v.bucket,\r\n  tag: \"destination_workload\",\r\n
        \ predicate: (r) => r._measurement == \"prometheus\" \r\n    and r._field
        == \"istio_requests_total\" \r\n    and r.destination_workload_namespace ==
        v.namespace \r\n    or r._measurement == \"prometheus\" \r\n    and r._field
        == \"istio_tcp_sent_bytes_total\" \r\n    and r.destination_workload_namespace
        == v.namespace,\r\n  start: v.timeRangeStart\r\n)\r\n\r\nunion(tables: [source,
        destination])"
    selected:
      - unknown
    type: query
---
apiVersion: influxdata.com/v2alpha1
kind: Variable
metadata:
    name: thirsty-clarke-1ed00b
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    language: flux
    name: service_workload_namespace
    query: "import \"influxdata/influxdb/schema\"\r\n\r\nschema.tagValues(\r\n  bucket:
        v.bucket,\r\n  tag: \"destination_workload_namespace\",\r\n  predicate: (r)
        => r._measurement == \"prometheus\" \r\n    and r._field == \"istio_requests_total\"\r\n
        \   and r.destination_service == v.service\r\n    and r.reporter == \"destination\"\r\n
        \   or r._measurement == \"prometheus\" \r\n    and r._field == \"istio_tcp_sent_bytes_total\"\r\n
        \   and r.destination_service == v.service\r\n    and r.reporter == \"destination\",\r\n
        \ start: v.timeRangeStart\r\n)"
    type: query
---
apiVersion: influxdata.com/v2alpha1
kind: Dashboard
metadata:
    name: boring-williams-9ed001
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    charts:
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "10"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 2f1fa093-5837-42f4-bbef-705c62693672
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 6d707081-471a-4353-b325-9e1e1339646b
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 3767919c-7ad6-44c5-a94e-2bd5bd74f930
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Deployed Versions
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: |-
                from(bucket: v.bucket)
                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                  |> filter(fn: (r) => r["_measurement"] == "prometheus")
                  |> filter(fn: (r) => r["_field"] == "istio_build")
                  |> filter(fn: (r) => r["component"] == "pilot")
                  |> group(columns: ["tag"])
                  |> aggregateWindow(every: 1m, fn: sum, createEmpty: false)
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        yCol: _value
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 2f1fa093-5837-42f4-bbef-705c62693672
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 6d707081-471a-4353-b325-9e1e1339646b
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 3767919c-7ad6-44c5-a94e-2bd5bd74f930
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Resource Usage - CPU
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\nfrom(bucket: v.bucket)\n  |>
                range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn:
                (r) => r[\"_measurement\"] == \"prometheus\")\n  |> filter(fn: (r)
                => \n    r[\"_field\"] == \"container_cpu_usage_seconds_total\" and
                r[\"container\"] == \"discovery\" and r[\"pod\"] =~ /istiod-.*|istio-pilot-.*/
                or\n    r[\"_field\"] == \"process_cpu_seconds_total\" and r[\"app\"]
                == \"istiod\" or\n    r[\"_field\"] == \"container_cpu_usage_seconds_total\"
                and r[\"container\"] == \"istio-proxy\" and r[\"pod\"] =~ /istiod-.*|istio-pilot-.*/\n
                \ )\n  |> increase() \n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"_field\"])\n  |> filter(fn: (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 2
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: iB
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 2f1fa093-5837-42f4-bbef-705c62693672
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 6d707081-471a-4353-b325-9e1e1339646b
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 3767919c-7ad6-44c5-a94e-2bd5bd74f930
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Resource Usage - Memory
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "a = from(bucket: v.bucket)\n  |> range(start: v.timeRangeStart,
                stop: v.timeRangeStop)\n  |> filter(fn: (r) => r[\"_measurement\"]
                == \"prometheus\")\n  |> filter(fn: (r) => r[\"_field\"] == \"process_virtual_memory_bytes\"
                \n    or r[\"_field\"] == \"process_resident_memory_bytes\" \n    or
                r[\"_field\"] == \"go_memstats_heap_sys_bytes\" \n    or r[\"_field\"]
                == \"go_memstats_heap_alloc_bytes\"\n    or r[\"_field\"] == \"go_memstats_alloc_bytes\"\n
                \   or r[\"_field\"] == \"go_memstats_heap_inuse_bytes\"\n    or r[\"_field\"]
                == \"go_memstats_stack_inuse_bytes\")\n  |> filter(fn: (r) => r[\"app\"]
                == \"istiod\" \n    or r[\"container\"] =~ /discovery/ \n    or r[\"pod\"]
                =~ /istiod-.*|istio-pilot-.*/)\n  |> aggregateWindow(every: 1m, fn:
                mean, createEmpty: false)\n  |> filter(fn: (r) => exists r._value)\n
                \ |> keep(columns: [\"_time\", \"_value\", \"_field\"])\n\nb = from(bucket:
                v.bucket)\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n
                \ |> filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\n  |>
                filter(fn: (r) => r[\"_field\"] == \"container_memory_working_set_bytes\")\n
                \ |> filter(fn: (r) => r[\"container\"] =~ /discovery/ and r[\"pod\"]
                =~ /istiod-.*|istio-pilot-.*/)\n  |> aggregateWindow(every: 1m, fn:
                mean, createEmpty: false)\n  |> filter(fn: (r) => exists r._value)\n
                \ |> keep(columns: [\"_time\", \"_value\", \"_field\"])\n\nunion(tables:
                [a, b])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 4
      - axes:
          - label: ms
            name: x
        colors:
          - hex: '#31C0F6'
            id: ccc7bb26-480f-4908-be3f-34751f5fbd85
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 61ae7e4d-378f-4bdd-9a41-5ecd3c3ca4fe
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: af961e97-10bb-42c9-a004-0e5b1b267afe
            name: Nineteen Eighty Four
            type: scale
        fillColumns:
          - quantile
        height: 2
        kind: Histogram
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Proxy Push Time
        position: stacked
        queries:
          - query: "import \"experimental/prometheus\"\n\nhistograms =\n  from(bucket:
                v.bucket)\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n
                \ |> filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\n  |>
                filter(fn: (r) => r[\"_field\"] == \"pilot_proxy_convergence_time_bucket\")\n
                \ |> filter(fn: (r) => exists r._value)\n  |> aggregateWindow(every:
                1m, fn: mean, createEmpty: false)\n  \nunion(tables: [\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.99),\n  histograms |>
                prometheus.histogramQuantile(quantile: 0.9),\n  histograms |> prometheus.histogramQuantile(quantile:
                0.5)\n])"
        staticLegend: {}
        width: 4
        xCol: _value
        yPos: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            label: kB / s
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: ccc7bb26-480f-4908-be3f-34751f5fbd85
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 61ae7e4d-378f-4bdd-9a41-5ecd3c3ca4fe
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: af961e97-10bb-42c9-a004-0e5b1b267afe
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: TX/RX Connection Bytes rate
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\nfrom(bucket: v.bucket)\n  |>
                range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn:
                (r) => r[\"_measurement\"] == \"prometheus\")\n  |> filter(fn: (r)
                => \n    r[\"_field\"] == \"envoy_cluster_upstream_cx_rx_bytes_total\"
                and r[\"cluster_name\"] == \"xds-grpc\" or\n    r[\"_field\"] == \"envoy_cluster_upstream_cx_tx_bytes_total\"
                and r[\"cluster_name\"] == \"xds-grpc\"\n  )\n  |> aggregateWindow(every:
                1m, fn: max)\n  |> increase(columns: [\"_value\"])\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"_field\"])\n  |> filter(fn: (r) =>
                exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 8
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: iB
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 2f1fa093-5837-42f4-bbef-705c62693672
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 6d707081-471a-4353-b325-9e1e1339646b
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 3767919c-7ad6-44c5-a94e-2bd5bd74f930
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Resource Usage - Disk
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: |-
                from(bucket: v.bucket)
                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                  |> filter(fn: (r) => r["_measurement"] == "prometheus")
                  |> filter(fn: (r) => r["_field"] == "container_fs_usage_bytes")
                  |> filter(fn: (r) => (r["container"] == "discovery" and r["pod"] =~ /istiod-.*|istio-pilot-.*/) or (r["container"] == "istio-proxy" and r["pod"] =~ /istiod-.*|istio-pilot-.*/))
                  |> aggregateWindow(every: 1m, fn: mean, createEmpty: false)
                  |> filter(fn: (r) => exists r._value)
                  |> keep(columns: ["_time", "_value", "_field"])
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        xPos: 4
        yCol: _value
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 2f1fa093-5837-42f4-bbef-705c62693672
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 6d707081-471a-4353-b325-9e1e1339646b
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 3767919c-7ad6-44c5-a94e-2bd5bd74f930
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Resource Usage - Goroutines
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: |-
                from(bucket: v.bucket)
                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                  |> filter(fn: (r) => r["_measurement"] == "prometheus")
                  |> filter(fn: (r) => r["_field"] == "go_goroutines")
                  |> filter(fn: (r) => r["app"] == "istiod")
                  |> aggregateWindow(every: 1m, fn: mean, createEmpty: false)
                  |> filter(fn: (r) => exists r._value)
                  |> keep(columns: ["_time", "_value", "_field"])
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        xPos: 4
        yCol: _value
        yPos: 2
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            label: ops / s
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: ccc7bb26-480f-4908-be3f-34751f5fbd85
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 61ae7e4d-378f-4bdd-9a41-5ecd3c3ca4fe
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: af961e97-10bb-42c9-a004-0e5b1b267afe
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Pilot Pushes
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: |-
                import "experimental/aggregate"
                from(bucket: v.bucket)
                  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                  |> filter(fn: (r) => r["_measurement"] == "prometheus")
                  |> filter(fn: (r) => r["_field"] == "pilot_xds_pushes")
                  |> filter(fn: (r) => r["type"] =~ /cds|eds|lds|rds|sds|nds/)
                  |> increase()
                  |> aggregate.rate(every: 1m, unit: 1s, groupColumns: ["type"])
                  |> filter(fn: (r) => exists r._value)
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        xPos: 4
        yCol: _value
        yPos: 4
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "10"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: ccc7bb26-480f-4908-be3f-34751f5fbd85
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 61ae7e4d-378f-4bdd-9a41-5ecd3c3ca4fe
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: af961e97-10bb-42c9-a004-0e5b1b267afe
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Sidecar Injection
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\nfrom(bucket: v.bucket)\n  |>
                range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn:
                (r) => r[\"_measurement\"] == \"prometheus\")\n  |> filter(fn: (r)
                => \n    r[\"_field\"] == \"sidecar_injection_success_total\" or\n
                \   r[\"_field\"] == \"sidecar_injection_failure_total\"\n  )\n  |>
                increase(columns: [\"_value\"])\n  |> aggregate.rate(every: 1m, unit:
                1s, groupColumns: [\"_field\"])\n  |> filter(fn: (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        xPos: 4
        yCol: _value
        yPos: 6
      - colors:
          - hex: '#ffffff'
            id: base
            name: white
            type: text
        decimalPlaces: 2
        height: 1
        kind: Single_Stat
        name: RX connection bytes rate - 50th percentile
        queries:
          - query: "quantile = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart,
                stop: v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"]
                == \"prometheus\")\r\n  |> filter(fn: (r) => \r\n    r[\"_field\"]
                == \"envoy_cluster_upstream_cx_rx_bytes_total\" and r[\"cluster_name\"]
                == \"xds-grpc\"\r\n  )\r\n  |> aggregateWindow(every: 1m, fn: max)\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> derivative(unit: 1s,
                nonNegative: true, columns: [\"_value\"], timeColumn: \"_time\")\r\n
                \ |> quantile(column: \"_value\", q: 0.5, method: \"exact_mean\")\r\n
                \ |> fill(column: \"_value\", usePrevious: true)\r\n  |> yield(name:
                \"quantile\")"
        staticLegend: {}
        suffix: ' kB/s'
        width: 2
        xPos: 4
        yPos: 8
      - colors:
          - hex: '#ffffff'
            id: base
            name: white
            type: text
        decimalPlaces: 2
        height: 1
        kind: Single_Stat
        name: TX connection bytes rate - 50th percentile
        queries:
          - query: "quantile = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart,
                stop: v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"]
                == \"prometheus\")\r\n  |> filter(fn: (r) => \r\n    r[\"_field\"]
                == \"envoy_cluster_upstream_cx_tx_bytes_total\" and r[\"cluster_name\"]
                == \"xds-grpc\"\r\n  )\r\n  |> aggregateWindow(every: 1m, fn: max)\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> derivative(unit: 1s,
                nonNegative: true, columns: [\"_value\"], timeColumn: \"_time\")\r\n
                \ |> quantile(column: \"_value\", q: 0.5, method: \"exact_mean\")\r\n
                \ |> fill(column: \"_value\", usePrevious: true)\r\n  |> yield(name:
                \"quantile\")"
        staticLegend: {}
        suffix: ' kB/s'
        width: 2
        xPos: 4
        yPos: 9
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "10"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: ccc7bb26-480f-4908-be3f-34751f5fbd85
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 61ae7e4d-378f-4bdd-9a41-5ecd3c3ca4fe
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: af961e97-10bb-42c9-a004-0e5b1b267afe
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Configuration Validation
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\nfrom(bucket: v.bucket)\n  |>
                range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn:
                (r) => r[\"_measurement\"] == \"prometheus\")\n  |> filter(fn: (r)
                => \n    r[\"_field\"] == \"galley_validation_passed\" or\n    r[\"_field\"]
                == \"galley_validation_failed\"\n  )\n  |> increase(columns: [\"_value\"])\n
                \ |> aggregate.rate(every: 1m, unit: 1s, groupColumns: [\"_field\"])\n
                \ |> filter(fn: (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 2
        widthRatio: 1
        xCol: _time
        xPos: 6
        yCol: _value
        yPos: 8
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: ccc7bb26-480f-4908-be3f-34751f5fbd85
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 61ae7e4d-378f-4bdd-9a41-5ecd3c3ca4fe
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: af961e97-10bb-42c9-a004-0e5b1b267afe
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Pilot Errors
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\nrejects = from(bucket: v.bucket)\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn:
                (r) => r[\"_measurement\"] == \"prometheus\")\n  |> filter(fn: (r)
                => \n    r[\"_field\"] == \"pilot_xds_cds_reject\" and r[\"app\"]
                == \"istiod\" or\n    r[\"_field\"] == \"pilot_xds_eds_reject\" and
                r[\"app\"] == \"istiod\" or\n    r[\"_field\"] == \"pilot_xds_rds_reject\"
                and r[\"app\"] == \"istiod\" or\n    r[\"_field\"] == \"pilot_xds_lds_reject\"
                and r[\"app\"] == \"istiod\"\n  )\n  |> aggregateWindow(every: 1m,
                fn: sum)\n  |> filter(fn: (r) => exists r._value)\n\nrates = from(bucket:
                v.bucket)\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n
                \ |> filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\n  |>
                filter(fn: (r) => \n    r[\"_field\"] == \"pilot_xds_write_timeout\"
                and r[\"app\"] == \"istiod\" or\n    r[\"_field\"] == \"pilot_total_xds_internal_errors\"
                and r[\"app\"] == \"istiod\" or\n    r[\"_field\"] == \"pilot_total_xds_rejects\"
                and r[\"app\"] == \"istiod\" or\n    r[\"_field\"] == \"pilot_xds_push_context_errors\"
                and r[\"app\"] == \"istiod\"\n  )\n  |> aggregateWindow(every: 1m,
                fn: sum)\n  |> increase()\n  |> aggregate.rate(every: 1m, unit: 1s,
                groupColumns: [\"_field\"])\n  |> filter(fn: (r) => exists r._value)\n\nunion(tables:
                [rejects, rates])\n\n\n  \n  \n  \n  \n\n\n\n\n  \n\n\n\n//   sum(pilot_xds_cds_reject{app=\"istiod\"})
                or exists(pilot_xds_cds_reject{app=\"istiod\"}) - 1)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xPos: 8
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "10"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 2f1fa093-5837-42f4-bbef-705c62693672
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 6d707081-471a-4353-b325-9e1e1339646b
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 3767919c-7ad6-44c5-a94e-2bd5bd74f930
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Pilot Conflicts
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "from(bucket: v.bucket)\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\n  |> filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\n
                \ |> filter(fn: (r) => \n    r[\"_field\"] == \"pilot_conflict_inbound_listener\"
                and r[\"app\"] == \"istiod\" or\n    r[\"_field\"] == \"pilot_conflict_outbound_listener_http_over_current_tcp\"
                and r[\"app\"] == \"istiod\" or\n    r[\"_field\"] == \"pilot_conflict_outbound_listener_tcp_over_current_tcp\"
                and r[\"app\"] == \"istiod\" or\n    r[\"_field\"] == \"pilot_conflict_outbound_listener_tcp_over_current_http\"
                and r[\"app\"] == \"istiod\")\n  |> aggregateWindow(every: 1m, fn:
                sum)\n  |> filter(fn: (r) => exists r._value)\n  |> keep(columns:
                [\"_time\", \"_value\", \"_field\"])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        xPos: 8
        yCol: _value
        yPos: 2
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: ccc7bb26-480f-4908-be3f-34751f5fbd85
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 61ae7e4d-378f-4bdd-9a41-5ecd3c3ca4fe
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: af961e97-10bb-42c9-a004-0e5b1b267afe
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: ADS Monitoring
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\nfrom(bucket: v.bucket)\n  |>
                range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn:
                (r) => r[\"_measurement\"] == \"prometheus\")\n  |> filter(fn: (r)
                => \n    r[\"_field\"] == \"pilot_virt_services\" and r[\"app\"] ==
                \"istiod\" or \n    r[\"_field\"] == \"pilot_services\" and r[\"app\"]
                == \"istiod\" or \n    r[\"_field\"] == \"pilot_xds\" and r[\"app\"]
                == \"istiod\"\n  )\n  |> group(columns: [\"_field\", \"pod\"], mode:\"by\")\n
                \ |> aggregateWindow(every: 1m, fn: mean)\n  |> filter(fn: (r) =>
                exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        xPos: 8
        yCol: _value
        yPos: 4
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            label: ops / s
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: ccc7bb26-480f-4908-be3f-34751f5fbd85
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 61ae7e4d-378f-4bdd-9a41-5ecd3c3ca4fe
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: af961e97-10bb-42c9-a004-0e5b1b267afe
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Envoy Details
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\nupstream = from(bucket: v.bucket)\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn:
                (r) => r[\"_measurement\"] == \"prometheus\")\n  |> filter(fn: (r)
                => \n    r[\"_field\"] == \"envoy_cluster_upstream_cx_total\" and
                r[\"cluster_name\"] == \"xds-grpc\" or \n    r[\"_field\"] == \"envoy_cluster_upstream_cx_connect_fail\"
                and r[\"cluster_name\"] == \"xds-grpc\"\n  )\n  |> aggregateWindow(every:
                1m, fn: sum)\n  |> increase(columns: [\"_value\"])\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"_field\"])\n  |> group(columns: [\"_field\"],
                mode:\"by\")\n\nrestarts = from(bucket: v.bucket)\n  |> range(start:
                v.timeRangeStart, stop: v.timeRangeStop)\n  |> filter(fn: (r) => r[\"_measurement\"]
                == \"prometheus\")\n  |> filter(fn: (r) => \n    r[\"_field\"] ==
                \"envoy_server_hot_restart_epoch\"\n  )\n  |> group(columns: [\"_field\"],
                mode:\"by\")\n  |> aggregateWindow(every: 1m, fn: sum)\n  |> filter(fn:
                (r) => exists r._value)\n\nunion(tables: [upstream, restarts])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        xPos: 8
        yCol: _value
        yPos: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: ccc7bb26-480f-4908-be3f-34751f5fbd85
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 61ae7e4d-378f-4bdd-9a41-5ecd3c3ca4fe
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: af961e97-10bb-42c9-a004-0e5b1b267afe
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: XDS Active Connections
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "from(bucket: v.bucket)\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\n  |> filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\n
                \ |> filter(fn: (r) => \n    r[\"_field\"] == \"envoy_cluster_upstream_cx_active\"
                and r[\"cluster_name\"] == \"xds-grpc\"\n  )\n  |> group(columns:
                [\"_field\"], mode:\"by\")\n  |> aggregateWindow(every: 1m, fn: sum)\n
                \ |> filter(fn: (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        xPos: 8
        yCol: _value
        yPos: 8
    description: The control plane manages and configures the proxies to route traffic.
    name: Istio Control Plane Dashboard
---
apiVersion: influxdata.com/v2alpha1
kind: Dashboard
metadata:
    name: great-grothendieck-5ed001
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    charts:
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            label: ops/s
            name: "y"
            scale: linear
        colorizeRows: true
        colors:
          - hex: '#00C9FF'
            id: base
            name: laser
            type: text
        decimalPlaces: 2
        height: 2
        hoverDimension: auto
        kind: Single_Stat_Plus_Line
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Global Request Volume
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"reporter\"] == \"source\")\r\n  |> increase(columns: [\"_value\"])\r\n
                \ |> aggregate.rate(every: 1m, unit: 1s, groupColumns: [\"_field\"])\r\n
                \ |> filter(fn: (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        suffix: ' ops/s'
        width: 4
        widthRatio: 1
        xCol: _time
        yCol: _value
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
        colorizeRows: true
        colors:
          - hex: '#00C9FF'
            id: base
            name: laser
            type: text
        decimalPlaces: 0
        height: 2
        hoverDimension: auto
        kind: Single_Stat_Plus_Line
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Global Success Rate (non-5xx responses)
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nfivehundreds = from(bucket:
                v.bucket)\r\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n
                \ |> filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n
                \ |> filter(fn: (r) => r[\"_field\"] == \"istio_requests_total\")\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] == \"source\")\r\n  |> filter(fn:
                (r) => r[\"response_code\"] !~ /5.*/)\r\n  |> increase(columns: [\"_value\"])\r\n
                \ |> aggregate.rate(every: 1m, unit: 1s, groupColumns: [\"_field\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nall = from(bucket:
                v.bucket)\r\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n
                \ |> filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n
                \ |> filter(fn: (r) => r[\"_field\"] == \"istio_requests_total\")\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] == \"source\")\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"_field\"])\r\n  |> filter(fn: (r) => exists r._value)\r\n  \r\n\r\njoin(tables:
                {fh:fivehundreds, a:all}, on: [\"_time\", \"_start\", \"_stop\"])\r\n
                \ |> map(fn: (r) => ({\r\n    _time: r._time,\r\n    _value: (r._value_fh
                / r._value_a) * 100.0\r\n    })\r\n  )"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        suffix: ' %'
        width: 4
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 2
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: d84fa53d-936c-436d-9158-db77ee6bece6
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: ef10540d-61e6-4c94-bdf7-dcbbf6ad640e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 77af5ea1-8f84-48e2-9673-67c02437f36b
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Request Rate by Workload
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"reporter\"] == \"source\")\r\n  |> filter(fn: (r) => r[\"response_code\"]
                == \"200\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"_field\", \"destination_workload\",
                \"destination_workload_namespace\"])\r\n  |> filter(fn: (r) => exists
                r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 4
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "10"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: d84fa53d-936c-436d-9158-db77ee6bece6
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: ef10540d-61e6-4c94-bdf7-dcbbf6ad640e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 77af5ea1-8f84-48e2-9673-67c02437f36b
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Success Rate By Workload
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nfivehundreds = from(bucket:
                v.bucket)\r\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n
                \ |> filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n
                \ |> filter(fn: (r) => r[\"_field\"] == \"istio_requests_total\")\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] == \"source\")\r\n  |> filter(fn:
                (r) => r[\"response_code\"] !~ /5.*/)\r\n  |> aggregateWindow(every:
                1m, fn: max)\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"_field\", \"destination_workload\",
                \"destination_workload_namespace\"])\r\n  |> filter(fn: (r) => exists
                r._value)\r\n\r\nall = from(bucket: v.bucket)\r\n  |> range(start:
                v.timeRangeStart, stop: v.timeRangeStop)\r\n  |> filter(fn: (r) =>
                r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"]
                == \"istio_requests_total\")\r\n  |> filter(fn: (r) => r[\"reporter\"]
                == \"source\")\r\n  |> aggregateWindow(every: 1m, fn: max)\r\n  |>
                increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every: 1m,
                unit: 1s, groupColumns: [\"_field\", \"destination_workload\", \"destination_workload_namespace\"])
                \ \r\n  |> filter(fn: (r) => exists r._value)\r\n\r\njoin(tables:
                {fh:fivehundreds, a:all}, on: [\"_time\", \"_start\", \"_stop\", \"destination_workload\",
                \"destination_workload_namespace\"])\r\n  |> map(fn: (r) => ({\r\n
                \   _time: r._time,\r\n    _value: (r._value_fh / r._value_a) * 100.0,\r\n
                \   destination_workload: r.destination_workload,\r\n    destination_workload_namespace:
                r.destination_workload_namespace\r\n    }))"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 6
      - colors:
          - hex: '#00C9FF'
            id: base
            name: laser
            type: text
        decimalPlaces: 0
        height: 1
        kind: Single_Stat
        name: Virtual Services
        queries:
          - query: "pivot = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart,
                stop: v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"]
                == \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"pilot_k8s_cfg_events\"
                and\r\n  r[\"type\"] == \"VirtualService\"\r\n  )\r\n  |> filter(fn:
                (r) => r[\"event\"] == \"delete\" or r[\"event\"] == \"add\")\r\n
                \ |> aggregateWindow(every: 1m, fn: max)\r\n  |> filter(fn: (r) =>
                exists r._value)\r\n  |> pivot(\r\n    rowKey:[\"_time\"],\r\n    columnKey:
                [\"event\"],\r\n    valueColumn: \"_value\"\r\n  )\r\n  |> map(fn:
                (r) => ({ r with\r\n    _value: r.add - (if exists r.delete then r.delete
                else 0.0)\r\n  }))\r\n  |> yield(name: \"pivot\")"
        staticLegend: {}
        width: 1
        xPos: 4
      - colors:
          - hex: '#00C9FF'
            id: base
            name: laser
            type: text
        decimalPlaces: 0
        height: 1
        kind: Single_Stat
        name: Service Entries
        queries:
          - query: "pivot = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart,
                stop: v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"]
                == \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"pilot_k8s_cfg_events\"
                and\r\n  r[\"type\"] == \"ServiceEntry\"\r\n  )\r\n  |> filter(fn:
                (r) => r[\"event\"] == \"delete\" or r[\"event\"] == \"add\")\r\n
                \ |> aggregateWindow(every: 1m, fn: max)\r\n  |> filter(fn: (r) =>
                exists r._value)\r\n  |> pivot(\r\n    rowKey:[\"_time\"],\r\n    columnKey:
                [\"event\"],\r\n    valueColumn: \"_value\"\r\n  )\r\n  |> map(fn:
                (r) => ({ r with\r\n    _value: r.add - (if exists r.delete then r.delete
                else 0.0)\r\n  }))\r\n  |> yield(name: \"pivot\")"
        staticLegend: {}
        width: 1
        xPos: 4
        yPos: 1
      - colors:
          - hex: '#00C9FF'
            id: base
            name: laser
            type: text
        decimalPlaces: 0
        height: 1
        kind: Single_Stat
        name: Peer Authentication Policies
        queries:
          - query: "pivot = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart,
                stop: v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"]
                == \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"pilot_k8s_cfg_events\"
                and\r\n  r[\"type\"] == \"PeerAuthentication\"\r\n  )\r\n  |> filter(fn:
                (r) => r[\"event\"] == \"delete\" or r[\"event\"] == \"add\")\r\n
                \ |> aggregateWindow(every: 1m, fn: max)\r\n  |> filter(fn: (r) =>
                exists r._value)\r\n  |> pivot(\r\n    rowKey:[\"_time\"],\r\n    columnKey:
                [\"event\"],\r\n    valueColumn: \"_value\"\r\n  )\r\n  |> map(fn:
                (r) => ({ r with\r\n    _value: r.add - (if exists r.delete then r.delete
                else 0.0)\r\n  }))\r\n  |> yield(name: \"pivot\")"
        staticLegend: {}
        width: 1
        xPos: 4
        yPos: 2
      - colors:
          - hex: '#00C9FF'
            id: base
            name: laser
            type: text
        decimalPlaces: 0
        height: 1
        kind: Single_Stat
        name: Request Authentication Policies
        queries:
          - query: "pivot = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart,
                stop: v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"]
                == \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"pilot_k8s_cfg_events\"
                and\r\n  r[\"type\"] == \"RequestAuthentication\"\r\n  )\r\n  |> filter(fn:
                (r) => r[\"event\"] == \"delete\" or r[\"event\"] == \"add\")\r\n
                \ |> aggregateWindow(every: 1m, fn: max)\r\n  |> filter(fn: (r) =>
                exists r._value)\r\n  |> pivot(\r\n    rowKey:[\"_time\"],\r\n    columnKey:
                [\"event\"],\r\n    valueColumn: \"_value\"\r\n  )\r\n  |> map(fn:
                (r) => ({ r with\r\n    _value: r.add - (if exists r.delete then r.delete
                else 0.0)\r\n  }))\r\n  |> yield(name: \"pivot\")"
        staticLegend: {}
        width: 1
        xPos: 4
        yPos: 3
      - axes:
          - label: s
            name: x
        colors:
          - hex: '#31C0F6'
            id: 96240091-5d92-4dce-8d04-6a11bd48671b
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 4391eb13-082a-4d61-8cd0-5244a014fd1d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 4fd32bc5-507a-4c59-a48c-ad7fc12411d1
            name: Nineteen Eighty Four
            type: scale
        fillColumns:
          - _start
          - _stop
          - destination_workload
          - destination_workload_namespace
          - quantile
        height: 4
        kind: Histogram
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Latency Percentile by Workload
        position: stacked
        queries:
          - query: "import \"experimental/aggregate\"\r\nimport \"experimental/prometheus\"\r\n\r\nhistograms
                =\r\n  from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart,
                stop: v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"]
                == \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                or  r[\"_field\"] == \"istio_request_duration_seconds_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] == \"source\")\r\n  |> map(fn:
                (r) => ({ r with le: if r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                then float(v: r.le) / 1000.0 else float(v: r.le) }))  \r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"le\", \"destination_workload\", \"destination_workload_namespace\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n  \r\nunion(tables: [\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5)\r\n])"
        staticLegend: {}
        width: 6
        xCol: _value
        xPos: 4
        yPos: 4
      - colors:
          - hex: '#00C9FF'
            id: base
            name: laser
            type: text
        decimalPlaces: 0
        height: 1
        kind: Single_Stat
        name: Destination Rules
        queries:
          - query: "pivot = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart,
                stop: v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"]
                == \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"pilot_k8s_cfg_events\"
                and\r\n  r[\"type\"] == \"DestinationRule\"\r\n  )\r\n  |> filter(fn:
                (r) => r[\"event\"] == \"delete\" or r[\"event\"] == \"add\")\r\n
                \ |> aggregateWindow(every: 1m, fn: max)\r\n  |> filter(fn: (r) =>
                exists r._value)\r\n  |> pivot(\r\n    rowKey:[\"_time\"],\r\n    columnKey:
                [\"event\"],\r\n    valueColumn: \"_value\"\r\n  )\r\n  |> map(fn:
                (r) => ({ r with\r\n    _value: r.add - (if exists r.delete then r.delete
                else 0.0)\r\n  }))\r\n  |> yield(name: \"pivot\")"
        staticLegend: {}
        width: 1
        xPos: 5
      - colors:
          - hex: '#00C9FF'
            id: base
            name: laser
            type: text
        decimalPlaces: 0
        height: 1
        kind: Single_Stat
        name: Gateways
        queries:
          - query: "pivot = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart,
                stop: v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"]
                == \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"pilot_k8s_cfg_events\"
                and\r\n  r[\"type\"] == \"Gateway\"\r\n  )\r\n  |> filter(fn: (r)
                => r[\"event\"] == \"delete\" or r[\"event\"] == \"add\")\r\n  |>
                aggregateWindow(every: 1m, fn: max)\r\n  |> filter(fn: (r) => exists
                r._value)\r\n  |> pivot(\r\n    rowKey:[\"_time\"],\r\n    columnKey:
                [\"event\"],\r\n    valueColumn: \"_value\"\r\n  )\r\n  |> map(fn:
                (r) => ({ r with\r\n    _value: r.add - (if exists r.delete then r.delete
                else 0.0)\r\n  }))\r\n  |> yield(name: \"pivot\")"
        staticLegend: {}
        width: 1
        xPos: 5
        yPos: 1
      - colors:
          - hex: '#00C9FF'
            id: base
            name: laser
            type: text
        decimalPlaces: 0
        height: 1
        kind: Single_Stat
        name: Workload Entries
        queries:
          - query: "pivot = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart,
                stop: v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"]
                == \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"pilot_k8s_cfg_events\"
                and\r\n  r[\"type\"] == \"WorkloadEntry\"\r\n  )\r\n  |> filter(fn:
                (r) => r[\"event\"] == \"delete\" or r[\"event\"] == \"add\")\r\n
                \ |> aggregateWindow(every: 1m, fn: max)\r\n  |> filter(fn: (r) =>
                exists r._value)\r\n  |> pivot(\r\n    rowKey:[\"_time\"],\r\n    columnKey:
                [\"event\"],\r\n    valueColumn: \"_value\"\r\n  )\r\n  |> map(fn:
                (r) => ({ r with\r\n    _value: r.add - (if exists r.delete then r.delete
                else 0.0)\r\n  }))\r\n  |> yield(name: \"pivot\")"
        staticLegend: {}
        width: 1
        xPos: 5
        yPos: 2
      - colors:
          - hex: '#00C9FF'
            id: base
            name: laser
            type: text
        decimalPlaces: 0
        height: 1
        kind: Single_Stat
        name: Authorization Policy Policies
        queries:
          - query: "pivot = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart,
                stop: v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"]
                == \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"pilot_k8s_cfg_events\"
                and\r\n  r[\"type\"] == \"AuthorizationPolicy\"\r\n  )\r\n  |> filter(fn:
                (r) => r[\"event\"] == \"delete\" or r[\"event\"] == \"add\")\r\n
                \ |> aggregateWindow(every: 1m, fn: max)\r\n  |> filter(fn: (r) =>
                exists r._value)\r\n  |> pivot(\r\n    rowKey:[\"_time\"],\r\n    columnKey:
                [\"event\"],\r\n    valueColumn: \"_value\"\r\n  )\r\n  |> map(fn:
                (r) => ({ r with\r\n    _value: r.add - (if exists r.delete then r.delete
                else 0.0)\r\n  }))\r\n  |> yield(name: \"pivot\")"
        staticLegend: {}
        width: 1
        xPos: 5
        yPos: 3
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            label: 'ops / s '
            name: "y"
            scale: linear
        colorizeRows: true
        colors:
          - hex: '#00C9FF'
            id: base
            name: laser
            type: text
        decimalPlaces: 2
        height: 2
        hoverDimension: auto
        kind: Single_Stat_Plus_Line
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: 4XXs
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"reporter\"] == \"source\")\r\n  |> filter(fn: (r) => r[\"response_code\"]
                =~ /4.*/)\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"_field\"])\r\n  |> filter(fn: (r) =>
                exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        suffix: ' ops/s'
        width: 4
        widthRatio: 1
        xCol: _time
        xPos: 6
        yCol: _value
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            label: 'ops / s '
            name: "y"
            scale: linear
        colorizeRows: true
        colors:
          - hex: '#00C9FF'
            id: base
            name: laser
            type: text
        decimalPlaces: 2
        height: 2
        hoverDimension: auto
        kind: Single_Stat_Plus_Line
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: 5XXs
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"reporter\"] == \"source\")\r\n  |> filter(fn: (r) => r[\"response_code\"]
                =~ /5.*/)\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"_field\"])\r\n  |> filter(fn: (r) =>
                exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        suffix: ' ops/s'
        width: 4
        widthRatio: 1
        xPos: 6
        yPos: 2
    description: The global view of the Mesh along with services and workloads in
        the mesh.
    name: ' Istio Mesh Dashboard'
---
apiVersion: influxdata.com/v2alpha1
kind: Dashboard
metadata:
    name: magical-antonelli-5ed001
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    charts:
      - height: 1
        kind: Markdown
        name: Name this Cell (Clone) (Clone) (Clone)
        note: '## **vCPU Usage**'
        staticLegend: {}
        width: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "10"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 1d828f59-ce6e-481f-98ce-6a0b3ba4082e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: d06f569a-bbcc-4078-86ca-e5689e4c442a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 8a563569-5d25-4682-a5e5-151840c78ca8
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: vCPU / 1k rps
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nmm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n\r\na
                = mm\r\n  |> filter(fn: (r) => r[\"_field\"] == \"container_cpu_usage_seconds_total\")\r\n
                \ |> filter(fn: (r) => r[\"container\"] == \"istio-proxy\")\r\n  |>
                filter(fn: (r) => r[\"pod\"] =~ /istio-ingressgateway-.*/)\r\n  |>
                increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every: 1m,
                unit: 1s, groupColumns: [\"_field\"])\r\n  |> filter(fn: (r) => exists
                r._value)\r\n\r\nb = mm\r\n  |> filter(fn: (r) => r[\"_field\"] ==
                \"istio_requests_total\")\r\n  |> filter(fn: (r) => r[\"source_workload\"]
                == \"istio-ingressgateway\")\r\n  |> increase(columns: [\"_value\"])\r\n
                \ |> aggregate.rate(every: 1m, unit: 1s, groupColumns: [\"_field\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n  |> map(fn: (r) => ({
                r with _value: r._value / 1000.0 }))\r\n\r\njoin(tables: {a:a, b:b},
                on: [\"_time\"])\r\n  |> map(fn: (r) => ({\r\n    _time: r._time,\r\n
                \   _value: r._value_a / r._value_b\r\n    })\r\n  )"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 1
      - height: 1
        kind: Markdown
        name: Name this Cell (Clone) (Clone) (Clone)
        note: '## **Istio Component Versions**'
        staticLegend: {}
        width: 6
        yPos: 3
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 1d828f59-ce6e-481f-98ce-6a0b3ba4082e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: d06f569a-bbcc-4078-86ca-e5689e4c442a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 8a563569-5d25-4682-a5e5-151840c78ca8
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Istio Components by Version
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_build\")\r\n  |> group(columns: [\"component\",
                \"tag\"], mode:\"by\")\r\n  |> aggregateWindow(every: 1m, fn: sum)\r\n
                \ |> filter(fn: (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 6
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 4
      - height: 1
        kind: Markdown
        name: Name this Cell
        note: '## **Proxy Resource Usage**'
        staticLegend: {}
        width: 6
        yPos: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: iB
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 1d828f59-ce6e-481f-98ce-6a0b3ba4082e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: d06f569a-bbcc-4078-86ca-e5689e4c442a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 8a563569-5d25-4682-a5e5-151840c78ca8
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Memory
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"container_memory_working_set_bytes\")\r\n
                \ |> filter(fn: (r) => r[\"container\"] == \"istio-proxy\")\r\n  |>
                group(columns: [\"_field\"], mode:\"by\")\r\n  |> aggregateWindow(every:
                1m, fn: sum)\r\n  |> filter(fn: (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 7
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: iB
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 1d828f59-ce6e-481f-98ce-6a0b3ba4082e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: d06f569a-bbcc-4078-86ca-e5689e4c442a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 8a563569-5d25-4682-a5e5-151840c78ca8
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Disk
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"container_fs_usage_bytes\")\r\n  |> filter(fn:
                (r) => r[\"container\"] == \"istio-proxy\")\r\n  |> group(columns:
                [\"_field\"], mode:\"by\")\r\n  |> aggregateWindow(every: 1m, fn:
                sum)\r\n  |> filter(fn: (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 9
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 1d828f59-ce6e-481f-98ce-6a0b3ba4082e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: d06f569a-bbcc-4078-86ca-e5689e4c442a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 8a563569-5d25-4682-a5e5-151840c78ca8
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: vCPU
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"container_cpu_usage_seconds_total\")\r\n
                \ |> filter(fn: (r) => r[\"container\"] == \"istio-proxy\" and r[\"pod\"]
                =~ /istio-ingressgateway-.*/\r\n    or r[\"namespace\"] != \"istio-system\"
                and r[\"container\"] == \"istio-proxy\")\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"_field\"])\r\n  |> filter(fn: (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 3
        yCol: _value
        yPos: 1
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 1d828f59-ce6e-481f-98ce-6a0b3ba4082e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: d06f569a-bbcc-4078-86ca-e5689e4c442a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 8a563569-5d25-4682-a5e5-151840c78ca8
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: vCPU
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"container_cpu_usage_seconds_total\")\r\n
                \ |> filter(fn: (r) => r[\"container\"] == \"istio-proxy\")\r\n  |>
                increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every: 1m,
                unit: 1s)\r\n  |> filter(fn: (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 3
        yCol: _value
        yPos: 7
      - height: 1
        kind: Markdown
        name: Name this Cell (Clone) (Clone)
        note: '## **Memory and Data Rates**'
        staticLegend: {}
        width: 6
        xPos: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: iB
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 1d828f59-ce6e-481f-98ce-6a0b3ba4082e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: d06f569a-bbcc-4078-86ca-e5689e4c442a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 8a563569-5d25-4682-a5e5-151840c78ca8
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Memory Usage
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"container_memory_working_set_bytes\")\r\n\r\na
                = m\r\n  |> filter(fn: (r) => r[\"pod\"] =~ /istio-ingressgateway-.*/
                \r\n    or r[\"namespace\"] != \"istio-system\" and r[\"container\"]
                == \"istio-proxy\")\r\n  |> group(columns: [\"_field\"], mode:\"by\")\r\n
                \ |> aggregateWindow(every: 1m, fn: sum)\r\n  |> filter(fn: (r) =>
                exists r._value)\r\n\r\nb = m\r\n  |> filter(fn: (r) => r[\"pod\"]
                =~ /istio-ingressgateway-.*/ and r[\"container\"] != \"POD\" \r\n
                \   or r[\"namespace\"] != \"istio-system\" and r[\"container\"] ==
                \"istio-proxy\")\r\n  |> group(columns: [\"_field\"], mode:\"by\")\r\n
                \ |> aggregateWindow(every: 1m, fn: count)\r\n  |> filter(fn: (r)
                => exists r._value)\r\n\r\n\r\njoin(tables: {a:a, b:b}, on: [\"_time\"])\r\n
                \ |> map(fn: (r) => ({\r\n    _time: r._time,\r\n    _value: float(v:
                r._value_a) / float(v: r._value_b)\r\n    })\r\n  )"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 6
        yCol: _value
        yPos: 1
      - height: 1
        kind: Markdown
        name: Name this Cell (Clone)
        note: '## **Istiod Resource Usage**'
        staticLegend: {}
        width: 6
        xPos: 6
        yPos: 3
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: iB
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 1d828f59-ce6e-481f-98ce-6a0b3ba4082e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: d06f569a-bbcc-4078-86ca-e5689e4c442a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 8a563569-5d25-4682-a5e5-151840c78ca8
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Memory
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\na = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"process_virtual_memory_bytes\"\r\n    or
                r[\"_field\"] == \"process_virtual_memory_bytes\"\r\n    or r[\"_field\"]
                == \"process_resident_memory_bytes\"\r\n    or r[\"_field\"] == \"go_memstats_heap_sys_bytes\"\r\n
                \   or r[\"_field\"] == \"go_memstats_heap_alloc_bytes\"\r\n    or
                r[\"_field\"] == \"go_memstats_alloc_bytes\"\r\n    or r[\"_field\"]
                == \"go_memstats_heap_inuse_bytes\"\r\n    or r[\"_field\"] == \"go_memstats_stack_inuse_bytes\")\r\n
                \ |> filter(fn: (r) => r[\"app\"] == \"istiod\")\r\n  |> aggregateWindow(every:
                1m, fn: mean)\r\n  |> filter(fn: (r) => exists r._value)\r\n  |> keep(columns:
                [\"_time\", \"_value\", \"_field\"])\r\n\r\nb = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"container_memory_working_set_bytes\")\r\n
                \ |> filter(fn: (r) => r[\"container\"] =~ /discovery|istio-proxy/)\r\n
                \ |> filter(fn: (r) => r[\"pod\"] =~ /istiod-.*/)\r\n  |> aggregateWindow(every:
                1m, fn: mean)\r\n  |> filter(fn: (r) => exists r._value)\r\n  |> keep(columns:
                [\"_time\", \"_value\", \"_field\"])\r\n\r\nunion(tables: [a, b])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 6
        yCol: _value
        yPos: 4
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 1d828f59-ce6e-481f-98ce-6a0b3ba4082e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: d06f569a-bbcc-4078-86ca-e5689e4c442a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 8a563569-5d25-4682-a5e5-151840c78ca8
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: vCPU
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n\r\ncontainer_cpu_usage_seconds
                = m\r\n  |> filter(fn: (r) => r[\"_field\"] == \"container_cpu_usage_seconds_total\")\r\n
                \ |> filter(fn: (r) => r[\"container\"] =~ /discovery|istio-proxy/)\r\n
                \ |> filter(fn: (r) => r[\"pod\"] =~ /istiod-.*/)\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s)\r\n  |>
                filter(fn: (r) => exists r._value)\r\n  |> yield(name: \"container_cpu_usage_seconds\")\r\n\r\ncontainer_cpu_usage_seconds_by_container
                = m\r\n  |> filter(fn: (r) => r[\"_field\"] == \"container_cpu_usage_seconds_total\")\r\n
                \ |> filter(fn: (r) => r[\"container\"] =~ /discovery|istio-proxy/)\r\n
                \ |> filter(fn: (r) => r[\"pod\"] =~ /istiod-.*/)\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"container\"])\r\n  |> filter(fn: (r) => exists r._value)\r\n  |>
                yield(name: \"container_cpu_usage_seconds_by_container\")\r\n\r\n\r\nprocess_cpu_seconds
                = m\r\n  |> filter(fn: (r) => r[\"_field\"] == \"process_cpu_seconds_total\")\r\n
                \ |> filter(fn: (r) => r[\"app\"] == \"istiod\")\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s)\r\n  |>
                filter(fn: (r) => exists r._value)\r\n  |> yield(name: \"process_cpu_seconds\")"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 6
        yCol: _value
        yPos: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: B/s
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 1d828f59-ce6e-481f-98ce-6a0b3ba4082e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: d06f569a-bbcc-4078-86ca-e5689e4c442a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 8a563569-5d25-4682-a5e5-151840c78ca8
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Bytes transferred / sec
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n\r\nres
                = m\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_response_bytes_sum\")\r\n
                \ |> filter(fn: (r) => r[\"source_workload\"] == \"istio-ingressgateway\"
                and r[\"reporter\"] == \"source\")\r\n  |> increase(columns: [\"_value\"])\r\n
                \ |> aggregate.rate(every: 1m, unit: 1s)\r\n  |> filter(fn: (r) =>
                exists r._value)\r\n  |> yield(name: \"res\")\r\n\r\nres_req = m\r\n
                \ |> filter(fn: (r) => r[\"_field\"] == \"istio_response_bytes_sum\"
                or r[\"_field\"] == \"istio_request_bytes_sum\")\r\n  |> filter(fn:
                (r) => r[\"source_workload_namespace\"] != \"istio-system\" and r[\"reporter\"]
                == \"source\")\r\n  |> pivot(\r\n    rowKey:[\"_time\"],\r\n    columnKey:
                [\"_field\"],\r\n    valueColumn: \"_value\"\r\n  )\r\n  |> map(fn:
                (r) => ({ r with _value: float(v: r.istio_response_bytes_sum) + float(v:
                r.istio_request_bytes_sum)\r\n    }))\r\n  |> increase(columns: [\"_value\"])\r\n
                \ |> aggregate.rate(every: 1m, unit: 1s)\r\n  |> filter(fn: (r) =>
                exists r._value)\r\n  |> yield(name: \"res_req\")"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 9
        yCol: _value
        yPos: 1
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: iB
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 1d828f59-ce6e-481f-98ce-6a0b3ba4082e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: d06f569a-bbcc-4078-86ca-e5689e4c442a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 8a563569-5d25-4682-a5e5-151840c78ca8
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Disk
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"container_fs_usage_bytes\")\r\n  |> filter(fn:
                (r) => r[\"container\"] =~ /discovery|istio-proxy/)\r\n  |> filter(fn:
                (r) => r[\"pod\"] =~ /istiod-.*/)\r\n  |> group(columns: [\"_field\"],
                mode:\"by\")\r\n  |> aggregateWindow(every: 1m, fn: sum)\r\n  |> filter(fn:
                (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 9
        yCol: _value
        yPos: 4
      - axes:
          - base: "10"
            name: x
            scale: linear
          - name: "y"
            scale: linear
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 1d828f59-ce6e-481f-98ce-6a0b3ba4082e
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: d06f569a-bbcc-4078-86ca-e5689e4c442a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 8a563569-5d25-4682-a5e5-151840c78ca8
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Goroutines
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"go_goroutines\")\r\n  |> filter(fn: (r)
                => r[\"app\"] == \"istiod\")\r\n  |> group(columns: [\"_field\"],
                mode:\"by\")\r\n  |> aggregateWindow(every: 1m, fn: sum)\r\n  |> filter(fn:
                (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 9
        yCol: _value
        yPos: 6
    description: The charts on this dashboard are intended to show Istio main components
        cost in terms of resources utilization under steady load
    name: Istio Performance Dashboard
---
apiVersion: influxdata.com/v2alpha1
kind: Dashboard
metadata:
    name: musing-robinson-1ed001
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    charts:
      - height: 1
        kind: Markdown
        name: Name this Cell (Clone)
        note: '## **General**'
        staticLegend: {}
        width: 12
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' ops/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Client Request Volume
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_service\"] == v.service)\r\n  |> filter(fn:
                (r) => r[\"reporter\"] =~ /source|destination/)\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 5m, unit: 1s, groupColumns:
                [\"reporter\"])\r\n  |> filter(fn: (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 1
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' ops/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Server Request Volume
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_service\"] == v.service)\r\n  |> filter(fn:
                (r) => r[\"reporter\"] == \"destination\")\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 5m, unit: 1s)\r\n  |>
                filter(fn: (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        yPos: 3
      - height: 1
        kind: Markdown
        name: Name this Cell
        note: '## **Client Workloads**'
        staticLegend: {}
        width: 6
        yPos: 5
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' ops/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Requests By Source And Response Code
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_service\"] == v.service)\r\n  |> filter(fn:
                (r) => r[\"source_workload\"] == v.client_workload)\r\n  |> filter(fn:
                (r) => r[\"source_workload_namespace\"] == v.client_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n\r\ntls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nno_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [tls,
                no_tls])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        yPos: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Request Duration By Source
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nimport \"experimental/prometheus\"\r\n\r\nm
                = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"] ==
                \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                or  r[\"_field\"] == \"istio_request_duration_seconds_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"destination_service\"] == v.service)\r\n
                \ |> filter(fn: (r) => r[\"source_workload\"] == v.client_workload)\r\n
                \ |> filter(fn: (r) => r[\"source_workload_namespace\"] == v.client_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n\r\nhistograms_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> map(fn: (r) => ({ r with le: if r[\"_field\"]
                == \"istio_request_duration_milliseconds_bucket\" then float(v: r.le)
                / 1000.0 else float(v: r.le) }))  \r\n  |> increase(columns: [\"_value\"])\r\n
                \ |> aggregate.rate(every: 1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nhistograms = m\r\n
                \ |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> map(fn: (r) => ({ r with le: if r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                then float(v: r.le) / 1000.0 else float(v: r.le) }))  \r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"reporter\",\"le\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.95),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.99),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.95),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 8
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: B
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Response Size By Source
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nimport \"experimental/prometheus\"\r\n\r\nm
                = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"] ==
                \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_response_bytes_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"destination_service\"] == v.service)\r\n
                \ |> filter(fn: (r) => r[\"source_workload\"] == v.client_workload)\r\n
                \ |> filter(fn: (r) => r[\"source_workload_namespace\"] == v.client_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n\r\nhistograms_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nhistograms = m\r\n
                \ |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.95),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.99),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.95),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 10
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' B/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Bytes Sent to Incoming TCP Connection
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_tcp_sent_bytes_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_service\"] == v.service)\r\n  |> filter(fn:
                (r) => r[\"source_workload\"] == v.client_workload)\r\n  |> filter(fn:
                (r) => r[\"source_workload_namespace\"] == v.client_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n\r\ntls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nno_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [tls,
                no_tls])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 12
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "10"
            name: "y"
            scale: linear
            suffix: ' %'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Client Success Rate (non-5xx responses)
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_service\"] == v.service)\r\n  |> filter(fn:
                (r) => r[\"reporter\"] =~ /source|destination/)\r\n\r\nfivehundreds
                = m\r\n  |> filter(fn: (r) => r[\"response_code\"] !~ /5.*/)\r\n  |>
                increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every: 5m,
                unit: 1s, groupColumns: [\"reporter\"])\r\n  |> filter(fn: (r) =>
                exists r._value)\r\n\r\nall = m\r\n  |> increase(columns: [\"_value\"])\r\n
                \ |> aggregate.rate(every: 5m, unit: 1s, groupColumns: [\"reporter\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n  \r\n\r\njoin(tables:
                {fh:fivehundreds, a:all}, on: [\"_time\", \"_start\", \"_stop\", \"reporter\"])\r\n
                \ |> map(fn: (r) => ({\r\n    _time: r._time,\r\n    _value: (r._value_fh
                / r._value_a) * 100.0,\r\n    reporter: r.reporter\r\n    })\r\n  )"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 3
        yCol: _value
        yPos: 1
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "10"
            name: "y"
            scale: linear
            suffix: ' %'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Server Success Rate (non-5xx responses)
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_service\"] == v.service)\r\n  |> filter(fn:
                (r) => r[\"reporter\"] == \"destination\")\r\n\r\nfivehundreds = m\r\n
                \ |> filter(fn: (r) => r[\"response_code\"] !~ /5.*/)\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 5m, unit: 1s)\r\n  |>
                filter(fn: (r) => exists r._value)\r\n\r\nall = m\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 5m, unit: 1s)\r\n  |>
                filter(fn: (r) => exists r._value)\r\n  \r\n\r\njoin(tables: {fh:fivehundreds,
                a:all}, on: [\"_time\",\"_start\", \"_stop\"])\r\n  |> map(fn: (r)
                => ({\r\n    _time: r._time,\r\n    _value: (r._value_fh / r._value_a)
                * 100.0\r\n    })\r\n  )"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xPos: 3
        yPos: 3
      - axes:
          - base: "10"
            name: x
            scale: linear
          - name: "y"
            scale: linear
            suffix: ' %'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Success Rate (non-5xx responses) By Source
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_service\"] == v.service)\r\n  |> filter(fn:
                (r) => r[\"source_workload\"] == v.client_workload)\r\n  |> filter(fn:
                (r) => r[\"source_workload_namespace\"] == v.client_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n\r\nnon_5xx_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> filter(fn: (r) => r[\"response_code\"] !~
                /5.*/)\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nall_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] == \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\na = join(tables: {non_5xx_tls:non_5xx_tls,
                all_tls:all_tls}, on: [\"_time\",\"_start\",\"_stop\",\"response_code\",\"reporter\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> map(fn: (r) => ({\r\n    _time: r._time,\r\n    _value: (r._value_non_5xx_tls
                / r._value_all_tls) * 100.0,\r\n    reporter: r.reporter,\r\n    response_code:
                r.response_code,\r\n    connection_security_policy: r.connection_security_policy,\r\n
                \   source_workload_namespace: r.source_workload_namespace,\r\n    source_workload:
                r.source_workload\r\n    })\r\n  )\r\n\r\nnon_5xx = m\r\n  |> filter(fn:
                (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n  |>
                filter(fn: (r) => r[\"response_code\"] !~ /5.*/)\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 5m, unit: 1s, groupColumns:
                [\"reporter\",\"response_code\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nall = m\r\n  |> filter(fn:
                (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n  |>
                increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every: 5m,
                unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nb = join(tables: {non_5xx:non_5xx,
                all:all}, on: [\"_time\",\"_start\",\"_stop\",\"response_code\",\"reporter\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> map(fn: (r) => ({\r\n    _time: r._time,\r\n    _value: (r._value_non_5xx
                / r._value_all) * 100.0,\r\n    reporter: r.reporter,\r\n    response_code:
                r.response_code,\r\n    connection_security_policy: r.connection_security_policy,\r\n
                \   source_workload_namespace: r.source_workload_namespace,\r\n    source_workload:
                r.source_workload\r\n    })\r\n  )\r\n\r\nunion(tables: [a, b])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 3
        yCol: _value
        yPos: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: B
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Request Size By Source
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nimport \"experimental/prometheus\"\r\n\r\nm
                = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"] ==
                \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_request_bytes_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"destination_service\"] == v.service)\r\n
                \ |> filter(fn: (r) => r[\"source_workload\"] == v.client_workload)\r\n
                \ |> filter(fn: (r) => r[\"source_workload_namespace\"] == v.client_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n\r\nhistograms_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nhistograms = m\r\n
                \ |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.95),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.99),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.95),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 3
        yCol: _value
        yPos: 8
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' B/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Bytes Received from Incoming TCP Connection
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_tcp_received_bytes_total\")\r\n  |>
                filter(fn: (r) => r[\"destination_service\"] == v.service)\r\n  |>
                filter(fn: (r) => r[\"source_workload\"] == v.client_workload)\r\n
                \ |> filter(fn: (r) => r[\"source_workload_namespace\"] == v.client_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n\r\ntls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nno_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [tls,
                no_tls])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 3
        yCol: _value
        yPos: 10
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Client Request Duration
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental\"\r\nimport \"experimental/aggregate\"\r\nimport
                \"experimental/prometheus\"\r\n\r\nhistograms =\r\n  from(bucket:
                v.bucket)\r\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n
                \ |> filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n
                \ |> filter(fn: (r) => r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                or  r[\"_field\"] == \"istio_request_duration_seconds_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"destination_service\"] == v.service)\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n
                \ |> map(fn: (r) => ({ r with le: if r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                then float(v: r.le) / 1000.0 else float(v: r.le) }))  \r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"le\",\"reporter\"])\r\n\r\n  |> filter(fn: (r) => exists r._value)\r\nunion(tables:
                [\r\n  histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5)\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 6
        yCol: _value
        yPos: 1
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Server Request Duration
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental\"\r\nimport \"experimental/aggregate\"\r\nimport
                \"experimental/prometheus\"\r\n\r\nhistograms =\r\n  from(bucket:
                v.bucket)\r\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n
                \ |> filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n
                \ |> filter(fn: (r) => r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                or  r[\"_field\"] == \"istio_request_duration_seconds_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"destination_service\"] == v.service)\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] == \"destination\")\r\n  |>
                map(fn: (r) => ({ r with le: if r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                then float(v: r.le) / 1000.0 else float(v: r.le) }))  \r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"le\"])\r\n\r\n  |> filter(fn: (r) => exists r._value)\r\nunion(tables:
                [\r\n  histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5)\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xPos: 6
        yPos: 3
      - height: 1
        kind: Markdown
        name: Name this Cell (Clone)
        note: '## **Service Workloads**'
        staticLegend: {}
        width: 6
        xPos: 6
        yPos: 5
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' ops/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Requests By Destination Workload And Response Code
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"reporter\"] == \"destination\")\r\n  |> filter(fn: (r)
                => r[\"destination_workload_namespace\"] == v.service_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"destination_workload\"] == v.service_workload)\r\n
                \ |> filter(fn: (r) => r[\"destination_service\"] == v.service) \r\n\r\nprinc
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"destination_workload\",\"destination_workload_namespace\",\"response_code\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nno_princ = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"destination_workload\",\"destination_workload_namespace\",\"response_code\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\n\r\nunion(tables: [princ,
                no_princ])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xPos: 6
        yPos: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Request Duration By Service Workload
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nimport \"experimental/prometheus\"\r\n\r\nm
                = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"] ==
                \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                or  r[\"_field\"] == \"istio_request_duration_seconds_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] == \"destination\")\r\n  |>
                filter(fn: (r) => r[\"destination_workload_namespace\"] == v.service_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"destination_workload\"] == v.service_workload)\r\n
                \ |> filter(fn: (r) => r[\"destination_service\"] == v.service) \r\n\r\nhistograms_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> map(fn: (r) => ({ r with le: if r[\"_field\"]
                == \"istio_request_duration_milliseconds_bucket\" then float(v: r.le)
                / 1000.0 else float(v: r.le) }))  \r\n  |> increase(columns: [\"_value\"])\r\n
                \ |> aggregate.rate(every: 1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nhistograms = m\r\n
                \ |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> map(fn: (r) => ({ r with le: if r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                then float(v: r.le) / 1000.0 else float(v: r.le) }))  \r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"reporter\",\"le\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.95),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.99),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.95),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xPos: 6
        yPos: 8
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: B
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Response Size By Service Workload
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nimport \"experimental/prometheus\"\r\n\r\nm
                = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"] ==
                \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_response_bytes_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] == \"destination\")\r\n  |>
                filter(fn: (r) => r[\"destination_workload_namespace\"] == v.service_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"destination_workload\"] == v.service_workload)\r\n
                \ |> filter(fn: (r) => r[\"destination_service\"] == v.service) \r\n\r\nhistograms_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nhistograms = m\r\n
                \ |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.95),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.99),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.95),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xPos: 6
        yPos: 10
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' B/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Bytes Sent to Incoming TCP Connection
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_tcp_sent_bytes_total\")\r\n  |> filter(fn:
                (r) => r[\"reporter\"] == \"destination\")\r\n  |> filter(fn: (r)
                => r[\"destination_workload_namespace\"] == v.service_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"destination_workload\"] == v.service_workload)\r\n
                \ |> filter(fn: (r) => r[\"destination_service\"] == v.service) \r\n\r\ntls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nno_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [tls,
                no_tls])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xPos: 6
        yPos: 12
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "10"
            name: "y"
            scale: linear
            suffix: ' B/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: TCP Received Bytes
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_tcp_received_bytes_total\")\r\n  |>
                filter(fn: (r) => r[\"destination_service\"] == v.service)\r\n  |>
                filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n  |>
                increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every: 1m,
                unit: 1s, groupColumns: [\"reporter\"])\r\n  |> filter(fn: (r) =>
                exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 9
        yCol: _value
        yPos: 1
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "10"
            name: "y"
            scale: linear
            suffix: ' B/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: TCP Sent Bytes
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_tcp_sent_bytes_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_service\"] == v.service)\r\n  |> filter(fn:
                (r) => r[\"reporter\"] =~ /source|destination/)\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"reporter\"])\r\n  |> filter(fn: (r) => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 9
        yCol: _value
        yPos: 3
      - axes:
          - base: "10"
            name: x
            scale: linear
          - name: "y"
            scale: linear
            suffix: ' %'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Success Rate (non-5xx responses) By Destination Workload
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"reporter\"] == \"destination\")\r\n  |> filter(fn: (r)
                => r[\"destination_workload_namespace\"] == v.service_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"destination_workload\"] == v.service_workload)\r\n
                \ |> filter(fn: (r) => r[\"destination_service\"] == v.service) \r\n\r\nnon_5xx_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> filter(fn: (r) => r[\"response_code\"] !~
                /5.*/)\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nall_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] == \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\na = join(tables: {non_5xx_tls:non_5xx_tls,
                all_tls:all_tls}, on: [\"_time\",\"_start\",\"_stop\",\"response_code\",\"reporter\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> map(fn: (r) => ({\r\n    _time: r._time,\r\n    _value: (r._value_non_5xx_tls
                / r._value_all_tls) * 100.0,\r\n    reporter: r.reporter,\r\n    response_code:
                r.response_code,\r\n    connection_security_policy: r.connection_security_policy,\r\n
                \   destination_workload: r.destination_workload,\r\n    destination_workload_namespace:
                r.destination_workload_namespace\r\n    })\r\n  )\r\n\r\nnon_5xx =
                m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> filter(fn: (r) => r[\"response_code\"] !~ /5.*/)\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 5m, unit: 1s, groupColumns:
                [\"reporter\",\"response_code\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nall = m\r\n  |> filter(fn:
                (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n  |>
                increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every: 5m,
                unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nb = join(tables: {non_5xx:non_5xx,
                all:all}, on: [\"_time\",\"_start\",\"_stop\",\"response_code\",\"reporter\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> map(fn: (r) => ({\r\n    _time: r._time,\r\n    _value: (r._value_non_5xx
                / r._value_all) * 100.0,\r\n    reporter: r.reporter,\r\n    response_code:
                r.response_code,\r\n    connection_security_policy: r.connection_security_policy,\r\n
                \   destination_workload: r.destination_workload,\r\n    destination_workload_namespace:
                r.destination_workload_namespace\r\n    })\r\n  )\r\n\r\nunion(tables:
                [a, b])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xPos: 9
        yPos: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: B
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Request Size By Service Workload
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nimport \"experimental/prometheus\"\r\n\r\nm
                = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"] ==
                \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_request_bytes_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] == \"destination\")\r\n  |>
                filter(fn: (r) => r[\"destination_workload_namespace\"] == v.service_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"destination_workload\"] == v.service_workload)\r\n
                \ |> filter(fn: (r) => r[\"destination_service\"] == v.service) \r\n\r\nhistograms_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nhistograms = m\r\n
                \ |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.95),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.99),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.95),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xPos: 9
        yPos: 8
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' B/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Bytes Received from Incoming TCP Connection
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_tcp_received_bytes_total\")\r\n  |>
                filter(fn: (r) => r[\"reporter\"] == \"destination\")\r\n  |> filter(fn:
                (r) => r[\"destination_workload_namespace\"] == v.service_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"destination_workload\"] == v.service_workload)\r\n
                \ |> filter(fn: (r) => r[\"destination_service\"] == v.service) \r\n\r\ntls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nno_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"destination_workload\",\"destination_workload_namespace\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [tls,
                no_tls])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xPos: 9
        yPos: 10
    description: Details about metrics for the service and then client workloads (workloads
        that are calling this service) and service workloads (workloads that are providing
        this service) for that service.
    name: Istio Service Dashboard
---
apiVersion: influxdata.com/v2alpha1
kind: Dashboard
metadata:
    name: pensive-stonebraker-9ed001
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    charts:
      - height: 1
        kind: Markdown
        name: Name this Cell (Clone)
        note: '## **General**'
        staticLegend: {}
        width: 12
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' ops/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Request Volume
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nfrom(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_workload_namespace\"] == v.namespace)\r\n  |>
                filter(fn: (r) => r[\"destination_workload\"] == v.workload )\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\"])\r\n  |> filter(fn: (r)
                => exists r._value)"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 1
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "10"
            name: "y"
            scale: linear
            suffix: ' %'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Success Rate (non-5xx responses)
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_workload_namespace\"] == v.namespace)\r\n  |>
                filter(fn: (r) => r[\"destination_workload\"] == v.workload)\r\n  |>
                filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n\r\nfivehundreds
                = m\r\n  |> filter(fn: (r) => r[\"response_code\"] !~ /5.*/)\r\n  |>
                increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every: 5m,
                unit: 1s, groupColumns: [\"_field\", \"reporter\"])\r\n  |> filter(fn:
                (r) => exists r._value)\r\n\r\nall = m\r\n  |> increase(columns: [\"_value\"])\r\n
                \ |> aggregate.rate(every: 5m, unit: 1s, groupColumns: [\"_field\",
                \"reporter\"])\r\n  |> filter(fn: (r) => exists r._value)\r\n  \r\n\r\njoin(tables:
                {fh:fivehundreds, a:all}, on: [\"_time\", \"_start\", \"_stop\", \"reporter\"])\r\n
                \ |> map(fn: (r) => ({\r\n    _time: r._time,\r\n    _value: (r._value_fh
                / r._value_a) * 100.0,\r\n    reporter: r.reporter\r\n    })\r\n  )"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 3
      - height: 1
        kind: Markdown
        name: Name this Cell
        note: '## **Inbound Workloads**'
        staticLegend: {}
        width: 6
        yPos: 5
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' ops/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Requests By Source And Response Code
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_workload_namespace\"] == v.namespace)\r\n  |>
                filter(fn: (r) => r[\"destination_workload\"] == v.workload )\r\n
                \ |> filter(fn: (r) => r[\"source_workload_namespace\"] == v.inbound_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"source_workload\"] == v.inbound_workload)\r\n\r\ntls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nno_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [tls,
                no_tls])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        yPos: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Request Duration By Source
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nimport \"experimental/prometheus\"\r\n\r\nm
                = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"] ==
                \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                or  r[\"_field\"] == \"istio_request_duration_seconds_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"destination_workload_namespace\"] == v.namespace)\r\n
                \ |> filter(fn: (r) => r[\"destination_workload\"] == v.workload )\r\n
                \ |> filter(fn: (r) => r[\"source_workload_namespace\"] == v.inbound_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"source_workload\"] == v.inbound_workload)\r\n\r\nhistograms_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> map(fn: (r) => ({ r with le: if r[\"_field\"]
                == \"istio_request_duration_milliseconds_bucket\" then float(v: r.le)
                / 1000.0 else float(v: r.le) }))  \r\n  |> increase(columns: [\"_value\"])\r\n
                \ |> aggregate.rate(every: 1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nhistograms = m\r\n
                \ |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> map(fn: (r) => ({ r with le: if r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                then float(v: r.le) / 1000.0 else float(v: r.le) }))  \r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"reporter\",\"le\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.95),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.99),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.95),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 8
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: B
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Response Size By Source
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nimport \"experimental/prometheus\"\r\n\r\nm
                = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"] ==
                \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_response_bytes_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"destination_workload_namespace\"] == v.namespace)\r\n
                \ |> filter(fn: (r) => r[\"destination_workload\"] == v.workload )\r\n
                \ |> filter(fn: (r) => r[\"source_workload_namespace\"] == v.inbound_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"source_workload\"] == v.inbound_workload)\r\n\r\nhistograms_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nhistograms = m\r\n
                \ |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.95),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.99),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.95),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        yCol: _value
        yPos: 10
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' B/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Bytes Sent to Incoming TCP Connection
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_tcp_sent_bytes_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_workload_namespace\"] == v.namespace)\r\n  |>
                filter(fn: (r) => r[\"destination_workload\"] == v.workload )\r\n
                \ |> filter(fn: (r) => r[\"source_workload_namespace\"] == v.inbound_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"source_workload\"] == v.inbound_workload)\r\n\r\ntls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nno_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [tls,
                no_tls])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        yPos: 12
      - axes:
          - base: "10"
            name: x
            scale: linear
          - name: "y"
            scale: linear
            suffix: ' %'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Success Rate (non-5xx responses) By Source
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_workload_namespace\"] == v.namespace)\r\n  |>
                filter(fn: (r) => r[\"destination_workload\"] == v.workload )\r\n
                \ |> filter(fn: (r) => r[\"source_workload_namespace\"] == v.inbound_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"source_workload\"] == v.inbound_workload)\r\n\r\nnon_5xx_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> filter(fn: (r) => r[\"response_code\"] !~
                /5.*/)\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nall_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] == \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\na = join(tables: {non_5xx_tls:non_5xx_tls,
                all_tls:all_tls}, on: [\"_time\", \"_start\", \"_stop\",\"response_code\",\"reporter\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> map(fn: (r) => ({\r\n    _time: r._time,\r\n    _value: (r._value_non_5xx_tls
                / r._value_all_tls) * 100.0,\r\n    reporter: r.reporter,\r\n    response_code:
                r.response_code,\r\n    source_workload_namespace: r.source_workload_namespace,\r\n
                \   source_workload: r.source_workload,\r\n    connection_security_policy:
                r.connection_security_policy\r\n    })\r\n  )\r\n\r\nnon_5xx = m\r\n
                \ |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> filter(fn: (r) => r[\"response_code\"] !~ /5.*/)\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 5m, unit: 1s, groupColumns:
                [\"reporter\",\"response_code\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nall = m\r\n  |> filter(fn:
                (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n  |>
                increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every: 5m,
                unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nb = join(tables: {non_5xx:non_5xx,
                all:all}, on: [\"_time\", \"_start\", \"_stop\",\"response_code\",\"reporter\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> map(fn: (r) => ({\r\n    _time: r._time,\r\n    _value: (r._value_non_5xx
                / r._value_all) * 100.0,\r\n    reporter: r.reporter,\r\n    response_code:
                r.response_code,\r\n    source_workload_namespace: r.source_workload_namespace,\r\n
                \   source_workload: r.source_workload,\r\n    connection_security_policy:
                r.connection_security_policy\r\n    })\r\n  )\r\n\r\nunion(tables:
                [a, b])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 3
        yCol: _value
        yPos: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: B
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Incoming Request Size By Source
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nimport \"experimental/prometheus\"\r\n\r\nm
                = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"] ==
                \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_request_bytes_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"destination_workload_namespace\"] == v.namespace)\r\n
                \ |> filter(fn: (r) => r[\"destination_workload\"] == v.workload )\r\n
                \ |> filter(fn: (r) => r[\"source_workload_namespace\"] == v.inbound_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"source_workload\"] == v.inbound_workload)\r\n\r\nhistograms_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nhistograms = m\r\n
                \ |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.95),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.99),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.95),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 3
        yCol: _value
        yPos: 8
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' B/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Bytes Received from Incoming TCP Connection
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_tcp_received_bytes_total\")\r\n  |>
                filter(fn: (r) => r[\"destination_workload_namespace\"] == v.namespace)\r\n
                \ |> filter(fn: (r) => r[\"destination_workload\"] == v.workload )\r\n
                \ |> filter(fn: (r) => r[\"source_workload_namespace\"] == v.inbound_workload_namespace)\r\n
                \ |> filter(fn: (r) => r[\"source_workload\"] == v.inbound_workload)\r\n\r\ntls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nno_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"source_workload_namespace\",\"source_workload\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [tls,
                no_tls])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xPos: 3
        yPos: 10
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "10"
            name: "y"
            scale: linear
            suffix: ' B/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: TCP Server Traffic
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\ntx = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_tcp_sent_bytes_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_workload_namespace\"] == v.namespace)\r\n  |>
                filter(fn: (r) => r[\"destination_workload\"] == v.workload)\r\n  |>
                filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n  |>
                increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every: 1m,
                unit: 1s, groupColumns: [\"_field\", \"reporter\"])\r\n  |> filter(fn:
                (r) => exists r._value)\r\n\r\nrx = from(bucket: v.bucket)\r\n  |>
                range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |> filter(fn:
                (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn: (r)
                => r[\"_field\"] == \"istio_tcp_received_bytes_total\")\r\n  |> filter(fn:
                (r) => r[\"destination_workload_namespace\"] == v.namespace)\r\n  |>
                filter(fn: (r) => r[\"destination_workload\"] == v.workload)\r\n  |>
                filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n  |>
                increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every: 1m,
                unit: 1s, groupColumns: [\"_field\", \"reporter\"])\r\n  |> filter(fn:
                (r) => exists r._value)\r\n  \r\n\r\njoin(tables: {tx:tx, rx:rx},
                on: [\"_time\", \"_start\", \"_stop\", \"reporter\"])\r\n  |> map(fn:
                (r) => ({\r\n    _time: r._time,\r\n    _value: (r._value_tx + r._value_rx),\r\n
                \   reporter: r.reporter\r\n    })\r\n  )"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        xPos: 4
        yCol: _value
        yPos: 1
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Request Duration
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental\"\r\nimport \"experimental/aggregate\"\r\nimport
                \"experimental/prometheus\"\r\n\r\nhistograms =\r\n  from(bucket:
                v.bucket)\r\n  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n
                \ |> filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n
                \ |> filter(fn: (r) => r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                or  r[\"_field\"] == \"istio_request_duration_seconds_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"destination_workload_namespace\"] == v.namespace)\r\n
                \ |> filter(fn: (r) => r[\"destination_workload\"] == v.workload)\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n
                \ |> map(fn: (r) => ({ r with le: if r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                then float(v: r.le) / 1000.0 else float(v: r.le) }))  \r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"le\",\"reporter\"])\r\n\r\n  |> filter(fn: (r) => exists r._value)\r\nunion(tables:
                [\r\n  histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5)\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xCol: _time
        xPos: 4
        yCol: _value
        yPos: 3
      - height: 1
        kind: Markdown
        name: Name this Cell (Clone)
        note: '## **Outbound Services**'
        staticLegend: {}
        width: 6
        xPos: 6
        yPos: 5
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' ops/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Outgoing Requests By Destination And Response Code
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"reporter\"] == \"source\")\r\n  |> filter(fn: (r) => r[\"source_workload_namespace\"]
                == v.namespace)\r\n  |> filter(fn: (r) => r[\"source_workload\"] ==
                v.workload)\r\n  |> filter(fn: (r) => r[\"destination_service\"] ==
                v.destination_service) \r\n\r\nprinc = m\r\n  |> filter(fn: (r) =>
                r[\"destination_principal\"] =~ /spiffe.*/)\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 5m, unit: 1s, groupColumns:
                [\"reporter\",\"response_code\",\"destination_service\"])\r\n  |>
                filter(fn: (r) => exists r._value)\r\n\r\nno_princ = m\r\n  |> filter(fn:
                (r) => r[\"destination_principal\"] !~ /spiffe.*/)\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 5m, unit: 1s, groupColumns:
                [\"reporter\",\"response_code\",\"destination_service\"])\r\n  |>
                filter(fn: (r) => exists r._value)\r\n\r\n\r\nunion(tables: [princ,
                no_princ])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 6
        yCol: _value
        yPos: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Outgoing Request Duration By Destination
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nimport \"experimental/prometheus\"\r\n\r\nm
                = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"] ==
                \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                or  r[\"_field\"] == \"istio_request_duration_seconds_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] == \"source\")\r\n  |> filter(fn:
                (r) => r[\"source_workload_namespace\"] == v.namespace)\r\n  |> filter(fn:
                (r) => r[\"source_workload\"] == v.workload)\r\n  |> filter(fn: (r)
                => r[\"destination_service\"] == v.destination_service)  \r\n\r\nhistograms_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> map(fn: (r) => ({ r with le: if r[\"_field\"]
                == \"istio_request_duration_milliseconds_bucket\" then float(v: r.le)
                / 1000.0 else float(v: r.le) }))  \r\n  |> increase(columns: [\"_value\"])\r\n
                \ |> aggregate.rate(every: 1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nhistograms = m\r\n
                \ |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> map(fn: (r) => ({ r with le: if r[\"_field\"] == \"istio_request_duration_milliseconds_bucket\"
                then float(v: r.le) / 1000.0 else float(v: r.le) }))  \r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"reporter\",\"le\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.95),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.99),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.95),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 6
        yCol: _value
        yPos: 8
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: B
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Response Size By Destination
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nimport \"experimental/prometheus\"\r\n\r\nm
                = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"] ==
                \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_response_bytes_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] == \"source\")\r\n  |> filter(fn:
                (r) => r[\"source_workload_namespace\"] == v.namespace)\r\n  |> filter(fn:
                (r) => r[\"source_workload\"] == v.workload)\r\n  |> filter(fn: (r)
                => r[\"destination_service\"] == v.destination_service)\r\n\r\nhistograms_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nhistograms = m\r\n
                \ |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.95),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.99),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.95),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 6
        yCol: _value
        yPos: 10
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' B/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Bytes Received from Outgoing TCP Connection
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_tcp_sent_bytes_total\")\r\n  |> filter(fn:
                (r) => r[\"reporter\"] == \"source\")\r\n  |> filter(fn: (r) => r[\"source_workload_namespace\"]
                == v.namespace)\r\n  |> filter(fn: (r) => r[\"source_workload\"] ==
                v.workload)\r\n  |> filter(fn: (r) => r[\"destination_service\"] ==
                v.destination_service) \r\n\r\ntls = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"]
                == \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |>
                aggregate.rate(every: 1m, unit: 1s, groupColumns: [\"reporter\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nno_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [tls,
                no_tls])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xPos: 6
        yPos: 12
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "10"
            name: "y"
            scale: linear
            suffix: ' B/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: TCP Client Traffic
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\ntx = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_tcp_sent_bytes_total\")\r\n  |> filter(fn:
                (r) => r[\"source_workload_namespace\"] == v.namespace)\r\n  |> filter(fn:
                (r) => r[\"source_workload\"] == v.workload)\r\n  |> filter(fn: (r)
                => r[\"reporter\"] =~ /source|destination/)\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 1m, unit: 1s, groupColumns:
                [\"_field\", \"reporter\"])\r\n  |> filter(fn: (r) => exists r._value)\r\n\r\nrx
                = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"] ==
                \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_tcp_received_bytes_total\")\r\n
                \ |> filter(fn: (r) => r[\"source_workload_namespace\"] == v.namespace)\r\n
                \ |> filter(fn: (r) => r[\"source_workload\"] == v.workload)\r\n  |>
                filter(fn: (r) => r[\"reporter\"] =~ /source|destination/)\r\n  |>
                increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every: 1m,
                unit: 1s, groupColumns: [\"_field\", \"reporter\"])\r\n  |> filter(fn:
                (r) => exists r._value)\r\n  \r\n\r\njoin(tables: {tx:tx, rx:rx},
                on: [\"_time\", \"_start\", \"_stop\", \"reporter\"])\r\n  |> map(fn:
                (r) => ({\r\n    _time: r._time,\r\n    _value: (r._value_tx + r._value_rx),\r\n
                \   reporter: r.reporter\r\n    })\r\n  )"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 4
        widthRatio: 1
        xPos: 8
        yPos: 1
      - axes:
          - base: "10"
            name: x
            scale: linear
          - name: "y"
            scale: linear
            suffix: ' %'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Outgoing Success Rate (non-5xx responses) By Destination
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_requests_total\")\r\n  |> filter(fn:
                (r) => r[\"reporter\"] == \"source\")\r\n  |> filter(fn: (r) => r[\"source_workload_namespace\"]
                == v.namespace)\r\n  |> filter(fn: (r) => r[\"source_workload\"] ==
                v.workload)\r\n  |> filter(fn: (r) => r[\"destination_service\"] ==
                v.destination_service) \r\n\r\nnon_5xx_tls = m\r\n  |> filter(fn:
                (r) => r[\"connection_security_policy\"] == \"mutual_tls\")\r\n  |>
                filter(fn: (r) => r[\"response_code\"] !~ /5.*/)\r\n  |> increase(columns:
                [\"_value\"])\r\n  |> aggregate.rate(every: 5m, unit: 1s, groupColumns:
                [\"reporter\",\"response_code\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nall_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] == \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\na = join(tables: {non_5xx_tls:non_5xx_tls,
                all_tls:all_tls}, on: [\"_time\", \"_start\", \"_stop\",\"response_code\",\"reporter\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> map(fn: (r) => ({\r\n    _time: r._time,\r\n    _value: (r._value_non_5xx_tls
                / r._value_all_tls) * 100.0,\r\n    reporter: r.reporter,\r\n    response_code:
                r.response_code,\r\n    connection_security_policy: r.connection_security_policy,\r\n
                \   destination_service: r.destination_service\r\n    })\r\n  )\r\n\r\nnon_5xx
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] !=
                \"mutual_tls\")\r\n  |> filter(fn: (r) => r[\"response_code\"] !~
                /5.*/)\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                5m, unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nall = m\r\n  |> filter(fn:
                (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n  |>
                increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every: 5m,
                unit: 1s, groupColumns: [\"reporter\",\"response_code\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nb = join(tables: {non_5xx:non_5xx,
                all:all}, on: [\"_time\", \"_start\", \"_stop\",\"response_code\",\"reporter\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> map(fn: (r) => ({\r\n    _time: r._time,\r\n    _value: (r._value_non_5xx
                / r._value_all) * 100.0,\r\n    reporter: r.reporter,\r\n    response_code:
                r.response_code,\r\n    connection_security_policy: r.connection_security_policy,\r\n
                \   destination_service: r.destination_service\r\n    })\r\n  )\r\n\r\nunion(tables:
                [a, b])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xPos: 9
        yPos: 6
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: B
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: bcac2843-2f91-4917-9297-00813796c616
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: e45eed79-50ee-4e17-8668-d4942b7c6cc9
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: 95085605-dfca-4428-9734-51d2e16f9ff2
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Outgoing Request Size By Destination
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\nimport \"experimental/prometheus\"\r\n\r\nm
                = from(bucket: v.bucket)\r\n  |> range(start: v.timeRangeStart, stop:
                v.timeRangeStop)\r\n  |> filter(fn: (r) => r[\"_measurement\"] ==
                \"prometheus\")\r\n  |> filter(fn: (r) => r[\"_field\"] == \"istio_request_bytes_bucket\")\r\n
                \ |> filter(fn: (r) => r[\"reporter\"] == \"source\")\r\n  |> filter(fn:
                (r) => r[\"source_workload_namespace\"] == v.namespace)\r\n  |> filter(fn:
                (r) => r[\"source_workload\"] == v.workload)\r\n  |> filter(fn: (r)
                => r[\"destination_service\"] == v.destination_service) \r\n\r\nhistograms_tls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nhistograms = m\r\n
                \ |> filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"le\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.99),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.95),\r\n
                \ histograms |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.99),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.95),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.9),\r\n  histograms_tls
                |> prometheus.histogramQuantile(quantile: 0.5),\r\n])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xCol: _time
        xPos: 9
        yCol: _value
        yPos: 8
      - axes:
          - base: "10"
            name: x
            scale: linear
          - base: "2"
            name: "y"
            scale: linear
            suffix: ' B/s'
        colorMapping: {}
        colorizeRows: true
        colors:
          - hex: '#31C0F6'
            id: 3171e769-22f4-4bf7-b6a0-0fc4f12d339a
            name: Nineteen Eighty Four
            type: scale
          - hex: '#A500A5'
            id: 2276c6b9-69b3-411f-966b-43f6ba2d301d
            name: Nineteen Eighty Four
            type: scale
          - hex: '#FF7E27'
            id: b7fe02a2-a7ef-4ff1-a1a4-c7a5b72eed6a
            name: Nineteen Eighty Four
            type: scale
        geom: line
        height: 2
        hoverDimension: auto
        kind: Xy
        legendColorizeRows: true
        legendOpacity: 1
        legendOrientationThreshold: 1e+08
        name: Bytes Sent on Outgoing TCP Connection
        opacity: 1
        orientationThreshold: 1e+08
        position: overlaid
        queries:
          - query: "import \"experimental/aggregate\"\r\n\r\nm = from(bucket: v.bucket)\r\n
                \ |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n  |>
                filter(fn: (r) => r[\"_measurement\"] == \"prometheus\")\r\n  |> filter(fn:
                (r) => r[\"_field\"] == \"istio_tcp_received_bytes_total\")\r\n  |>
                filter(fn: (r) => r[\"reporter\"] == \"source\")\r\n  |> filter(fn:
                (r) => r[\"source_workload_namespace\"] == v.namespace)\r\n  |> filter(fn:
                (r) => r[\"source_workload\"] == v.workload)\r\n  |> filter(fn: (r)
                => r[\"destination_service\"] == v.destination_service) \r\n\r\ntls
                = m\r\n  |> filter(fn: (r) => r[\"connection_security_policy\"] ==
                \"mutual_tls\")\r\n  |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)  \r\n\r\nno_tls = m\r\n  |>
                filter(fn: (r) => r[\"connection_security_policy\"] != \"mutual_tls\")\r\n
                \ |> increase(columns: [\"_value\"])\r\n  |> aggregate.rate(every:
                1m, unit: 1s, groupColumns: [\"reporter\",\"destination_service\",\"connection_security_policy\"])\r\n
                \ |> filter(fn: (r) => exists r._value)\r\n\r\nunion(tables: [tls,
                no_tls])"
        staticLegend:
            colorizeRows: true
            opacity: 1
            orientationThreshold: 1e+08
            widthRatio: 1
        width: 3
        widthRatio: 1
        xPos: 9
        yPos: 10
    description: Details about metrics for each workload and then inbound workloads
        (workloads that are sending request to this workload) and outbound services
        (services to which this workload send requests) for that workload.
    name: ' Istio Workload Dashboard'
---
apiVersion: influxdata.com/v2alpha1
kind: Telegraf
metadata:
    name: jolly-pike-5ed001
spec:
    associations:
      - kind: Label
        name: fervent-bohr-ded001
    config: |-
        # Configuration for telegraf agent
        [agent]
          ## Default data collection interval for all inputs
          interval = "20s"
          ## Rounds collection interval to 'interval'
          ## ie, if interval="10s" then always collect on :00, :10, :20, etc.
          round_interval = true

          ## Telegraf will send metrics to outputs in batches of at most
          ## metric_batch_size metrics.
          ## This controls the size of writes that Telegraf sends to output plugins.
          metric_batch_size = 1000

          ## Maximum number of unwritten metrics per output.  Increasing this value
          ## allows for longer periods of output downtime without dropping metrics at the
          ## cost of higher maximum memory usage.
          metric_buffer_limit = 10000

          ## Collection jitter is used to jitter the collection by a random amount.
          ## Each plugin will sleep for a random time within jitter before collecting.
          ## This can be used to avoid many plugins querying things like sysfs at the
          ## same time, which can have a measurable effect on the system.
          collection_jitter = "0s"

          ## Default flushing interval for all outputs. Maximum flush_interval will be
          ## flush_interval + flush_jitter
          flush_interval = "10s"
          ## Jitter the flush interval by a random amount. This is primarily to avoid
          ## large write spikes for users running a large number of telegraf instances.
          ## ie, a jitter of 5s and interval 10s means flushes will happen every 10-15s
          flush_jitter = "0s"

          ## By default or when set to "0s", precision will be set to the same
          ## timestamp order as the collection interval, with the maximum being 1s.
          ##   ie, when interval = "10s", precision will be "1s"
          ##       when interval = "250ms", precision will be "1ms"
          ## Precision will NOT be used for service inputs. It is up to each individual
          ## service input to set the timestamp at the appropriate precision.
          ## Valid time units are "ns", "us" (or "µs"), "ms", "s".
          precision = ""

          ## Log at debug level.
          # debug = false
          ## Log only error level messages.
          # quiet = false

          ## Log target controls the destination for logs and can be one of "file",
          ## "stderr" or, on Windows, "eventlog".  When set to "file", the output file
          ## is determined by the "logfile" setting.
          # logtarget = "file"

          ## Name of the file to be logged to when using the "file" logtarget.  If set to
          ## the empty string then logs are written to stderr.
          # logfile = ""

          ## The logfile will be rotated after the time interval specified.  When set
          ## to 0 no time based rotation is performed.  Logs are rotated only when
          ## written to, if there is no log activity rotation may be delayed.
          # logfile_rotation_interval = "0d"

          ## The logfile will be rotated when it becomes larger than the specified
          ## size.  When set to 0 no size based rotation is performed.
          # logfile_rotation_max_size = "0MB"

          ## Maximum number of rotated archives to keep, any older logs are deleted.
          ## If set to -1, no archives are removed.
          # logfile_rotation_max_archives = 5

          ## Pick a timezone to use when logging or type 'local' for local time.
          ## Example: America/Chicago
          # log_with_timezone = ""

          ## Override default hostname, if empty use os.Hostname()
          hostname = ""
          ## If set to true, do no set the "host" tag in the telegraf agent.
          omit_hostname = false
        [[outputs.influxdb_v2]]
          ## The URLs of the InfluxDB cluster nodes.
          ##
          ## Multiple URLs can be specified for a single cluster, only ONE of the
          ## urls will be written to each interval.
          ##   ex: urls = ["https://us-west-2-1.aws.cloud2.influxdata.com"]
          urls = ["$INFLUX_HOST"]

          ## Token for authentication.
          token = "$INFLUX_TOKEN"

          ## Organization is the name of the organization you wish to write to; must exist.
          organization = "$INFLUX_ORG"

          ## Destination bucket to write into.
          bucket = "$INFLUX_BUCKET"

          ## The value of this tag will be used to determine the bucket.  If this
          ## tag is not set the 'bucket' option is used as the default.
          # bucket_tag = ""

          ## If true, the bucket tag will not be added to the metric.
          # exclude_bucket_tag = false

          ## Timeout for HTTP messages.
          # timeout = "5s"

          ## Additional HTTP headers
          # http_headers = {"X-Special-Header" = "Special-Value"}

          ## HTTP Proxy override, if unset values the standard proxy environment
          ## variables are consulted to determine which proxy, if any, should be used.
          # http_proxy = "http://corporate.proxy:3128"

          ## HTTP User-Agent
          # user_agent = "telegraf"

          ## Content-Encoding for write request body, can be set to "gzip" to
          ## compress body or "identity" to apply no encoding.
          # content_encoding = "gzip"

          ## Enable or disable uint support for writing uints influxdb 2.0.
          # influx_uint_support = false

          ## Optional TLS Config for use on HTTP connections.
          # tls_ca = "/etc/telegraf/ca.pem"
          # tls_cert = "/etc/telegraf/cert.pem"
          # tls_key = "/etc/telegraf/key.pem"
          ## Use TLS but skip chain & host verification
          # insecure_skip_verify = false
        [[inputs.prometheus]]
          urls = [
            "https://kubernetes.default.svc/api/v1/nodes/$HOSTNAME/proxy/metrics/cadvisor",
            "https://kubernetes.default.svc/api/v1/nodes/$HOSTNAME/proxy/metrics"
            ]
          metric_version = 2
          monitor_kubernetes_pods = true
          pod_scrape_scope = "node"
          pod_scrape_interval = 60
          kubernetes_field_selector = "spec.nodeName=$HOSTNAME"
          bearer_token = "/var/run/secrets/kubernetes.io/serviceaccount/token"
          response_timeout = "5s"
          tls_ca = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
          insecure_skip_verify = true
    name: istio-daemonset