{
  "uid": "bzrk-service-metrics",
  "title": "Berserk Service Metrics",
  "description": "Auto-generated dashboard for all Berserk service metrics defined in metrics.yaml files.",
  "tags": [
    "berserk",
    "metrics",
    "generated"
  ],
  "timezone": "browser",
  "time": {
    "from": "now-1h",
    "to": "now"
  },
  "refresh": "30s",
  "schemaVersion": 42,
  "version": 1,
  "editable": true,
  "graphTooltip": 1,
  "annotations": {
    "list": [
      {
        "builtIn": 1,
        "datasource": {
          "type": "grafana",
          "uid": "-- Grafana --"
        },
        "enable": true,
        "hide": true,
        "iconColor": "rgba(0, 211, 255, 1)",
        "name": "Annotations & Alerts",
        "type": "dashboard"
      }
    ]
  },
  "templating": {
    "list": [
      {
        "current": {},
        "hide": 0,
        "includeAll": false,
        "multi": false,
        "name": "datasource",
        "options": [],
        "query": "berserk-datasource",
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "type": "datasource"
      }
    ]
  },
  "panels": [
    {
      "id": 7,
      "type": "row",
      "title": "Janitor",
      "collapsed": true,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 0
      },
      "panels": [
        {
          "id": 2,
          "type": "timeseries",
          "title": "Current number of segments in the cluster",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 1
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.janitor.segment_count\"\n| summarize latest = arg_max($time, todouble(value)) by bin($time, $__interval)\n| project $time, value\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 3,
          "type": "timeseries",
          "title": "Total size of all segment data in cloud storage",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 1
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.janitor.total_data_size\"\n| summarize latest = arg_max($time, todouble(value)) by bin($time, $__interval)\n| project $time, value\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "bytes",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 4,
          "type": "timeseries",
          "title": "Total segments deleted from cloud storage",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 9
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.janitor.segments_deleted\"\n| summarize total = sum(tolong(value)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 5,
          "type": "timeseries",
          "title": "Duration of segment merge cycles",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 9
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.janitor.merge_cycle_duration\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "ms",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 6,
          "type": "timeseries",
          "title": "Duration of probe query executions",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 17
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.janitor.probe_duration\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "ms",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        }
      ]
    },
    {
      "id": 27,
      "type": "row",
      "title": "Nursery",
      "collapsed": true,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 1
      },
      "panels": [
        {
          "id": 8,
          "type": "timeseries",
          "title": "Number of currently active stream followers",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 2
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.streams_active\"\n| summarize latest = arg_max($time, todouble(value)) by bin($time, $__interval)\n| project $time, value\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 9,
          "type": "timeseries",
          "title": "Ingest lag across all streams (seconds since last ingest time)",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 2
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.ingest_lag_seconds\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "s",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 10,
          "type": "timeseries",
          "title": "S3 segment download duration",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 10
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.download_duration_ms\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "ms",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 11,
          "type": "timeseries",
          "title": "Protobuf to segment conversion duration",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 10
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.conversion_duration_ms\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "ms",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 12,
          "type": "timeseries",
          "title": "Total segment processing duration (download + conversion)",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 18
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.total_duration_ms\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "ms",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 13,
          "type": "timeseries",
          "title": "Total compressed bytes downloaded from S3 (use rate() for throughput)",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 18
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.bytes_ingested\"\n| summarize total = sum(tolong(value)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 14,
          "type": "timeseries",
          "title": "Total uncompressed proto bytes ingested (use rate() for throughput)",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 26
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.bytes_ingested_uncompressed\"\n| summarize total = sum(tolong(value)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 15,
          "type": "timeseries",
          "title": "Total bytes of segment files produced (use rate() for throughput)",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 26
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.segment_output_bytes\"\n| summarize total = sum(tolong(value)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 16,
          "type": "timeseries",
          "title": "Data errors (malformed protobuf, conversion failures)",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 34
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.data_errors\"\n| summarize total = sum(tolong(value)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 17,
          "type": "timeseries",
          "title": "Infrastructure errors (S3 failures, I/O errors)",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 34
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.infra_errors\"\n| summarize total = sum(tolong(value)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 18,
          "type": "timeseries",
          "title": "Number of active streams reported by Meta",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 42
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.active_streams\"\n| summarize latest = arg_max($time, todouble(value)) by bin($time, $__interval)\n| project $time, value\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 19,
          "type": "timeseries",
          "title": "Number of closed streams reported by Meta",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 42
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.closed_streams\"\n| summarize latest = arg_max($time, todouble(value)) by bin($time, $__interval)\n| project $time, value\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 20,
          "type": "timeseries",
          "title": "Total number of completed merges",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 50
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.merge_count\"\n| summarize total = sum(tolong(value)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 21,
          "type": "timeseries",
          "title": "Compressed output size of merged segments",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 50
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.merge_output_size_mb\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 22,
          "type": "timeseries",
          "title": "Duration of segment merge operations",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 58
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.merge_duration\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "ms",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 23,
          "type": "timeseries",
          "title": "Merge throughput in megabytes per second",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 58
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.merge_speed_mbps\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 24,
          "type": "timeseries",
          "title": "Time from baby segment ingest to merge completion",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 66
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.time_to_merge_seconds\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "s",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 25,
          "type": "timeseries",
          "title": "Total rows ingested across all streams",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 66
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.rows_ingested\"\n| summarize total = sum(tolong(value)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 26,
          "type": "timeseries",
          "title": "Delay between event timestamp and ingest time",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 74
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.nursery.ingest_delay\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "ms",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        }
      ]
    },
    {
      "id": 32,
      "type": "row",
      "title": "Query",
      "collapsed": true,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 2
      },
      "panels": [
        {
          "id": 28,
          "type": "timeseries",
          "title": "End-to-end query execution duration",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 3
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.query.execution_duration\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "ms",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 29,
          "type": "timeseries",
          "title": "Total query requests received",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 3
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.query.requests\"\n| summarize total = sum(tolong(value)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 30,
          "type": "timeseries",
          "title": "Number of rows returned per query",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 11
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.query.result_rows\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 31,
          "type": "timeseries",
          "title": "Total query errors by error type",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 11
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.query.errors\"\n| summarize total = sum(tolong(value)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        }
      ]
    },
    {
      "id": 36,
      "type": "row",
      "title": "Tjalfe",
      "collapsed": true,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 3
      },
      "panels": [
        {
          "id": 33,
          "type": "timeseries",
          "title": "Total batches rejected due to full queue",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 4
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.tjalfe.queue_rejections\"\n| summarize total = sum(tolong(value)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 34,
          "type": "timeseries",
          "title": "Duration of batch flush operations to downstream exporters",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 4
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.tjalfe.batch_flush_duration\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "ms",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 35,
          "type": "timeseries",
          "title": "Total requests dropped due to missing ingest token or channel full",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 12
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.tjalfe.data_dropped\"\n| summarize total = sum(tolong(value)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        }
      ]
    },
    {
      "id": 39,
      "type": "row",
      "title": "Ui",
      "collapsed": true,
      "gridPos": {
        "h": 1,
        "w": 24,
        "x": 0,
        "y": 4
      },
      "panels": [
        {
          "id": 37,
          "type": "timeseries",
          "title": "Duration of proxied queries from start to stream completion",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 0,
            "y": 5
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.ui.query_duration\"\n| summarize avg_val = avg(todouble(sum) / todouble(count)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "ms",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        },
        {
          "id": 38,
          "type": "timeseries",
          "title": "Number of page visits to the UI",
          "gridPos": {
            "h": 8,
            "w": 12,
            "x": 12,
            "y": 5
          },
          "datasource": {
            "type": "berserk-datasource",
            "uid": "${datasource}"
          },
          "targets": [
            {
              "refId": "A",
              "database": "default",
              "queryType": "KQL",
              "query": "default\n| where isnotnull(metric)\n| where metric[\"name\"] == \"bzrk.ui.site_visits\"\n| summarize total = sum(tolong(value)) by bin($time, $__interval)\n| order by $time asc",
              "resultFormat": "time_series",
              "querySource": "raw",
              "rawMode": true
            }
          ],
          "fieldConfig": {
            "defaults": {
              "color": {
                "mode": "palette-classic"
              },
              "custom": {
                "drawStyle": "line",
                "fillOpacity": 20,
                "gradientMode": "hue",
                "lineInterpolation": "smooth",
                "lineWidth": 2,
                "pointSize": 5,
                "showPoints": "auto",
                "spanNulls": false,
                "stacking": {
                  "group": "A",
                  "mode": "none"
                }
              },
              "unit": "short",
              "thresholds": {
                "mode": "absolute",
                "steps": [
                  {
                    "color": "green",
                    "value": null
                  }
                ]
              }
            },
            "overrides": []
          },
          "options": {
            "legend": {
              "displayMode": "list",
              "placement": "bottom"
            },
            "tooltip": {
              "mode": "multi",
              "sort": "desc"
            }
          }
        }
      ]
    }
  ],
  "links": []
}