Skip to content

Commit dd08c12

Browse files
committed
feat: support to show sql query duration
1 parent 7b8a5bb commit dd08c12

File tree

12 files changed

+448
-596
lines changed

12 files changed

+448
-596
lines changed

console/atest-ui/src/views/DataManager.vue

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,10 @@ const queryResult = ref([] as any[])
1515
const queryResultAsJSON= ref('')
1616
const columns = ref([] as string[])
1717
const queryTip = ref('')
18-
const databases = ref([])
19-
const tables = ref([])
20-
const currentDatabase = ref('')
2118
const loadingStores = ref(true)
2219
const dataFormat = ref('table')
2320
const dataFormatOptions = ['table', 'json']
21+
const queryDataMeta = ref({} as QueryDataMeta)
2422
2523
const tablesTree = ref([])
2624
watch(store, (s) => {
@@ -31,20 +29,27 @@ watch(store, (s) => {
3129
return
3230
}
3331
})
34-
currentDatabase.value = ''
32+
queryDataMeta.currentDatabase = ''
3533
sqlQuery.value = ''
3634
executeQuery()
3735
})
3836
37+
interface QueryDataMeta {
38+
databases: string[]
39+
tables: string[]
40+
currentDatabase: string
41+
duration: string
42+
}
43+
3944
interface QueryData {
4045
items: any[]
4146
data: any[]
4247
label: string
43-
meta: any
48+
meta: QueryDataMeta
4449
}
4550
4651
const queryDataFromTable = (data: QueryData) => {
47-
sqlQuery.value = `select * from ${data.label} limit 10`
52+
sqlQuery.value = `select * from ${data.label} limit 100`
4853
executeQuery()
4954
}
5055
const queryTables = () => {
@@ -89,9 +94,7 @@ const ormDataHandler = (data: QueryData) => {
8994
result.push(obj)
9095
})
9196
92-
databases.value = data.meta.databases
93-
tables.value = data.meta.tables
94-
currentDatabase.value = data.meta.currentDatabase
97+
queryDataMeta.value = data.meta
9598
queryResult.value = result
9699
queryResultAsJSON.value = JSON.stringify(result, null, 2)
97100
columns.value = Array.from(cols).sort((a, b) => {
@@ -101,7 +104,7 @@ const ormDataHandler = (data: QueryData) => {
101104
})
102105
103106
tablesTree.value = []
104-
tables.value.forEach((i) => {
107+
queryDataMeta.value.tables.forEach((i) => {
105108
tablesTree.value.push({
106109
label: i,
107110
})
@@ -129,7 +132,7 @@ const executeQuery = async () => {
129132
130133
let success = false
131134
try {
132-
const data = await API.DataQueryAsync(store.value, kind.value, currentDatabase.value, sqlQuery.value);
135+
const data = await API.DataQueryAsync(store.value, kind.value, queryDataMeta.value.currentDatabase, sqlQuery.value);
133136
switch (kind.value) {
134137
case 'atest-store-orm':
135138
ormDataHandler(data)
@@ -164,8 +167,8 @@ const executeQuery = async () => {
164167
<el-container style="height: calc(100vh - 50px);">
165168
<el-aside v-if="kind === 'atest-store-orm'">
166169
<el-scrollbar>
167-
<el-select v-model="currentDatabase" placeholder="Select database" @change="queryTables" filterable>
168-
<el-option v-for="item in databases" :key="item" :label="item"
170+
<el-select v-model="queryDataMeta.currentDatabase" placeholder="Select database" @change="queryTables" filterable>
171+
<el-option v-for="item in queryDataMeta.databases" :key="item" :label="item"
169172
:value="item"></el-option>
170173
</el-select>
171174
<el-tree :data="tablesTree" node-key="label" @node-click="queryDataFromTable" highlight-current draggable/>
@@ -202,6 +205,8 @@ const executeQuery = async () => {
202205
</el-form>
203206
</el-header>
204207
<el-main>
208+
<el-tag type="primary" v-if="queryResult.length > 0">{{ queryResult.length }} rows</el-tag>
209+
<el-tag type="primary" v-if="queryDataMeta.duration">{{ queryDataMeta.duration }}</el-tag>
205210
<el-table :data="queryResult" stripe v-if="dataFormat === 'table'">
206211
<el-table-column v-for="col in columns" :key="col" :prop="col" :label="col" sortable/>
207212
</el-table>

pkg/runner/monitor/monitor.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/runner/monitor/monitor_grpc.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/server/server.pb.go

Lines changed: 335 additions & 325 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)