From 1dd5b810a21c67b11a8dac510f195cf934b67ee4 Mon Sep 17 00:00:00 2001 From: Check Null <39509320+jiamin13579@users.noreply.github.com> Date: Fri, 30 Aug 2024 15:50:45 +0800 Subject: [PATCH 01/18] [AMORO-3131] Add the grafana dashboard template (#3138) [AMORO-3131] Add the grafana dashboard template (#3138) --- grafana/README.md | 20 + grafana/dashboard.json | 2768 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 2788 insertions(+) create mode 100644 grafana/README.md create mode 100644 grafana/dashboard.json diff --git a/grafana/README.md b/grafana/README.md new file mode 100644 index 0000000000..200bfde260 --- /dev/null +++ b/grafana/README.md @@ -0,0 +1,20 @@ +# Grafana Dashboard Import Guide + +## Overview + +This guide explains how to import and configure the provided Grafana dashboard. + +## Steps to Import + +1. **Download JSON**: Get the `dashboard.json` file. +2. **Log in to Grafana**: Access your Grafana instance. +3. **Import Dashboard**: + - Go to the "+" menu, select "Import". + - Upload the JSON file or paste its contents. +4. **Configure Data Sources**: Map any required data sources to your existing ones. +5. **Save**: Confirm and save the dashboard. + +## Notes + +- Ensure data sources are properly configured. For details, please refer to: [Grafana data source](https://grafana.com/docs/grafana/latest/datasources/prometheus/). +- Customize variables, thresholds, and layouts as needed. For details, please refer to: [Grafana build dashboards](https://grafana.com/docs/grafana/latest/dashboards/build-dashboards/). \ No newline at end of file diff --git a/grafana/dashboard.json b/grafana/dashboard.json new file mode 100644 index 0000000000..ad9e17312c --- /dev/null +++ b/grafana/dashboard.json @@ -0,0 +1,2768 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "description": "", + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 1, + "id": 26, + "links": [], + "liveNow": false, + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 9, + "panels": [], + "title": "Overview", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "text", + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Memory" + }, + "properties": [ + { + "id": "unit", + "value": "decbytes" + } + ] + } + ] + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 1 + }, + "id": 10, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "center", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "value_and_name", + "wideLayout": true + }, + "pluginVersion": "11.1.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sum(amoro_optimizer_group_optimizer_instances)", + "format": "time_series", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "interval": "", + "legendFormat": "Instance", + "range": false, + "refId": "D", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sum(amoro_optimizer_group_memory_bytes_allocated)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Memory", + "range": false, + "refId": "E", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sum(amoro_optimizer_group_threads)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Thread", + "range": false, + "refId": "F", + "useBackend": false + } + ], + "title": "Optimizer Information", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "Table Current Stat", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 1 + }, + "id": 5, + "options": { + "colorMode": "value", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.1.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sum(amoro_table_optimizing_status_in_idle)", + "fullMetaSearch": false, + "includeNullMetadata": false, + "instant": true, + "legendFormat": "Idle", + "range": false, + "refId": "A", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "editorMode": "builder", + "exemplar": false, + "expr": "sum(amoro_table_optimizing_status_in_planning)", + "hide": false, + "instant": true, + "legendFormat": "Planning", + "range": false, + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum(amoro_table_optimizing_status_in_executing)", + "hide": false, + "instant": true, + "legendFormat": "Executing", + "range": false, + "refId": "C" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum(amoro_table_optimizing_status_in_pending)", + "hide": false, + "instant": true, + "legendFormat": "Pending", + "range": false, + "refId": "D" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum(amoro_table_optimizing_status_in_committing)", + "hide": false, + "instant": true, + "legendFormat": "Committing", + "range": false, + "refId": "E" + } + ], + "title": "Table Current Stat", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "Count of all optimizing process since ams started", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Failed" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "dark-red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "dark-green", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 0, + "y": 6 + }, + "id": 19, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.1.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sum by(catalog) (amoro_table_optimizing_process_total_count_total)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": false, + "instant": true, + "legendFormat": "Total", + "range": false, + "refId": "B", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "editorMode": "code", + "exemplar": false, + "expr": "sum by(catalog) (amoro_table_optimizing_process_failed_count_total)", + "hide": false, + "instant": true, + "legendFormat": "Failed", + "range": false, + "refId": "A" + } + ], + "title": "All Process Count", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "Count of Minor optimizing process since ams started", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Failed" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "dark-red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "dark-green", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 6, + "y": 6 + }, + "id": 21, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.1.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sum by(catalog) (amoro_table_optimizing_minor_total_count_total)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": false, + "instant": true, + "legendFormat": "Total", + "range": false, + "refId": "B", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sum by(catalog) (amoro_table_optimizing_minor_failed_count_total)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Failed", + "range": false, + "refId": "A", + "useBackend": false + } + ], + "title": "Minor Process Count", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "Count of Major optimizing process since ams started", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Failed" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "dark-red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "dark-green", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 12, + "y": 6 + }, + "id": 22, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.1.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sum by(catalog) (amoro_table_optimizing_major_total_count_total)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": false, + "instant": true, + "legendFormat": "Total", + "range": false, + "refId": "B", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sum by(catalog) (amoro_table_optimizing_major_failed_count_total)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Failed", + "range": false, + "refId": "A", + "useBackend": false + } + ], + "title": "Major Process Count", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "Count of full optimizing process since ams started", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "none" + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Failed" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "dark-red", + "mode": "fixed" + } + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "Total" + }, + "properties": [ + { + "id": "color", + "value": { + "fixedColor": "dark-green", + "mode": "fixed" + } + } + ] + } + ] + }, + "gridPos": { + "h": 6, + "w": 6, + "x": 18, + "y": 6 + }, + "id": 23, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "percentChangeColorMode": "standard", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.1.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sum by(catalog) (amoro_table_optimizing_full_total_count_total)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": false, + "instant": true, + "legendFormat": "Total", + "range": false, + "refId": "B", + "useBackend": false + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "exemplar": false, + "expr": "sum by(catalog) (amoro_table_optimizing_full_failed_count_total)", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": true, + "legendFormat": "Failed", + "range": false, + "refId": "A", + "useBackend": false + } + ], + "title": "Full Process Count", + "type": "stat" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 12 + }, + "id": 24, + "panels": [], + "title": "Self Optimizing", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "Duration in milliseconds after table be in planning status", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 25, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 13 + }, + "id": 26, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "sum(amoro_table_optimizing_status_planning_duration_mills{catalog=~\"$Catalog\", database=~\"$Database\", table=~\"$Table\"})", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "sum(table_optimizing_status_planning_duration_mills)", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Planning Duration", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 13 + }, + "id": 42, + "options": { + "displayMode": "basic", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "pluginVersion": "11.1.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "amoro_table_optimizing_status_planning_duration_mills{catalog=~\"$Catalog\", database=~\"$Database\", table=~\"$Table\"} > 0", + "format": "time_series", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "interval": "", + "legendFormat": "{{catalog}}.{{database}}.{{table}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Top Planning Duration", + "transformations": [ + { + "id": "reduce", + "options": { + "includeTimeField": false, + "labelsToFields": false, + "mode": "seriesToRows", + "reducers": [ + "max" + ] + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "Max" + } + ] + } + }, + { + "id": "limit", + "options": { + "limitField": 10 + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "Duration in milliseconds after table be in pending status", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 25, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 22 + }, + "id": 27, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "sum(amoro_table_optimizing_status_pending_duration_mills{catalog=~\"$Catalog\", database=~\"$Database\", table=~\"$Table\"})", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "sum(table_optimizing_status_pending_duration_mills)", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Pending Duration", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + }, + "unit": "ms" + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 22 + }, + "id": 30, + "options": { + "displayMode": "basic", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "pluginVersion": "11.1.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "amoro_table_optimizing_status_pending_duration_mills{catalog=~\"$Catalog\", database=~\"$Database\", table=~\"$Table\"} > 0", + "format": "time_series", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "interval": "", + "legendFormat": "{{catalog}}.{{database}}.{{table}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Top Pending Duration", + "transformations": [ + { + "id": "reduce", + "options": { + "includeTimeField": false, + "labelsToFields": false, + "mode": "seriesToRows", + "reducers": [ + "max" + ] + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "Max" + } + ] + } + }, + { + "id": "limit", + "options": { + "limitField": 10 + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "Duration in milliseconds after table be in executing status", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 25, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "ms", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 31 + }, + "id": 28, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "sum(amoro_table_optimizing_status_executing_duration_mills{catalog=~\"$Catalog\", database=~\"$Database\", table=~\"$Table\"})", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "sum(table_optimizing_status_executing_duration_mills)", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Executing Duration", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + }, + "unit": "ms", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 31 + }, + "id": 41, + "options": { + "displayMode": "basic", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "pluginVersion": "10.3.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "amoro_table_optimizing_status_executing_duration_mills{catalog=~\"$Catalog\", database=~\"$Database\", table=~\"$Table\"} > 0", + "format": "time_series", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "interval": "", + "legendFormat": "{{catalog}}.{{database}}.{{table}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Top Executing Duration", + "transformations": [ + { + "id": "reduce", + "options": { + "includeTimeField": false, + "labelsToFields": false, + "mode": "seriesToRows", + "reducers": [ + "max" + ] + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "Max" + } + ] + } + }, + { + "id": "limit", + "options": { + "limitField": 10 + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "Duration in milliseconds after table be in Committing status", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 25, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "ms", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 40 + }, + "id": 29, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "builder", + "expr": "sum(amoro_table_optimizing_status_committing_duration_mills{catalog=~\"$Catalog\", database=~\"$Database\", table=~\"$Table\"})", + "fullMetaSearch": false, + "includeNullMetadata": true, + "instant": false, + "legendFormat": "sum(table_optimizing_status_committing_duration_mills)", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Committing Duration", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + }, + "unit": "ms", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 40 + }, + "id": 7, + "options": { + "displayMode": "basic", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "pluginVersion": "10.3.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "amoro_table_optimizing_status_committing_duration_mills{catalog=~\"$Catalog\", database=~\"$Database\", table=~\"$Table\"} ", + "format": "time_series", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "interval": "", + "legendFormat": "{{catalog}}.{{database}}.{{table}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Top Committing Duration", + "transformations": [ + { + "id": "reduce", + "options": { + "includeTimeField": false, + "labelsToFields": false, + "mode": "seriesToRows", + "reducers": [ + "max" + ] + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "Max" + } + ] + } + }, + { + "id": "limit", + "options": { + "limitField": 10 + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + }, + "unit": "none", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 49 + }, + "id": 31, + "options": { + "displayMode": "basic", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "pluginVersion": "10.3.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "amoro_table_optimizing_process_total_count_total{catalog=~\"$Catalog\", database=~\"$Database\", table=~\"$Table\"} > 0", + "format": "time_series", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "interval": "", + "legendFormat": "{{catalog}}.{{database}}.{{table}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Top Total Count", + "transformations": [ + { + "id": "reduce", + "options": { + "includeTimeField": false, + "mode": "seriesToRows", + "reducers": [ + "min", + "lastNotNull" + ] + } + }, + { + "id": "calculateField", + "options": { + "alias": "Diff", + "binary": { + "left": "Last *", + "operator": "-", + "right": "Min" + }, + "mode": "binary", + "reduce": { + "reducer": "sum" + } + } + }, + { + "id": "filterFieldsByName", + "options": { + "include": { + "names": [ + "Diff", + "Field" + ] + } + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "Diff" + } + ] + } + }, + { + "id": "limit", + "options": { + "limitField": 10 + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + }, + "unit": "none", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 49 + }, + "id": 33, + "options": { + "displayMode": "basic", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "pluginVersion": "10.3.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "amoro_table_optimizing_minor_total_count_total{catalog=~\"$Catalog\", database=~\"$Database\", table=~\"$Table\"} > 0", + "format": "time_series", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "interval": "", + "legendFormat": "{{catalog}}.{{database}}.{{table}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Top Minor Count", + "transformations": [ + { + "id": "reduce", + "options": { + "includeTimeField": false, + "mode": "seriesToRows", + "reducers": [ + "lastNotNull", + "min" + ] + } + }, + { + "id": "calculateField", + "options": { + "alias": "Diff", + "binary": { + "left": "Last *", + "operator": "-", + "right": "Min" + }, + "mode": "binary", + "reduce": { + "reducer": "sum" + } + } + }, + { + "id": "filterFieldsByName", + "options": { + "include": { + "names": [ + "Field", + "Diff" + ] + } + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "Diff" + } + ] + } + }, + { + "id": "limit", + "options": { + "limitField": 10 + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + }, + "unit": "none", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 58 + }, + "id": 43, + "options": { + "displayMode": "basic", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "pluginVersion": "10.3.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "amoro_table_optimizing_major_total_count_total{catalog=~\"$Catalog\", database=~\"$Database\", table=~\"$Table\"} > 0", + "format": "time_series", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "interval": "", + "legendFormat": "{{catalog}}.{{database}}.{{table}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Top Major Count", + "transformations": [ + { + "id": "reduce", + "options": { + "includeTimeField": false, + "mode": "seriesToRows", + "reducers": [ + "lastNotNull", + "min" + ] + } + }, + { + "id": "calculateField", + "options": { + "alias": "Diff", + "binary": { + "left": "Last *", + "operator": "-", + "right": "Min" + }, + "mode": "binary", + "reduce": { + "reducer": "sum" + } + } + }, + { + "id": "filterFieldsByName", + "options": { + "include": { + "names": [ + "Field", + "Diff" + ] + } + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "Diff" + } + ] + } + }, + { + "id": "limit", + "options": { + "limitField": 10 + } + } + ], + "type": "bargauge" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "decimals": 0, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + } + ] + }, + "unit": "none", + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 58 + }, + "id": 44, + "options": { + "displayMode": "basic", + "maxVizHeight": 300, + "minVizHeight": 10, + "minVizWidth": 0, + "namePlacement": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [], + "fields": "", + "values": true + }, + "showUnfilled": true, + "sizing": "auto", + "valueMode": "color" + }, + "pluginVersion": "10.3.0", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "disableTextWrap": false, + "editorMode": "code", + "exemplar": false, + "expr": "amoro_table_optimizing_full_total_count_total{catalog=~\"$Catalog\", database=~\"$Database\", table=~\"$Table\"} > 0", + "format": "time_series", + "fullMetaSearch": false, + "hide": false, + "includeNullMetadata": true, + "instant": false, + "interval": "", + "legendFormat": "{{catalog}}.{{database}}.{{table}}", + "range": true, + "refId": "A", + "useBackend": false + } + ], + "title": "Top Full Count", + "transformations": [ + { + "id": "reduce", + "options": { + "includeTimeField": false, + "mode": "seriesToRows", + "reducers": [ + "lastNotNull", + "min" + ] + } + }, + { + "id": "calculateField", + "options": { + "alias": "Diff", + "binary": { + "left": "Last *", + "operator": "-", + "right": "Min" + }, + "mode": "binary", + "reduce": { + "reducer": "sum" + } + } + }, + { + "id": "filterFieldsByName", + "options": { + "include": { + "names": [ + "Field", + "Diff" + ] + } + } + }, + { + "id": "sortBy", + "options": { + "fields": {}, + "sort": [ + { + "desc": true, + "field": "Diff" + } + ] + } + }, + { + "id": "limit", + "options": { + "limitField": 10 + } + } + ], + "type": "bargauge" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 67 + }, + "id": 35, + "panels": [], + "title": "Optimizer Group", + "type": "row" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 68 + }, + "id": 36, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "editorMode": "code", + "expr": "amoro_optimizer_group_planing_tables", + "instant": false, + "legendFormat": "{{group}}", + "range": true, + "refId": "A" + } + ], + "title": "Planing Table Count", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 68 + }, + "id": 39, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "editorMode": "code", + "expr": "amoro_optimizer_group_pending_tables", + "instant": false, + "legendFormat": "{{group}}", + "range": true, + "refId": "A" + } + ], + "title": "Pending Table Count", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 68 + }, + "id": 38, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "editorMode": "code", + "expr": "amoro_optimizer_group_executing_tables", + "instant": false, + "legendFormat": "{{group}}", + "range": true, + "refId": "A" + } + ], + "title": "Executing Table Count", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 76 + }, + "id": 37, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "editorMode": "code", + "expr": "amoro_optimizer_group_pending_tasks", + "instant": false, + "legendFormat": "{{group}}", + "range": true, + "refId": "A" + } + ], + "title": "Pending Task Count", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green" + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unitScale": true + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 76 + }, + "id": 40, + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "editorMode": "code", + "expr": "amoro_optimizer_group_executing_tasks", + "instant": false, + "legendFormat": "{{group}}", + "range": true, + "refId": "A" + } + ], + "title": "Executing Task Count", + "type": "timeseries" + } + ], + "refresh": "5m", + "schemaVersion": 39, + "tags": [], + "templating": { + "list": [ + { + "current": { + "selected": true, + "text": "default", + "value": "default" + }, + "hide": 0, + "includeAll": false, + "label": "", + "multi": false, + "name": "Datasource", + "options": [], + "query": "prometheus", + "queryValue": "", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "definition": "label_values(amoro_table_optimizing_process_total_count_total,catalog)", + "hide": 0, + "includeAll": true, + "label": "", + "multi": true, + "name": "Catalog", + "options": [], + "query": { + "query": "label_values(amoro_table_optimizing_process_total_count_total,catalog)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, + { + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "definition": "label_values(amoro_table_optimizing_process_total_count_total{catalog=~\"$Catalog\"},database)", + "hide": 0, + "includeAll": true, + "label": "", + "multi": true, + "name": "Database", + "options": [], + "query": { + "query": "label_values(amoro_table_optimizing_process_total_count_total{catalog=~\"$Catalog\"},database)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + }, + { + "current": { + "selected": true, + "text": [ + "All" + ], + "value": [ + "$__all" + ] + }, + "datasource": { + "type": "prometheus", + "uid": "${Datasource}" + }, + "definition": "label_values(amoro_table_optimizing_process_total_count_total{catalog=~\"$Catalog\", database=~\"$Database\"},table)", + "hide": 0, + "includeAll": true, + "label": "", + "multi": true, + "name": "Table", + "options": [], + "query": { + "query": "label_values(amoro_table_optimizing_process_total_count_total{catalog=~\"$Catalog\", database=~\"$Database\"},table)", + "refId": "PrometheusVariableQueryEditor-VariableQuery" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "type": "query" + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "hidden": false + }, + "timezone": "", + "title": "Amoro Metrics Dashboard", + "uid": "f09370a2-8bbd-46e8-a50e-534db38f36e9", + "version": 2, + "weekStart": "" +} \ No newline at end of file From f95106c03add06f2cf76dcf0dbfeb535c5cd8558 Mon Sep 17 00:00:00 2001 From: ZhouJinsong Date: Fri, 30 Aug 2024 16:23:48 +0800 Subject: [PATCH 02/18] [Hotfix] Fix some compile errors (#3148) * Fix some compile errors * Fix compile errors in test codes --- .../amoro/server/table/TableSummaryMetrics.java | 12 ++++++------ .../amoro/server/table/TestTableSummaryMetrics.java | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/table/TableSummaryMetrics.java b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/table/TableSummaryMetrics.java index cf476c10ca..5cd16e26fb 100644 --- a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/table/TableSummaryMetrics.java +++ b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/table/TableSummaryMetrics.java @@ -18,13 +18,13 @@ package org.apache.amoro.server.table; -import static org.apache.amoro.api.metrics.MetricDefine.defineGauge; +import static org.apache.amoro.metrics.MetricDefine.defineGauge; -import org.apache.amoro.api.ServerTableIdentifier; -import org.apache.amoro.api.metrics.Gauge; -import org.apache.amoro.api.metrics.Metric; -import org.apache.amoro.api.metrics.MetricDefine; -import org.apache.amoro.api.metrics.MetricKey; +import org.apache.amoro.ServerTableIdentifier; +import org.apache.amoro.metrics.Gauge; +import org.apache.amoro.metrics.Metric; +import org.apache.amoro.metrics.MetricDefine; +import org.apache.amoro.metrics.MetricKey; import org.apache.amoro.server.metrics.MetricRegistry; import org.apache.amoro.server.optimizing.plan.OptimizingEvaluator; import org.apache.amoro.shade.guava32.com.google.common.collect.ImmutableMap; diff --git a/amoro-ams/amoro-ams-server/src/test/java/org/apache/amoro/server/table/TestTableSummaryMetrics.java b/amoro-ams/amoro-ams-server/src/test/java/org/apache/amoro/server/table/TestTableSummaryMetrics.java index f3b4f20dca..1b4632b29c 100644 --- a/amoro-ams/amoro-ams-server/src/test/java/org/apache/amoro/server/table/TestTableSummaryMetrics.java +++ b/amoro-ams/amoro-ams-server/src/test/java/org/apache/amoro/server/table/TestTableSummaryMetrics.java @@ -33,16 +33,16 @@ import static org.apache.amoro.server.table.TableSummaryMetrics.TABLE_SUMMARY_TOTAL_RECORDS; import org.apache.amoro.BasicTableTestHelper; +import org.apache.amoro.ServerTableIdentifier; import org.apache.amoro.TableFormat; import org.apache.amoro.TableTestHelper; -import org.apache.amoro.api.ServerTableIdentifier; -import org.apache.amoro.api.metrics.Gauge; -import org.apache.amoro.api.metrics.Metric; -import org.apache.amoro.api.metrics.MetricDefine; -import org.apache.amoro.api.metrics.MetricKey; import org.apache.amoro.catalog.BasicCatalogTestHelper; import org.apache.amoro.catalog.CatalogTestHelper; import org.apache.amoro.io.MixedDataTestHelpers; +import org.apache.amoro.metrics.Gauge; +import org.apache.amoro.metrics.Metric; +import org.apache.amoro.metrics.MetricDefine; +import org.apache.amoro.metrics.MetricKey; import org.apache.amoro.server.manager.MetricManager; import org.apache.amoro.server.optimizing.OptimizingTestHelpers; import org.apache.amoro.server.table.executor.TableRuntimeRefreshExecutor; From 63eb99baa62e5e8a99df03c4a6a416d114bd79bf Mon Sep 17 00:00:00 2001 From: baiyangtx Date: Fri, 30 Aug 2024 16:24:04 +0800 Subject: [PATCH 03/18] [Improvement]: Add an AMS configuration property to skip table creation when AMS startup (#3144) * skip tables creation * skip tables creation --- .../amoro/server/AmoroManagementConf.java | 6 ++++++ .../SqlSessionFactoryProvider.java | 20 ++++++++++++++++--- .../dist/src/main/amoro-bin/conf/config.yaml | 2 ++ docs/admin-guides/deployment.md | 4 ++++ 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/AmoroManagementConf.java b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/AmoroManagementConf.java index b63c132462..871ab5bc9a 100644 --- a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/AmoroManagementConf.java +++ b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/AmoroManagementConf.java @@ -260,6 +260,12 @@ public class AmoroManagementConf { .defaultValue("jdbc:derby:/tmp/amoro/derby;create=true") .withDescription("Database connection address"); + public static final ConfigOption DB_AUTO_CREATE_TABLES = + ConfigOptions.key("database.auto-create-tables") + .booleanType() + .defaultValue(true) + .withDescription("Auto init table schema when started"); + public static final ConfigOption DB_DRIVER_CLASS_NAME = ConfigOptions.key("database.jdbc-driver-class") .stringType() diff --git a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/persistence/SqlSessionFactoryProvider.java b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/persistence/SqlSessionFactoryProvider.java index 2230e0f767..6a59d34a8b 100644 --- a/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/persistence/SqlSessionFactoryProvider.java +++ b/amoro-ams/amoro-ams-server/src/main/java/org/apache/amoro/server/persistence/SqlSessionFactoryProvider.java @@ -40,6 +40,8 @@ import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.apache.ibatis.transaction.TransactionFactory; import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.InputStreamReader; import java.net.URI; @@ -47,6 +49,7 @@ import java.net.URL; import java.nio.charset.StandardCharsets; import java.nio.file.Files; +import java.nio.file.Path; import java.nio.file.Paths; import java.sql.Connection; import java.sql.ResultSet; @@ -54,6 +57,7 @@ import java.time.Duration; public class SqlSessionFactoryProvider { + private static final Logger LOG = LoggerFactory.getLogger(SqlSessionFactoryProvider.class); private static final String DERBY_INIT_SQL_SCRIPT = "derby/ams-derby-init.sql"; private static final String MYSQL_INIT_SQL_SCRIPT = "mysql/ams-mysql-init.sql"; @@ -123,8 +127,14 @@ public void init(Configurations config) { * @param config */ private void createTablesIfNeed(Configurations config) { + boolean initSchema = config.getBoolean(AmoroManagementConf.DB_AUTO_CREATE_TABLES); + if (!initSchema) { + LOG.info("Skip auto create tables due to configuration"); + return; + } String dbTypeConfig = config.getString(AmoroManagementConf.DB_TYPE); String query = ""; + LOG.info("Start create tables, database type:{}", dbTypeConfig); try (SqlSession sqlSession = get().openSession(true); Connection connection = sqlSession.getConnection(); @@ -142,13 +152,17 @@ private void createTablesIfNeed(Configurations config) { "SELECT 1 FROM information_schema.tables WHERE table_schema = %s AND table_name = '%s'", "current_schema()", "catalog_metadata"); } + LOG.info("Start check table creation, using query: {}", query); try (ResultSet rs = statement.executeQuery(query)) { if (!rs.next()) { + Path script = Paths.get(getInitSqlScriptPath(dbTypeConfig)); + LOG.info("Table not exists, start run create tables script file:{}", script); ScriptRunner runner = new ScriptRunner(connection); runner.runScript( - new InputStreamReader( - Files.newInputStream(Paths.get(getInitSqlScriptPath(dbTypeConfig))), - StandardCharsets.UTF_8)); + new InputStreamReader(Files.newInputStream(script), StandardCharsets.UTF_8)); + LOG.info("Tables are created successfully"); + } else { + LOG.info("Tables are created, skip auto create tables."); } } } catch (Exception e) { diff --git a/amoro-ams/dist/src/main/amoro-bin/conf/config.yaml b/amoro-ams/dist/src/main/amoro-bin/conf/config.yaml index f77917c32f..d16027c349 100644 --- a/amoro-ams/dist/src/main/amoro-bin/conf/config.yaml +++ b/amoro-ams/dist/src/main/amoro-bin/conf/config.yaml @@ -103,6 +103,7 @@ ams: # url: jdbc:mysql://127.0.0.1:3306/db?useUnicode=true&characterEncoding=UTF8&autoReconnect=true&useAffectedRows=true&allowPublicKeyRetrieval=true&useSSL=false # username: root # password: root +# auto-create-tables: true # connection-pool-max-total: 20 # connection-pool-max-idle: 16 # connection-pool-max-wait-millis: 1000 @@ -114,6 +115,7 @@ ams: # url: jdbc:postgresql://127.0.0.1:5432/db # username: user # password: passwd +# auto-create-tables: true # connection-pool-max-total: 20 # connection-pool-max-idle: 16 # connection-pool-max-wait-millis: 1000 diff --git a/docs/admin-guides/deployment.md b/docs/admin-guides/deployment.md index 8404f4ec8f..30fb903fad 100644 --- a/docs/admin-guides/deployment.md +++ b/docs/admin-guides/deployment.md @@ -111,6 +111,8 @@ $ mv mysql-connector-java-${MYSQL_JDBC_DRIVER_VERSION}.jar lib ``` Create an empty database in MySQL/PostgreSQL, then AMS will automatically create tables in this MySQL/PostgreSQL database when it first started. +If you want to create tables on yourself, set `ams.database.auto-create-tables` to false. + One thing you need to do is Adding MySQL/PostgreSQL configuration under `config.yaml` of Ams: @@ -123,12 +125,14 @@ ams: url: jdbc:mysql://127.0.0.1:3306/amoro?useUnicode=true&characterEncoding=UTF8&autoReconnect=true&useAffectedRows=true&allowPublicKeyRetrieval=true&useSSL=false username: root password: root + auto-create-tables: true # PostgreSQL #ams: # database: # type: postgres # jdbc-driver-class: org.postgresql.Driver # url: jdbc:postgresql://127.0.0.1:5432/amoro +# auto-create-tables: false # username: user # password: passwd ``` From 9110716e0d69f1c15fcb83e47799d79525b7d0e8 Mon Sep 17 00:00:00 2001 From: majin1102 Date: Sat, 31 Aug 2024 12:09:56 +0800 Subject: [PATCH 04/18] [AMORO-3146] Pull amoro-ams-dashboard out of ams-ams as amoro-web (#3147) * Pull amoro-ams-dashboard out of ams as ams-admin * Remove amoro-ams-dashboard module * Modify name to amoro-web * Modify outer pom names * remove node under amoro-web * Modify gitignore of outer module * Add .ignore under amoro-web and remove src/main folder --------- Co-authored-by: majin.nathan Co-authored-by: baiyangtx --- .github/labeler.yml | 2 +- .gitignore | 4 +-- amoro-ams/amoro-ams-server/pom.xml | 2 +- amoro-ams/pom.xml | 1 - .../.browserslistrc | 0 .../.gitignore | 2 +- .../.vscode/extensions.json | 0 .../.vscode/settings.json | 0 .../README.md | 30 +++++++++--------- .../eslint.config.mjs | 0 .../index.html | 0 .../license.node.js | 0 .../licenses/LICENSE-@ant-design-icons-vue | 0 .../licenses/LICENSE-@antfu-eslint-config | 0 .../licenses/LICENSE-@tsconfig-node18 | 0 .../licenses/LICENSE-@types-node | 0 .../licenses/LICENSE-@vitejs-plugin-vue | 0 .../licenses/LICENSE-ant-design-vue | 0 .../licenses/LICENSE-axios | 0 .../licenses/LICENSE-babel | 0 .../licenses/LICENSE-dayjs | 0 .../licenses/LICENSE-echarts | 0 .../licenses/LICENSE-eslint | 0 .../licenses/LICENSE-less | 0 .../licenses/LICENSE-mockjs | 0 .../licenses/LICENSE-monaco-editor | 0 .../licenses/LICENSE-pinia | 0 .../licenses/LICENSE-qs | 0 .../licenses/LICENSE-sql-formatter | 0 .../licenses/LICENSE-typescript | 0 .../licenses/LICENSE-unplugin-auto-import | 0 .../licenses/LICENSE-unplugin-vue-components | 0 .../licenses/LICENSE-vite | 0 .../licenses/LICENSE-vite-plugin-fake-server | 0 .../licenses/LICENSE-vite-plugin-svg-icons | 0 .../licenses/LICENSE-vue | 0 .../licenses/LICENSE-vue-clipboard3 | 0 .../licenses/LICENSE-vue-draggable-plus | 0 .../licenses/LICENSE-vue-i18n | 0 .../licenses/LICENSE-vue-router | 0 .../licenses/LICENSE-vue-tsc | 0 .../mock/index.js | 0 .../mock/modules/catalogs.js | 0 .../mock/modules/common.js | 0 .../mock/modules/database.js | 0 .../mock/modules/db.js | 0 .../mock/modules/optimize.js | 0 .../mock/modules/overview.js | 0 .../mock/modules/settings.js | 0 .../mock/modules/table.js | 0 .../mock/modules/terminal.js | 0 .../package.json | 0 .../pnpm-lock.yaml | 0 .../amoro-ams-dashboard => amoro-web}/pom.xml | 6 ++-- .../public/favicon-bak.ico | Bin .../public/favicon.ico | Bin .../src/.gitkeep | 0 .../src/App.vue | 0 .../src/assets/icons/index.ts | 0 .../src/assets/icons/svg/amoro.svg | 0 .../src/assets/icons/svg/arctic.svg | 0 .../src/assets/icons/svg/branch.svg | 0 .../src/assets/icons/svg/catalogs.svg | 0 .../src/assets/icons/svg/database.svg | 0 .../src/assets/icons/svg/format.svg | 0 .../src/assets/icons/svg/hive.svg | 0 .../src/assets/icons/svg/hudi.svg | 0 .../src/assets/icons/svg/iceberg.svg | 0 .../src/assets/icons/svg/optimizers.svg | 0 .../src/assets/icons/svg/optimizing.svg | 0 .../src/assets/icons/svg/overview.svg | 0 .../src/assets/icons/svg/paimon.svg | 0 .../src/assets/icons/svg/settings.svg | 0 .../src/assets/icons/svg/slide.svg | 0 .../src/assets/icons/svg/sqldebug.svg | 0 .../src/assets/icons/svg/sqlinit.svg | 0 .../src/assets/icons/svg/sqlmax.svg | 0 .../src/assets/icons/svg/sqlpause.svg | 0 .../src/assets/icons/svg/tables.svg | 0 .../src/assets/icons/svg/tag.svg | 0 .../src/assets/icons/svg/terminal.svg | 0 .../src/assets/images/Catalog-Service.png | Bin .../images/Infrastructure-Idependent.png | Bin .../src/assets/images/Management-tools.png | Bin .../src/assets/images/Multiple-Formats.png | Bin .../src/assets/images/Rich-Plugins.png | Bin .../src/assets/images/Self-managed.png | Bin .../src/assets/images/arctic-dashboard.svg | 0 .../src/assets/images/arctic-dashboard1.svg | 0 .../src/assets/images/arctic-introduce.png | Bin .../src/assets/images/home-content.png | Bin .../src/assets/images/introduce_arctic.png | Bin .../src/assets/images/item-icon.png | Bin .../src/assets/images/logo-all1.svg | 0 .../src/assets/images/logo.svg | 0 .../src/assets/images/logo1.svg | 0 .../src/assets/images/logo2.svg | 0 .../src/components/Layout.vue | 0 .../src/components/Sidebar.vue | 0 .../src/components/Topbar.vue | 0 .../src/components/VirtualRecycleScroller.vue | 0 .../src/components/echarts/Chart.vue | 0 .../src/components/echarts/index.ts | 0 .../src/components/loading/index.ts | 0 .../src/components/loading/loading.vue | 0 .../src/components/register.ts | 0 .../components/sql-editor/editor-config.ts | 0 .../src/components/sql-editor/index.vue | 0 .../src/components/svg-icon.vue | 0 .../components/tables-sub-menu/CreateDB.vue | 0 .../components/tables-sub-menu/TablesMenu.vue | 0 .../src/hooks/usePagination.ts | 0 .../src/hooks/usePlaceholder.ts | 0 .../src/language/datetimeFormats.ts | 0 .../src/language/en.ts | 0 .../src/language/i18n.ts | 0 .../src/language/index.ts | 0 .../src/language/zh.ts | 0 .../src/main.ts | 0 .../src/router/index.ts | 0 .../src/services/global.service.ts | 0 .../src/services/login.service.ts | 0 .../src/services/optimize.service.ts | 0 .../src/services/setting.services.ts | 0 .../src/services/table.service.ts | 0 .../src/services/terminal.service.ts | 0 .../src/shims-vue.d.ts | 0 .../src/store/index.ts | 0 .../src/styles/ant-design.less | 0 .../src/styles/global.less | 0 .../src/styles/index.less | 0 .../src/styles/reset.less | 0 .../src/types/common.type.ts | 0 .../src/utils/chart.ts | 0 .../src/utils/editor.ts | 0 .../src/utils/index.ts | 0 .../src/utils/request.ts | 0 .../src/utils/sql.ts | 0 .../src/views/404.vue | 0 .../src/views/Home.vue | 0 .../src/views/catalogs/Detail.vue | 0 .../src/views/catalogs/Properties.vue | 0 .../src/views/catalogs/index.vue | 0 .../views/hive-details/components/Details.vue | 0 .../hive-details/components/ErrorMsg.vue | 0 .../views/hive-details/components/Field.vue | 0 .../hive-details/components/Partition.vue | 0 .../hive-details/components/Properties.vue | 0 .../src/views/hive-details/index.vue | 0 .../src/views/hive-details/upgrade.vue | 0 .../src/views/introduce/index-bakl.vue | 0 .../src/views/introduce/index.vue | 0 .../src/views/login/index.vue | 0 .../src/views/optimize/components/List.vue | 0 .../views/optimize/components/ScaleOut.vue | 0 .../src/views/optimize/index.vue | 0 .../views/resource/components/GroupModal.vue | 0 .../src/views/resource/components/List.vue | 0 .../views/resource/components/ScaleOut.vue | 0 .../src/views/resource/index.vue | 0 .../src/views/settings/index.vue | 0 .../src/views/tables/components/Details.vue | 0 .../src/views/tables/components/Files.vue | 0 .../views/tables/components/Operations.vue | 0 .../views/tables/components/Optimizing.vue | 0 .../src/views/tables/components/Selector.vue | 0 .../src/views/tables/components/Snapshots.vue | 0 .../src/views/tables/create.vue | 0 .../src/views/tables/index.vue | 0 .../src/views/terminal/components/sql-log.vue | 0 .../views/terminal/components/sql-result.vue | 0 .../src/views/terminal/index.vue | 0 .../src/vite-env.d.ts | 0 .../tsconfig.json | 0 .../tsconfig.node.json | 0 .../vite.config.ts | 0 pom.xml | 1 + 177 files changed, 24 insertions(+), 24 deletions(-) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/.browserslistrc (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/.gitignore (98%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/.vscode/extensions.json (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/.vscode/settings.json (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/README.md (59%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/eslint.config.mjs (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/index.html (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/license.node.js (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-@ant-design-icons-vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-@antfu-eslint-config (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-@tsconfig-node18 (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-@types-node (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-@vitejs-plugin-vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-ant-design-vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-axios (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-babel (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-dayjs (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-echarts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-eslint (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-less (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-mockjs (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-monaco-editor (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-pinia (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-qs (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-sql-formatter (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-typescript (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-unplugin-auto-import (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-unplugin-vue-components (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-vite (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-vite-plugin-fake-server (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-vite-plugin-svg-icons (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-vue-clipboard3 (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-vue-draggable-plus (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-vue-i18n (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-vue-router (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/licenses/LICENSE-vue-tsc (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/mock/index.js (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/mock/modules/catalogs.js (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/mock/modules/common.js (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/mock/modules/database.js (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/mock/modules/db.js (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/mock/modules/optimize.js (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/mock/modules/overview.js (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/mock/modules/settings.js (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/mock/modules/table.js (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/mock/modules/terminal.js (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/package.json (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/pnpm-lock.yaml (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/pom.xml (97%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/public/favicon-bak.ico (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/public/favicon.ico (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/.gitkeep (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/App.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/index.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/amoro.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/arctic.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/branch.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/catalogs.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/database.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/format.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/hive.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/hudi.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/iceberg.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/optimizers.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/optimizing.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/overview.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/paimon.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/settings.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/slide.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/sqldebug.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/sqlinit.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/sqlmax.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/sqlpause.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/tables.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/tag.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/icons/svg/terminal.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/Catalog-Service.png (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/Infrastructure-Idependent.png (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/Management-tools.png (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/Multiple-Formats.png (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/Rich-Plugins.png (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/Self-managed.png (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/arctic-dashboard.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/arctic-dashboard1.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/arctic-introduce.png (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/home-content.png (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/introduce_arctic.png (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/item-icon.png (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/logo-all1.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/logo.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/logo1.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/assets/images/logo2.svg (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/Layout.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/Sidebar.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/Topbar.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/VirtualRecycleScroller.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/echarts/Chart.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/echarts/index.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/loading/index.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/loading/loading.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/register.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/sql-editor/editor-config.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/sql-editor/index.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/svg-icon.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/tables-sub-menu/CreateDB.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/components/tables-sub-menu/TablesMenu.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/hooks/usePagination.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/hooks/usePlaceholder.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/language/datetimeFormats.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/language/en.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/language/i18n.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/language/index.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/language/zh.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/main.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/router/index.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/services/global.service.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/services/login.service.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/services/optimize.service.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/services/setting.services.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/services/table.service.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/services/terminal.service.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/shims-vue.d.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/store/index.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/styles/ant-design.less (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/styles/global.less (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/styles/index.less (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/styles/reset.less (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/types/common.type.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/utils/chart.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/utils/editor.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/utils/index.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/utils/request.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/utils/sql.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/404.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/Home.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/catalogs/Detail.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/catalogs/Properties.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/catalogs/index.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/hive-details/components/Details.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/hive-details/components/ErrorMsg.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/hive-details/components/Field.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/hive-details/components/Partition.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/hive-details/components/Properties.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/hive-details/index.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/hive-details/upgrade.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/introduce/index-bakl.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/introduce/index.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/login/index.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/optimize/components/List.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/optimize/components/ScaleOut.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/optimize/index.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/resource/components/GroupModal.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/resource/components/List.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/resource/components/ScaleOut.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/resource/index.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/settings/index.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/tables/components/Details.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/tables/components/Files.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/tables/components/Operations.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/tables/components/Optimizing.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/tables/components/Selector.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/tables/components/Snapshots.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/tables/create.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/tables/index.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/terminal/components/sql-log.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/terminal/components/sql-result.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/views/terminal/index.vue (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/src/vite-env.d.ts (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/tsconfig.json (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/tsconfig.node.json (100%) rename {amoro-ams/amoro-ams-dashboard => amoro-web}/vite.config.ts (100%) diff --git a/.github/labeler.yml b/.github/labeler.yml index 3dc6b3bfca..d2eb2a195b 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -48,7 +48,7 @@ - "amoro-ams/amoro-ams-server/**/*" "module:ams-dashboard": - - "amoro-ams/amoro-ams-dashboard/**/*" + - "amoro-web/**/*" "module:ams-optimizer": - "amoro-ams/amoro-ams-optimizer/**/*" diff --git a/.gitignore b/.gitignore index aef8ddf7c1..e7a2dc3208 100644 --- a/.gitignore +++ b/.gitignore @@ -67,8 +67,8 @@ conf/ *.tgz # dashboard static resources -amoro-ams/amoro-ams-dashboard/src/main/resources/static/ -amoro-ams/amoro-ams-dashboard/node/ +amoro-web/src/main/resources/static/ +amoro-web/node/ !amoro-ams/dist/src/main/amoro-bin/bin/ !amoro-ams/dist/src/main/amoro-bin/conf/ diff --git a/amoro-ams/amoro-ams-server/pom.xml b/amoro-ams/amoro-ams-server/pom.xml index 055cc7cbc3..a959d6d567 100644 --- a/amoro-ams/amoro-ams-server/pom.xml +++ b/amoro-ams/amoro-ams-server/pom.xml @@ -53,7 +53,7 @@ org.apache.amoro - amoro-ams-dashboard + amoro-web ${project.version} diff --git a/amoro-ams/pom.xml b/amoro-ams/pom.xml index 687e3522a5..71e10b3344 100644 --- a/amoro-ams/pom.xml +++ b/amoro-ams/pom.xml @@ -34,7 +34,6 @@ amoro-ams-server - amoro-ams-dashboard amoro-ams-optimizer amoro-ams-metrics dist diff --git a/amoro-ams/amoro-ams-dashboard/.browserslistrc b/amoro-web/.browserslistrc similarity index 100% rename from amoro-ams/amoro-ams-dashboard/.browserslistrc rename to amoro-web/.browserslistrc diff --git a/amoro-ams/amoro-ams-dashboard/.gitignore b/amoro-web/.gitignore similarity index 98% rename from amoro-ams/amoro-ams-dashboard/.gitignore rename to amoro-web/.gitignore index ec77c991fd..048e3df987 100644 --- a/amoro-ams/amoro-ams-dashboard/.gitignore +++ b/amoro-web/.gitignore @@ -50,4 +50,4 @@ node_modules .env.local .env.*.local -components.d.ts +components.d.ts \ No newline at end of file diff --git a/amoro-ams/amoro-ams-dashboard/.vscode/extensions.json b/amoro-web/.vscode/extensions.json similarity index 100% rename from amoro-ams/amoro-ams-dashboard/.vscode/extensions.json rename to amoro-web/.vscode/extensions.json diff --git a/amoro-ams/amoro-ams-dashboard/.vscode/settings.json b/amoro-web/.vscode/settings.json similarity index 100% rename from amoro-ams/amoro-ams-dashboard/.vscode/settings.json rename to amoro-web/.vscode/settings.json diff --git a/amoro-ams/amoro-ams-dashboard/README.md b/amoro-web/README.md similarity index 59% rename from amoro-ams/amoro-ams-dashboard/README.md rename to amoro-web/README.md index eb01e6ed52..217a540b05 100644 --- a/amoro-ams/amoro-ams-dashboard/README.md +++ b/amoro-web/README.md @@ -25,7 +25,7 @@ This is the Dashboard frontend for Amoro Management Service (AMS). ## Installing Dependencies -In the `amoro-ams/amoro-ams-dashboard` directory, run `pnpm install` to install all the dependencies. +In the `amoro-web` directory, run `pnpm install` to install all the dependencies. ## Running Locally @@ -35,13 +35,13 @@ After completing the [Installing Dependencies](#Installing Dependencies) step, y If You are a frontend developer -In the `amoro-ams/amoro-ams-dashboard` directory, run `pnpm dev:mock` to start a development server for the dashboard app at `http://127.0.0.1:8080`. +In the `amoro-web` directory, run `pnpm dev:mock` to start a development server for the dashboard app at `http://127.0.0.1:8080`. If You not. You just running `pnpm dev` ### Configure the ams Server to connect to -1. open the `vite.config.ts` under the folder `amoro-ams/amoro-ams-dashboard` +1. open the `vite.config.ts` under the folder `amoro-web` 2. find the `proxy` configuration then unpack annotations and change the `target` to you server location @@ -69,12 +69,12 @@ proxy: { ## Building Project -In the `amoro-ams/amoro-ams-dashboard` directory, run `pnpm build` to prepare the dashboard for deployment. +In the `amoro-web` directory, run `pnpm build` to prepare the dashboard for deployment. ## Top Level Directory Structure ``` -amoro-ams/amoro-ams-dashboard +amoro-web |-- mock |-- public |-- src @@ -91,13 +91,13 @@ amoro-ams/amoro-ams-dashboard |-- pnpm-lock ``` -- [public](amoro-ams/amoro-ams-dashboard/public): The index.html and favicon.ico of this project. -- [src](amoro-ams/amoro-ams-dashboard/src): The source files of this project. - - [src/components](amoro-ams/amoro-ams-dashboard/src/components): All the shared components in the repo, can be used in all views. - - [src/views](amoro-ams/amoro-ams-dashboard/src/views): All the views. - - [src/services](amoro-ams/amoro-ams-dashboard/src/services): The services for the feature component to communicate with ams server. - - [src/utils](amoro-ams/amoro-ams-dashboard/src/utils): The utility functions in this project. - - [src/App.vue](amoro-ams/amoro-ams-dashboard/src/main.tsx): The entrance of this project. -- [vite.config.ts](/amoro-ams/amoro-ams-dashboard/vite.config.ts): The configuration file of vue3. -- [package.json](amoro-ams/amoro-ams-dashboard/package.json): The project build files and package management, it defines the scripts/tasks and the dependent packages for this project. -- [pnpm-lock.yaml](amoro-ams/amoro-ams-dashboard/pnpm-lock.yaml): The package management pnpm lock file. +- [public](amoro-web/public): The index.html and favicon.ico of this project. +- [src](amoro-web/src): The source files of this project. + - [src/components](amoro-web/src/components): All the shared components in the repo, can be used in all views. + - [src/views](amoro-web/src/views): All the views. + - [src/services](amoro-web/src/services): The services for the feature component to communicate with ams server. + - [src/utils](amoro-web/src/utils): The utility functions in this project. + - [src/App.vue](amoro-web/src/main.tsx): The entrance of this project. +- [vite.config.ts](/amoro-web/vite.config.ts): The configuration file of vue3. +- [package.json](amoro-web/package.json): The project build files and package management, it defines the scripts/tasks and the dependent packages for this project. +- [pnpm-lock.yaml](amoro-web/pnpm-lock.yaml): The package management pnpm lock file. diff --git a/amoro-ams/amoro-ams-dashboard/eslint.config.mjs b/amoro-web/eslint.config.mjs similarity index 100% rename from amoro-ams/amoro-ams-dashboard/eslint.config.mjs rename to amoro-web/eslint.config.mjs diff --git a/amoro-ams/amoro-ams-dashboard/index.html b/amoro-web/index.html similarity index 100% rename from amoro-ams/amoro-ams-dashboard/index.html rename to amoro-web/index.html diff --git a/amoro-ams/amoro-ams-dashboard/license.node.js b/amoro-web/license.node.js similarity index 100% rename from amoro-ams/amoro-ams-dashboard/license.node.js rename to amoro-web/license.node.js diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-@ant-design-icons-vue b/amoro-web/licenses/LICENSE-@ant-design-icons-vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-@ant-design-icons-vue rename to amoro-web/licenses/LICENSE-@ant-design-icons-vue diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-@antfu-eslint-config b/amoro-web/licenses/LICENSE-@antfu-eslint-config similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-@antfu-eslint-config rename to amoro-web/licenses/LICENSE-@antfu-eslint-config diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-@tsconfig-node18 b/amoro-web/licenses/LICENSE-@tsconfig-node18 similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-@tsconfig-node18 rename to amoro-web/licenses/LICENSE-@tsconfig-node18 diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-@types-node b/amoro-web/licenses/LICENSE-@types-node similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-@types-node rename to amoro-web/licenses/LICENSE-@types-node diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-@vitejs-plugin-vue b/amoro-web/licenses/LICENSE-@vitejs-plugin-vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-@vitejs-plugin-vue rename to amoro-web/licenses/LICENSE-@vitejs-plugin-vue diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-ant-design-vue b/amoro-web/licenses/LICENSE-ant-design-vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-ant-design-vue rename to amoro-web/licenses/LICENSE-ant-design-vue diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-axios b/amoro-web/licenses/LICENSE-axios similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-axios rename to amoro-web/licenses/LICENSE-axios diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-babel b/amoro-web/licenses/LICENSE-babel similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-babel rename to amoro-web/licenses/LICENSE-babel diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-dayjs b/amoro-web/licenses/LICENSE-dayjs similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-dayjs rename to amoro-web/licenses/LICENSE-dayjs diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-echarts b/amoro-web/licenses/LICENSE-echarts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-echarts rename to amoro-web/licenses/LICENSE-echarts diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-eslint b/amoro-web/licenses/LICENSE-eslint similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-eslint rename to amoro-web/licenses/LICENSE-eslint diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-less b/amoro-web/licenses/LICENSE-less similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-less rename to amoro-web/licenses/LICENSE-less diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-mockjs b/amoro-web/licenses/LICENSE-mockjs similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-mockjs rename to amoro-web/licenses/LICENSE-mockjs diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-monaco-editor b/amoro-web/licenses/LICENSE-monaco-editor similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-monaco-editor rename to amoro-web/licenses/LICENSE-monaco-editor diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-pinia b/amoro-web/licenses/LICENSE-pinia similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-pinia rename to amoro-web/licenses/LICENSE-pinia diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-qs b/amoro-web/licenses/LICENSE-qs similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-qs rename to amoro-web/licenses/LICENSE-qs diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-sql-formatter b/amoro-web/licenses/LICENSE-sql-formatter similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-sql-formatter rename to amoro-web/licenses/LICENSE-sql-formatter diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-typescript b/amoro-web/licenses/LICENSE-typescript similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-typescript rename to amoro-web/licenses/LICENSE-typescript diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-unplugin-auto-import b/amoro-web/licenses/LICENSE-unplugin-auto-import similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-unplugin-auto-import rename to amoro-web/licenses/LICENSE-unplugin-auto-import diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-unplugin-vue-components b/amoro-web/licenses/LICENSE-unplugin-vue-components similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-unplugin-vue-components rename to amoro-web/licenses/LICENSE-unplugin-vue-components diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vite b/amoro-web/licenses/LICENSE-vite similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vite rename to amoro-web/licenses/LICENSE-vite diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vite-plugin-fake-server b/amoro-web/licenses/LICENSE-vite-plugin-fake-server similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vite-plugin-fake-server rename to amoro-web/licenses/LICENSE-vite-plugin-fake-server diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vite-plugin-svg-icons b/amoro-web/licenses/LICENSE-vite-plugin-svg-icons similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vite-plugin-svg-icons rename to amoro-web/licenses/LICENSE-vite-plugin-svg-icons diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vue b/amoro-web/licenses/LICENSE-vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vue rename to amoro-web/licenses/LICENSE-vue diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vue-clipboard3 b/amoro-web/licenses/LICENSE-vue-clipboard3 similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vue-clipboard3 rename to amoro-web/licenses/LICENSE-vue-clipboard3 diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vue-draggable-plus b/amoro-web/licenses/LICENSE-vue-draggable-plus similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vue-draggable-plus rename to amoro-web/licenses/LICENSE-vue-draggable-plus diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vue-i18n b/amoro-web/licenses/LICENSE-vue-i18n similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vue-i18n rename to amoro-web/licenses/LICENSE-vue-i18n diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vue-router b/amoro-web/licenses/LICENSE-vue-router similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vue-router rename to amoro-web/licenses/LICENSE-vue-router diff --git a/amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vue-tsc b/amoro-web/licenses/LICENSE-vue-tsc similarity index 100% rename from amoro-ams/amoro-ams-dashboard/licenses/LICENSE-vue-tsc rename to amoro-web/licenses/LICENSE-vue-tsc diff --git a/amoro-ams/amoro-ams-dashboard/mock/index.js b/amoro-web/mock/index.js similarity index 100% rename from amoro-ams/amoro-ams-dashboard/mock/index.js rename to amoro-web/mock/index.js diff --git a/amoro-ams/amoro-ams-dashboard/mock/modules/catalogs.js b/amoro-web/mock/modules/catalogs.js similarity index 100% rename from amoro-ams/amoro-ams-dashboard/mock/modules/catalogs.js rename to amoro-web/mock/modules/catalogs.js diff --git a/amoro-ams/amoro-ams-dashboard/mock/modules/common.js b/amoro-web/mock/modules/common.js similarity index 100% rename from amoro-ams/amoro-ams-dashboard/mock/modules/common.js rename to amoro-web/mock/modules/common.js diff --git a/amoro-ams/amoro-ams-dashboard/mock/modules/database.js b/amoro-web/mock/modules/database.js similarity index 100% rename from amoro-ams/amoro-ams-dashboard/mock/modules/database.js rename to amoro-web/mock/modules/database.js diff --git a/amoro-ams/amoro-ams-dashboard/mock/modules/db.js b/amoro-web/mock/modules/db.js similarity index 100% rename from amoro-ams/amoro-ams-dashboard/mock/modules/db.js rename to amoro-web/mock/modules/db.js diff --git a/amoro-ams/amoro-ams-dashboard/mock/modules/optimize.js b/amoro-web/mock/modules/optimize.js similarity index 100% rename from amoro-ams/amoro-ams-dashboard/mock/modules/optimize.js rename to amoro-web/mock/modules/optimize.js diff --git a/amoro-ams/amoro-ams-dashboard/mock/modules/overview.js b/amoro-web/mock/modules/overview.js similarity index 100% rename from amoro-ams/amoro-ams-dashboard/mock/modules/overview.js rename to amoro-web/mock/modules/overview.js diff --git a/amoro-ams/amoro-ams-dashboard/mock/modules/settings.js b/amoro-web/mock/modules/settings.js similarity index 100% rename from amoro-ams/amoro-ams-dashboard/mock/modules/settings.js rename to amoro-web/mock/modules/settings.js diff --git a/amoro-ams/amoro-ams-dashboard/mock/modules/table.js b/amoro-web/mock/modules/table.js similarity index 100% rename from amoro-ams/amoro-ams-dashboard/mock/modules/table.js rename to amoro-web/mock/modules/table.js diff --git a/amoro-ams/amoro-ams-dashboard/mock/modules/terminal.js b/amoro-web/mock/modules/terminal.js similarity index 100% rename from amoro-ams/amoro-ams-dashboard/mock/modules/terminal.js rename to amoro-web/mock/modules/terminal.js diff --git a/amoro-ams/amoro-ams-dashboard/package.json b/amoro-web/package.json similarity index 100% rename from amoro-ams/amoro-ams-dashboard/package.json rename to amoro-web/package.json diff --git a/amoro-ams/amoro-ams-dashboard/pnpm-lock.yaml b/amoro-web/pnpm-lock.yaml similarity index 100% rename from amoro-ams/amoro-ams-dashboard/pnpm-lock.yaml rename to amoro-web/pnpm-lock.yaml diff --git a/amoro-ams/amoro-ams-dashboard/pom.xml b/amoro-web/pom.xml similarity index 97% rename from amoro-ams/amoro-ams-dashboard/pom.xml rename to amoro-web/pom.xml index 26129ad6b6..1c261ebf2d 100644 --- a/amoro-ams/amoro-ams-dashboard/pom.xml +++ b/amoro-web/pom.xml @@ -22,11 +22,11 @@ 4.0.0 org.apache.amoro - amoro-ams + amoro-parent 0.8-SNAPSHOT - amoro-ams-dashboard + amoro-web jar Amoro Project AMS Dashboard https://amoro.apache.org @@ -38,7 +38,7 @@ - amoro-ams-dashboard-${project.version} + amoro-web-${project.version} org.apache.maven.plugins diff --git a/amoro-ams/amoro-ams-dashboard/public/favicon-bak.ico b/amoro-web/public/favicon-bak.ico similarity index 100% rename from amoro-ams/amoro-ams-dashboard/public/favicon-bak.ico rename to amoro-web/public/favicon-bak.ico diff --git a/amoro-ams/amoro-ams-dashboard/public/favicon.ico b/amoro-web/public/favicon.ico similarity index 100% rename from amoro-ams/amoro-ams-dashboard/public/favicon.ico rename to amoro-web/public/favicon.ico diff --git a/amoro-ams/amoro-ams-dashboard/src/.gitkeep b/amoro-web/src/.gitkeep similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/.gitkeep rename to amoro-web/src/.gitkeep diff --git a/amoro-ams/amoro-ams-dashboard/src/App.vue b/amoro-web/src/App.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/App.vue rename to amoro-web/src/App.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/index.ts b/amoro-web/src/assets/icons/index.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/index.ts rename to amoro-web/src/assets/icons/index.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/amoro.svg b/amoro-web/src/assets/icons/svg/amoro.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/amoro.svg rename to amoro-web/src/assets/icons/svg/amoro.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/arctic.svg b/amoro-web/src/assets/icons/svg/arctic.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/arctic.svg rename to amoro-web/src/assets/icons/svg/arctic.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/branch.svg b/amoro-web/src/assets/icons/svg/branch.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/branch.svg rename to amoro-web/src/assets/icons/svg/branch.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/catalogs.svg b/amoro-web/src/assets/icons/svg/catalogs.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/catalogs.svg rename to amoro-web/src/assets/icons/svg/catalogs.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/database.svg b/amoro-web/src/assets/icons/svg/database.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/database.svg rename to amoro-web/src/assets/icons/svg/database.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/format.svg b/amoro-web/src/assets/icons/svg/format.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/format.svg rename to amoro-web/src/assets/icons/svg/format.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/hive.svg b/amoro-web/src/assets/icons/svg/hive.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/hive.svg rename to amoro-web/src/assets/icons/svg/hive.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/hudi.svg b/amoro-web/src/assets/icons/svg/hudi.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/hudi.svg rename to amoro-web/src/assets/icons/svg/hudi.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/iceberg.svg b/amoro-web/src/assets/icons/svg/iceberg.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/iceberg.svg rename to amoro-web/src/assets/icons/svg/iceberg.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/optimizers.svg b/amoro-web/src/assets/icons/svg/optimizers.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/optimizers.svg rename to amoro-web/src/assets/icons/svg/optimizers.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/optimizing.svg b/amoro-web/src/assets/icons/svg/optimizing.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/optimizing.svg rename to amoro-web/src/assets/icons/svg/optimizing.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/overview.svg b/amoro-web/src/assets/icons/svg/overview.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/overview.svg rename to amoro-web/src/assets/icons/svg/overview.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/paimon.svg b/amoro-web/src/assets/icons/svg/paimon.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/paimon.svg rename to amoro-web/src/assets/icons/svg/paimon.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/settings.svg b/amoro-web/src/assets/icons/svg/settings.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/settings.svg rename to amoro-web/src/assets/icons/svg/settings.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/slide.svg b/amoro-web/src/assets/icons/svg/slide.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/slide.svg rename to amoro-web/src/assets/icons/svg/slide.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/sqldebug.svg b/amoro-web/src/assets/icons/svg/sqldebug.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/sqldebug.svg rename to amoro-web/src/assets/icons/svg/sqldebug.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/sqlinit.svg b/amoro-web/src/assets/icons/svg/sqlinit.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/sqlinit.svg rename to amoro-web/src/assets/icons/svg/sqlinit.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/sqlmax.svg b/amoro-web/src/assets/icons/svg/sqlmax.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/sqlmax.svg rename to amoro-web/src/assets/icons/svg/sqlmax.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/sqlpause.svg b/amoro-web/src/assets/icons/svg/sqlpause.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/sqlpause.svg rename to amoro-web/src/assets/icons/svg/sqlpause.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/tables.svg b/amoro-web/src/assets/icons/svg/tables.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/tables.svg rename to amoro-web/src/assets/icons/svg/tables.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/tag.svg b/amoro-web/src/assets/icons/svg/tag.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/tag.svg rename to amoro-web/src/assets/icons/svg/tag.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/terminal.svg b/amoro-web/src/assets/icons/svg/terminal.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/icons/svg/terminal.svg rename to amoro-web/src/assets/icons/svg/terminal.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/Catalog-Service.png b/amoro-web/src/assets/images/Catalog-Service.png similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/Catalog-Service.png rename to amoro-web/src/assets/images/Catalog-Service.png diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/Infrastructure-Idependent.png b/amoro-web/src/assets/images/Infrastructure-Idependent.png similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/Infrastructure-Idependent.png rename to amoro-web/src/assets/images/Infrastructure-Idependent.png diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/Management-tools.png b/amoro-web/src/assets/images/Management-tools.png similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/Management-tools.png rename to amoro-web/src/assets/images/Management-tools.png diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/Multiple-Formats.png b/amoro-web/src/assets/images/Multiple-Formats.png similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/Multiple-Formats.png rename to amoro-web/src/assets/images/Multiple-Formats.png diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/Rich-Plugins.png b/amoro-web/src/assets/images/Rich-Plugins.png similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/Rich-Plugins.png rename to amoro-web/src/assets/images/Rich-Plugins.png diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/Self-managed.png b/amoro-web/src/assets/images/Self-managed.png similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/Self-managed.png rename to amoro-web/src/assets/images/Self-managed.png diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/arctic-dashboard.svg b/amoro-web/src/assets/images/arctic-dashboard.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/arctic-dashboard.svg rename to amoro-web/src/assets/images/arctic-dashboard.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/arctic-dashboard1.svg b/amoro-web/src/assets/images/arctic-dashboard1.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/arctic-dashboard1.svg rename to amoro-web/src/assets/images/arctic-dashboard1.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/arctic-introduce.png b/amoro-web/src/assets/images/arctic-introduce.png similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/arctic-introduce.png rename to amoro-web/src/assets/images/arctic-introduce.png diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/home-content.png b/amoro-web/src/assets/images/home-content.png similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/home-content.png rename to amoro-web/src/assets/images/home-content.png diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/introduce_arctic.png b/amoro-web/src/assets/images/introduce_arctic.png similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/introduce_arctic.png rename to amoro-web/src/assets/images/introduce_arctic.png diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/item-icon.png b/amoro-web/src/assets/images/item-icon.png similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/item-icon.png rename to amoro-web/src/assets/images/item-icon.png diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/logo-all1.svg b/amoro-web/src/assets/images/logo-all1.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/logo-all1.svg rename to amoro-web/src/assets/images/logo-all1.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/logo.svg b/amoro-web/src/assets/images/logo.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/logo.svg rename to amoro-web/src/assets/images/logo.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/logo1.svg b/amoro-web/src/assets/images/logo1.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/logo1.svg rename to amoro-web/src/assets/images/logo1.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/assets/images/logo2.svg b/amoro-web/src/assets/images/logo2.svg similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/assets/images/logo2.svg rename to amoro-web/src/assets/images/logo2.svg diff --git a/amoro-ams/amoro-ams-dashboard/src/components/Layout.vue b/amoro-web/src/components/Layout.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/Layout.vue rename to amoro-web/src/components/Layout.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/components/Sidebar.vue b/amoro-web/src/components/Sidebar.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/Sidebar.vue rename to amoro-web/src/components/Sidebar.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/components/Topbar.vue b/amoro-web/src/components/Topbar.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/Topbar.vue rename to amoro-web/src/components/Topbar.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/components/VirtualRecycleScroller.vue b/amoro-web/src/components/VirtualRecycleScroller.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/VirtualRecycleScroller.vue rename to amoro-web/src/components/VirtualRecycleScroller.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/components/echarts/Chart.vue b/amoro-web/src/components/echarts/Chart.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/echarts/Chart.vue rename to amoro-web/src/components/echarts/Chart.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/components/echarts/index.ts b/amoro-web/src/components/echarts/index.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/echarts/index.ts rename to amoro-web/src/components/echarts/index.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/components/loading/index.ts b/amoro-web/src/components/loading/index.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/loading/index.ts rename to amoro-web/src/components/loading/index.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/components/loading/loading.vue b/amoro-web/src/components/loading/loading.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/loading/loading.vue rename to amoro-web/src/components/loading/loading.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/components/register.ts b/amoro-web/src/components/register.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/register.ts rename to amoro-web/src/components/register.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/components/sql-editor/editor-config.ts b/amoro-web/src/components/sql-editor/editor-config.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/sql-editor/editor-config.ts rename to amoro-web/src/components/sql-editor/editor-config.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/components/sql-editor/index.vue b/amoro-web/src/components/sql-editor/index.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/sql-editor/index.vue rename to amoro-web/src/components/sql-editor/index.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/components/svg-icon.vue b/amoro-web/src/components/svg-icon.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/svg-icon.vue rename to amoro-web/src/components/svg-icon.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/components/tables-sub-menu/CreateDB.vue b/amoro-web/src/components/tables-sub-menu/CreateDB.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/tables-sub-menu/CreateDB.vue rename to amoro-web/src/components/tables-sub-menu/CreateDB.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/components/tables-sub-menu/TablesMenu.vue b/amoro-web/src/components/tables-sub-menu/TablesMenu.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/components/tables-sub-menu/TablesMenu.vue rename to amoro-web/src/components/tables-sub-menu/TablesMenu.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/hooks/usePagination.ts b/amoro-web/src/hooks/usePagination.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/hooks/usePagination.ts rename to amoro-web/src/hooks/usePagination.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/hooks/usePlaceholder.ts b/amoro-web/src/hooks/usePlaceholder.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/hooks/usePlaceholder.ts rename to amoro-web/src/hooks/usePlaceholder.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/language/datetimeFormats.ts b/amoro-web/src/language/datetimeFormats.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/language/datetimeFormats.ts rename to amoro-web/src/language/datetimeFormats.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/language/en.ts b/amoro-web/src/language/en.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/language/en.ts rename to amoro-web/src/language/en.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/language/i18n.ts b/amoro-web/src/language/i18n.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/language/i18n.ts rename to amoro-web/src/language/i18n.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/language/index.ts b/amoro-web/src/language/index.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/language/index.ts rename to amoro-web/src/language/index.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/language/zh.ts b/amoro-web/src/language/zh.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/language/zh.ts rename to amoro-web/src/language/zh.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/main.ts b/amoro-web/src/main.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/main.ts rename to amoro-web/src/main.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/router/index.ts b/amoro-web/src/router/index.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/router/index.ts rename to amoro-web/src/router/index.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/services/global.service.ts b/amoro-web/src/services/global.service.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/services/global.service.ts rename to amoro-web/src/services/global.service.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/services/login.service.ts b/amoro-web/src/services/login.service.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/services/login.service.ts rename to amoro-web/src/services/login.service.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/services/optimize.service.ts b/amoro-web/src/services/optimize.service.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/services/optimize.service.ts rename to amoro-web/src/services/optimize.service.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/services/setting.services.ts b/amoro-web/src/services/setting.services.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/services/setting.services.ts rename to amoro-web/src/services/setting.services.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/services/table.service.ts b/amoro-web/src/services/table.service.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/services/table.service.ts rename to amoro-web/src/services/table.service.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/services/terminal.service.ts b/amoro-web/src/services/terminal.service.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/services/terminal.service.ts rename to amoro-web/src/services/terminal.service.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/shims-vue.d.ts b/amoro-web/src/shims-vue.d.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/shims-vue.d.ts rename to amoro-web/src/shims-vue.d.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/store/index.ts b/amoro-web/src/store/index.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/store/index.ts rename to amoro-web/src/store/index.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/styles/ant-design.less b/amoro-web/src/styles/ant-design.less similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/styles/ant-design.less rename to amoro-web/src/styles/ant-design.less diff --git a/amoro-ams/amoro-ams-dashboard/src/styles/global.less b/amoro-web/src/styles/global.less similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/styles/global.less rename to amoro-web/src/styles/global.less diff --git a/amoro-ams/amoro-ams-dashboard/src/styles/index.less b/amoro-web/src/styles/index.less similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/styles/index.less rename to amoro-web/src/styles/index.less diff --git a/amoro-ams/amoro-ams-dashboard/src/styles/reset.less b/amoro-web/src/styles/reset.less similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/styles/reset.less rename to amoro-web/src/styles/reset.less diff --git a/amoro-ams/amoro-ams-dashboard/src/types/common.type.ts b/amoro-web/src/types/common.type.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/types/common.type.ts rename to amoro-web/src/types/common.type.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/utils/chart.ts b/amoro-web/src/utils/chart.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/utils/chart.ts rename to amoro-web/src/utils/chart.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/utils/editor.ts b/amoro-web/src/utils/editor.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/utils/editor.ts rename to amoro-web/src/utils/editor.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/utils/index.ts b/amoro-web/src/utils/index.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/utils/index.ts rename to amoro-web/src/utils/index.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/utils/request.ts b/amoro-web/src/utils/request.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/utils/request.ts rename to amoro-web/src/utils/request.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/utils/sql.ts b/amoro-web/src/utils/sql.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/utils/sql.ts rename to amoro-web/src/utils/sql.ts diff --git a/amoro-ams/amoro-ams-dashboard/src/views/404.vue b/amoro-web/src/views/404.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/404.vue rename to amoro-web/src/views/404.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/Home.vue b/amoro-web/src/views/Home.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/Home.vue rename to amoro-web/src/views/Home.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/catalogs/Detail.vue b/amoro-web/src/views/catalogs/Detail.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/catalogs/Detail.vue rename to amoro-web/src/views/catalogs/Detail.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/catalogs/Properties.vue b/amoro-web/src/views/catalogs/Properties.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/catalogs/Properties.vue rename to amoro-web/src/views/catalogs/Properties.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/catalogs/index.vue b/amoro-web/src/views/catalogs/index.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/catalogs/index.vue rename to amoro-web/src/views/catalogs/index.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/hive-details/components/Details.vue b/amoro-web/src/views/hive-details/components/Details.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/hive-details/components/Details.vue rename to amoro-web/src/views/hive-details/components/Details.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/hive-details/components/ErrorMsg.vue b/amoro-web/src/views/hive-details/components/ErrorMsg.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/hive-details/components/ErrorMsg.vue rename to amoro-web/src/views/hive-details/components/ErrorMsg.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/hive-details/components/Field.vue b/amoro-web/src/views/hive-details/components/Field.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/hive-details/components/Field.vue rename to amoro-web/src/views/hive-details/components/Field.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/hive-details/components/Partition.vue b/amoro-web/src/views/hive-details/components/Partition.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/hive-details/components/Partition.vue rename to amoro-web/src/views/hive-details/components/Partition.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/hive-details/components/Properties.vue b/amoro-web/src/views/hive-details/components/Properties.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/hive-details/components/Properties.vue rename to amoro-web/src/views/hive-details/components/Properties.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/hive-details/index.vue b/amoro-web/src/views/hive-details/index.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/hive-details/index.vue rename to amoro-web/src/views/hive-details/index.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/hive-details/upgrade.vue b/amoro-web/src/views/hive-details/upgrade.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/hive-details/upgrade.vue rename to amoro-web/src/views/hive-details/upgrade.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/introduce/index-bakl.vue b/amoro-web/src/views/introduce/index-bakl.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/introduce/index-bakl.vue rename to amoro-web/src/views/introduce/index-bakl.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/introduce/index.vue b/amoro-web/src/views/introduce/index.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/introduce/index.vue rename to amoro-web/src/views/introduce/index.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/login/index.vue b/amoro-web/src/views/login/index.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/login/index.vue rename to amoro-web/src/views/login/index.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/optimize/components/List.vue b/amoro-web/src/views/optimize/components/List.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/optimize/components/List.vue rename to amoro-web/src/views/optimize/components/List.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/optimize/components/ScaleOut.vue b/amoro-web/src/views/optimize/components/ScaleOut.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/optimize/components/ScaleOut.vue rename to amoro-web/src/views/optimize/components/ScaleOut.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/optimize/index.vue b/amoro-web/src/views/optimize/index.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/optimize/index.vue rename to amoro-web/src/views/optimize/index.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/resource/components/GroupModal.vue b/amoro-web/src/views/resource/components/GroupModal.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/resource/components/GroupModal.vue rename to amoro-web/src/views/resource/components/GroupModal.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/resource/components/List.vue b/amoro-web/src/views/resource/components/List.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/resource/components/List.vue rename to amoro-web/src/views/resource/components/List.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/resource/components/ScaleOut.vue b/amoro-web/src/views/resource/components/ScaleOut.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/resource/components/ScaleOut.vue rename to amoro-web/src/views/resource/components/ScaleOut.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/resource/index.vue b/amoro-web/src/views/resource/index.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/resource/index.vue rename to amoro-web/src/views/resource/index.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/settings/index.vue b/amoro-web/src/views/settings/index.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/settings/index.vue rename to amoro-web/src/views/settings/index.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/tables/components/Details.vue b/amoro-web/src/views/tables/components/Details.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/tables/components/Details.vue rename to amoro-web/src/views/tables/components/Details.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/tables/components/Files.vue b/amoro-web/src/views/tables/components/Files.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/tables/components/Files.vue rename to amoro-web/src/views/tables/components/Files.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/tables/components/Operations.vue b/amoro-web/src/views/tables/components/Operations.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/tables/components/Operations.vue rename to amoro-web/src/views/tables/components/Operations.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/tables/components/Optimizing.vue b/amoro-web/src/views/tables/components/Optimizing.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/tables/components/Optimizing.vue rename to amoro-web/src/views/tables/components/Optimizing.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/tables/components/Selector.vue b/amoro-web/src/views/tables/components/Selector.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/tables/components/Selector.vue rename to amoro-web/src/views/tables/components/Selector.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/tables/components/Snapshots.vue b/amoro-web/src/views/tables/components/Snapshots.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/tables/components/Snapshots.vue rename to amoro-web/src/views/tables/components/Snapshots.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/tables/create.vue b/amoro-web/src/views/tables/create.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/tables/create.vue rename to amoro-web/src/views/tables/create.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/tables/index.vue b/amoro-web/src/views/tables/index.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/tables/index.vue rename to amoro-web/src/views/tables/index.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/terminal/components/sql-log.vue b/amoro-web/src/views/terminal/components/sql-log.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/terminal/components/sql-log.vue rename to amoro-web/src/views/terminal/components/sql-log.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/terminal/components/sql-result.vue b/amoro-web/src/views/terminal/components/sql-result.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/terminal/components/sql-result.vue rename to amoro-web/src/views/terminal/components/sql-result.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/views/terminal/index.vue b/amoro-web/src/views/terminal/index.vue similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/views/terminal/index.vue rename to amoro-web/src/views/terminal/index.vue diff --git a/amoro-ams/amoro-ams-dashboard/src/vite-env.d.ts b/amoro-web/src/vite-env.d.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/src/vite-env.d.ts rename to amoro-web/src/vite-env.d.ts diff --git a/amoro-ams/amoro-ams-dashboard/tsconfig.json b/amoro-web/tsconfig.json similarity index 100% rename from amoro-ams/amoro-ams-dashboard/tsconfig.json rename to amoro-web/tsconfig.json diff --git a/amoro-ams/amoro-ams-dashboard/tsconfig.node.json b/amoro-web/tsconfig.node.json similarity index 100% rename from amoro-ams/amoro-ams-dashboard/tsconfig.node.json rename to amoro-web/tsconfig.node.json diff --git a/amoro-ams/amoro-ams-dashboard/vite.config.ts b/amoro-web/vite.config.ts similarity index 100% rename from amoro-ams/amoro-ams-dashboard/vite.config.ts rename to amoro-web/vite.config.ts diff --git a/pom.xml b/pom.xml index 7edbdfe141..93d7b5ffe3 100644 --- a/pom.xml +++ b/pom.xml @@ -47,6 +47,7 @@ amoro-common + amoro-web amoro-ams amoro-iceberg-format amoro-mixed-format From 644648d9cc9f0b4e7f41a311fa31267049750bfe Mon Sep 17 00:00:00 2001 From: Marig_Weizhi Date: Mon, 2 Sep 2024 14:02:18 +0800 Subject: [PATCH 05/18] fixed unit bug --- .../amoro-ams-dashboard/mock/modules/overview.js | 12 ++++++------ amoro-ams/amoro-ams-dashboard/src/language/en.ts | 2 +- amoro-ams/amoro-ams-dashboard/src/language/zh.ts | 2 +- .../views/overview/components/ResourceUsageCard.vue | 6 +++--- .../views/overview/components/Top10TablesCard.vue | 9 ++++----- .../amoro-ams-dashboard/src/views/overview/index.vue | 4 ++-- .../apache/amoro/server/dashboard/OverviewCache.java | 12 ++++-------- 7 files changed, 21 insertions(+), 26 deletions(-) diff --git a/amoro-ams/amoro-ams-dashboard/mock/modules/overview.js b/amoro-ams/amoro-ams-dashboard/mock/modules/overview.js index f72fadd000..5bb9073bed 100644 --- a/amoro-ams/amoro-ams-dashboard/mock/modules/overview.js +++ b/amoro-ams/amoro-ams-dashboard/mock/modules/overview.js @@ -28,7 +28,7 @@ export default [ tableCnt: 37944, tableTotalSize: 10585900, totalCpu: '6', - totalMemory: 62464 + totalMemory: 62464000000 } }), }, @@ -111,23 +111,23 @@ export default [ result: [{ ts: 1724119207500, totalCpu: 2, - totalMemory: 4048 + totalMemory: 4048000000 },{ ts: 1724122892000, totalCpu: 5, - totalMemory: 8096 + totalMemory: 8096000000 },{ ts: 1724126441000, totalCpu: 12, - totalMemory: 32492 + totalMemory: 32492000000 },{ ts: 1724130154000, totalCpu: 7, - totalMemory: 14462 + totalMemory: 14462000000 },{ ts: 1724133605600, totalCpu: 26, - totalMemory: 50176 + totalMemory: 50176000000 }] }), }, diff --git a/amoro-ams/amoro-ams-dashboard/src/language/en.ts b/amoro-ams/amoro-ams-dashboard/src/language/en.ts index 4d77488591..24c2344ac1 100644 --- a/amoro-ams/amoro-ams-dashboard/src/language/en.ts +++ b/amoro-ams/amoro-ams-dashboard/src/language/en.ts @@ -19,7 +19,7 @@ export default { overview: 'Overview', healthScore: 'Health Score', - unhealthTables: 'Unhealth Tables', + top10Tables: 'Top 10 Tables', latestOperations: 'Latest Operations', catalogs: 'Catalogs', catalog: 'Catalog', diff --git a/amoro-ams/amoro-ams-dashboard/src/language/zh.ts b/amoro-ams/amoro-ams-dashboard/src/language/zh.ts index 97140e1d01..8ac153c4cf 100644 --- a/amoro-ams/amoro-ams-dashboard/src/language/zh.ts +++ b/amoro-ams/amoro-ams-dashboard/src/language/zh.ts @@ -19,7 +19,7 @@ export default { overview: '总览', healthScore: '健康度', - unhealthTables: '非健康表', + top10Tables: '表TOP 10', latestOperations: '最近操作', catalogs: '目录', catalog: '目录', diff --git a/amoro-ams/amoro-ams-dashboard/src/views/overview/components/ResourceUsageCard.vue b/amoro-ams/amoro-ams-dashboard/src/views/overview/components/ResourceUsageCard.vue index 42598268e1..426e915896 100644 --- a/amoro-ams/amoro-ams-dashboard/src/views/overview/components/ResourceUsageCard.vue +++ b/amoro-ams/amoro-ams-dashboard/src/views/overview/components/ResourceUsageCard.vue @@ -20,7 +20,7 @@ limitations under the License. import { useI18n } from 'vue-i18n' import { ref, onMounted } from 'vue'; import Chart from '@/components/echarts/Chart.vue' -import { mbToSize, dateFormat } from '@/utils' +import { bytesToSize, dateFormat } from '@/utils' import { getResourceUsageList } from '@/services/overview.service' import type { ResourceUsageItem } from '@/types/common.type' @@ -31,7 +31,7 @@ const loading = ref(false) function resourceFormatter(params: any[]): string { const cpuParam = params.find(p => p.seriesName === 'CPU'); const memoryParam = params.find(p => p.seriesName === 'Memory'); - const memorySize = mbToSize(memoryParam.value); + const memorySize = bytesToSize(memoryParam.value); let str = `${params[0].axisValue}
`; str += `CPU: ${cpuParam.value} Core
`; str += `Memory: ${memorySize}
`; @@ -47,7 +47,7 @@ const option = ref({ xAxis: { type: 'category', data: [''] }, yAxis: [ { type: 'value', name: 'CPU Core', axisLabel: { formatter: '{value}' } }, - { type: 'value', name: 'Memory', axisLabel: { formatter: (value: number) => { return `${mbToSize(value)}` } } } + { type: 'value', name: 'Memory', axisLabel: { formatter: (value: number) => { return `${bytesToSize(value)}` } } } ], series: [ { name: 'CPU', type: 'line', yAxisIndex: 0, data: [-1] }, diff --git a/amoro-ams/amoro-ams-dashboard/src/views/overview/components/Top10TablesCard.vue b/amoro-ams/amoro-ams-dashboard/src/views/overview/components/Top10TablesCard.vue index 2664ddd3f9..b137bda4d7 100644 --- a/amoro-ams/amoro-ams-dashboard/src/views/overview/components/Top10TablesCard.vue +++ b/amoro-ams/amoro-ams-dashboard/src/views/overview/components/Top10TablesCard.vue @@ -17,10 +17,9 @@ limitations under the License. / -->