1fb726d48Sopenharmony_ci/*
2fb726d48Sopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd.
3fb726d48Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4fb726d48Sopenharmony_ci * you may not use this file except in compliance with the License.
5fb726d48Sopenharmony_ci * You may obtain a copy of the License at
6fb726d48Sopenharmony_ci *
7fb726d48Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8fb726d48Sopenharmony_ci *
9fb726d48Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10fb726d48Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11fb726d48Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12fb726d48Sopenharmony_ci * See the License for the specific language governing permissions and
13fb726d48Sopenharmony_ci * limitations under the License.
14fb726d48Sopenharmony_ci */
15fb726d48Sopenharmony_ci
16fb726d48Sopenharmony_ciimport { query } from '../SqlLite';
17fb726d48Sopenharmony_ciimport { CounterStruct } from '../ui-worker/ProduceWorkerSdkCounter';
18fb726d48Sopenharmony_ciimport { CounterSummary, SdkSliceSummary } from '../../bean/SdkSummary';
19fb726d48Sopenharmony_ciimport { SdkSliceStruct } from '../ui-worker/ProduceWorkerSdkSlice';
20fb726d48Sopenharmony_ci
21fb726d48Sopenharmony_ci//@ts-ignore
22fb726d48Sopenharmony_ciexport const querySdkCount = (sql: string, componentId: number, args?: unknown): Promise<Array<unknown>> =>
23fb726d48Sopenharmony_ci  query('querySdkCount', sql, args, {
24fb726d48Sopenharmony_ci    action: `exec-sdk-${componentId}`
25fb726d48Sopenharmony_ci  });
26fb726d48Sopenharmony_ci
27fb726d48Sopenharmony_ciexport const querySdkCounterData = (
28fb726d48Sopenharmony_ci  sql: string,
29fb726d48Sopenharmony_ci  counter_id: number,
30fb726d48Sopenharmony_ci  componentId: number
31fb726d48Sopenharmony_ci): Promise<Array<CounterStruct>> =>
32fb726d48Sopenharmony_ci  query('querySdkCounterData', sql, { $counter_id: counter_id }, {
33fb726d48Sopenharmony_ci    action: `exec-sdk-${componentId}`
34fb726d48Sopenharmony_ci  });
35fb726d48Sopenharmony_ci
36fb726d48Sopenharmony_ciexport const getTabSdkCounterData = (
37fb726d48Sopenharmony_ci  sqlStr: string,
38fb726d48Sopenharmony_ci  startTime: number,
39fb726d48Sopenharmony_ci  leftNs: number,
40fb726d48Sopenharmony_ci  rightNs: number,
41fb726d48Sopenharmony_ci  counters: Array<string>,
42fb726d48Sopenharmony_ci  componentId: number
43fb726d48Sopenharmony_ci): Promise<Array<CounterSummary>> =>
44fb726d48Sopenharmony_ci  query<CounterSummary>(
45fb726d48Sopenharmony_ci    'getTabSdkCounterData',
46fb726d48Sopenharmony_ci    sqlStr,
47fb726d48Sopenharmony_ci    {
48fb726d48Sopenharmony_ci      $startTime: startTime,
49fb726d48Sopenharmony_ci      $leftNs: leftNs,
50fb726d48Sopenharmony_ci      $rightNs: rightNs,
51fb726d48Sopenharmony_ci      $counters: counters,
52fb726d48Sopenharmony_ci    },
53fb726d48Sopenharmony_ci    {
54fb726d48Sopenharmony_ci      action: `exec-sdk-${componentId}`
55fb726d48Sopenharmony_ci    }
56fb726d48Sopenharmony_ci  );
57fb726d48Sopenharmony_ci
58fb726d48Sopenharmony_ciexport const getTabSdkCounterLeftData = (
59fb726d48Sopenharmony_ci  sqlStr: string,
60fb726d48Sopenharmony_ci  leftNs: number,
61fb726d48Sopenharmony_ci  counters: Array<string>,
62fb726d48Sopenharmony_ci  componentId: number
63fb726d48Sopenharmony_ci): //@ts-ignore
64fb726d48Sopenharmony_ciPromise<Array<unknown>> =>
65fb726d48Sopenharmony_ci  //@ts-ignore
66fb726d48Sopenharmony_ci  query<unknown>(
67fb726d48Sopenharmony_ci    'getTabSdkCounterLeftData',
68fb726d48Sopenharmony_ci    sqlStr,
69fb726d48Sopenharmony_ci    {
70fb726d48Sopenharmony_ci      $leftNs: leftNs,
71fb726d48Sopenharmony_ci      $counters: counters,
72fb726d48Sopenharmony_ci    },
73fb726d48Sopenharmony_ci    {
74fb726d48Sopenharmony_ci      action: `exec-sdk-${componentId}`
75fb726d48Sopenharmony_ci    }
76fb726d48Sopenharmony_ci  );
77fb726d48Sopenharmony_ci
78fb726d48Sopenharmony_ciexport const getTabSdkSliceData = (
79fb726d48Sopenharmony_ci  sqlStr: string,
80fb726d48Sopenharmony_ci  startTime: number,
81fb726d48Sopenharmony_ci  leftNs: number,
82fb726d48Sopenharmony_ci  rightNs: number,
83fb726d48Sopenharmony_ci  slices: Array<string>,
84fb726d48Sopenharmony_ci  componentId: number
85fb726d48Sopenharmony_ci): Promise<Array<SdkSliceSummary>> =>
86fb726d48Sopenharmony_ci  query<SdkSliceSummary>(
87fb726d48Sopenharmony_ci    'getTabSdkSliceData',
88fb726d48Sopenharmony_ci    sqlStr,
89fb726d48Sopenharmony_ci    {
90fb726d48Sopenharmony_ci      $startTime: startTime,
91fb726d48Sopenharmony_ci      $leftNs: leftNs,
92fb726d48Sopenharmony_ci      $rightNs: rightNs,
93fb726d48Sopenharmony_ci      $slices: slices,
94fb726d48Sopenharmony_ci    },
95fb726d48Sopenharmony_ci    {
96fb726d48Sopenharmony_ci      action: `exec-sdk-${componentId}`
97fb726d48Sopenharmony_ci    }
98fb726d48Sopenharmony_ci  );
99fb726d48Sopenharmony_ci
100fb726d48Sopenharmony_ciexport const querySdkSliceData = (
101fb726d48Sopenharmony_ci  sqlStr: string,
102fb726d48Sopenharmony_ci  column_id: number,
103fb726d48Sopenharmony_ci  startNS: number,
104fb726d48Sopenharmony_ci  endNS: number,
105fb726d48Sopenharmony_ci  componentId: number
106fb726d48Sopenharmony_ci): Promise<Array<SdkSliceStruct>> =>
107fb726d48Sopenharmony_ci  query(
108fb726d48Sopenharmony_ci    'querySdkSliceData',
109fb726d48Sopenharmony_ci    sqlStr,
110fb726d48Sopenharmony_ci    { $column_id: column_id, $startNS: startNS, $endNS: endNS },
111fb726d48Sopenharmony_ci    {
112fb726d48Sopenharmony_ci      action: `exec-sdk-${componentId}`
113fb726d48Sopenharmony_ci    }
114fb726d48Sopenharmony_ci  );
115fb726d48Sopenharmony_ci
116fb726d48Sopenharmony_ciexport const queryCounterMax = (
117fb726d48Sopenharmony_ci  sqlStr: string,
118fb726d48Sopenharmony_ci  counter_id: number,
119fb726d48Sopenharmony_ci  componentId: number
120fb726d48Sopenharmony_ci): //@ts-ignore
121fb726d48Sopenharmony_ciPromise<Array<unknown>> =>
122fb726d48Sopenharmony_ci  query('queryCounterMax', sqlStr, { $counter_id: counter_id }, {
123fb726d48Sopenharmony_ci    action: `exec-sdk-${componentId}`
124fb726d48Sopenharmony_ci  });
125fb726d48Sopenharmony_ci
126