Skip to content

Commit fa634f9

Browse files
committed
test
1 parent e1f47aa commit fa634f9

1 file changed

Lines changed: 61 additions & 53 deletions

File tree

ci/cloudbuild/builds/linux-bq-driver-benchmark.sh

Lines changed: 61 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ source module ci/lib/io.sh
2525

2626
WORKSPACE_DIR=$(pwd)
2727

28-
# ---------------------------------------------------------------------------
28+
# ============================================================================
2929
# Configuration
30-
# ---------------------------------------------------------------------------
30+
# ============================================================================
3131

3232
BENCHMARK_ITERATIONS="${BENCHMARK_ITERATIONS:-3}"
3333

@@ -40,9 +40,10 @@ rm -rf "${BUILD_DIR}"
4040
rm -rf "${RESULTS_DIR}"
4141

4242
mkdir -p "${RESULTS_DIR}"
43-
# ---------------------------------------------------------------------------
43+
44+
# ============================================================================
4445
# Branch
45-
# ---------------------------------------------------------------------------
46+
# ============================================================================
4647

4748
BRANCH_NAME="${BRANCH_NAME:-main}"
4849

@@ -59,18 +60,18 @@ echo "Iterations : ${BENCHMARK_ITERATIONS}"
5960
echo "Workspace : ${WORKSPACE_DIR}"
6061
echo
6162

62-
# ---------------------------------------------------------------------------
63+
# ============================================================================
6364
# Result files
64-
# ---------------------------------------------------------------------------
65+
# ============================================================================
6566

6667
CURRENT_RESULT="${RESULTS_DIR}/current.txt"
6768
MAIN_RESULT="${RESULTS_DIR}/main.txt"
6869
EXISTING_RESULT="${RESULTS_DIR}/existing.txt"
6970
SUMMARY_RESULT="${RESULTS_DIR}/benchmark_summary_linux.txt"
7071

71-
# ---------------------------------------------------------------------------
72+
# ============================================================================
7273
# Driver locations
73-
# ---------------------------------------------------------------------------
74+
# ============================================================================
7475

7576
DRIVER_PATH="${WORKSPACE_DIR}/cmake-out/google/cloud/odbc/libgoogle_cloud_odbc_bq_driver.so"
7677

@@ -80,35 +81,45 @@ MAIN_SO="${RESULTS_DIR}/libgoogle_cloud_odbc_bq_driver_main.so"
8081
CURRENT_SO_GCS="${PERF_DRIVER_BUCKET}/${SANITIZED_BRANCH}/linux/libgoogle_cloud_odbc_bq_driver.so"
8182
MAIN_SO_GCS="${PERF_DRIVER_BUCKET}/main/linux/libgoogle_cloud_odbc_bq_driver.so"
8283

83-
# ---------------------------------------------------------------------------
84+
# ============================================================================
8485
# ODBC configuration
85-
# ---------------------------------------------------------------------------
86+
# ============================================================================
8687

8788
GOOGLE_ODBCINI="/opt/odbc-driver/odbc.ini"
8889
EXISTING_ODBCINI="/opt/odbc-driver/googlebigqueryodbc/odbc.ini"
89-
export ODBC_TESTS_DSN="${ODBC_TESTS_DSN:-SampleDSNGoogleDriver}"
9090

91-
# Export as env variable
91+
# Export VCPKG version.
9292
VCPKG_VERSION=$(cat /tmp/vcpkg-version.txt)
9393
export VCPKG_VERSION
94+
9495
echo "Using VCPKG_VERSION=$VCPKG_VERSION"
9596

97+
# ============================================================================
9698
# Vcpkg install and configure
99+
# ============================================================================
100+
97101
export VCPKG_ROOT=/vcpkg
98-
git clone --branch "$VCPKG_VERSION" https://github.com/microsoft/vcpkg.git "$VCPKG_ROOT"
102+
103+
git clone --branch "$VCPKG_VERSION" \
104+
https://github.com/microsoft/vcpkg.git \
105+
"$VCPKG_ROOT"
106+
99107
cd "$VCPKG_ROOT"
100108
git checkout "$VCPKG_VERSION"
101109

102-
# Bootstrap
110+
# Bootstrap.
103111
./bootstrap-vcpkg.sh -disableMetrics
104112

105113
cd "$WORKSPACE_DIR"
106-
# This is the name of DSN set in odbc.ini
114+
115+
# This is the name of DSN set in odbc.ini.
107116
mapfile -t cmake_args < <(cmake::common_args)
117+
108118
GOOGLE_ODBCINI="/opt/odbc-driver/odbc.ini"
109119
EXISTING_ODBCINI="/opt/odbc-driver/googlebigqueryodbc/odbc.ini"
110120

111121
export ODBC_TESTS_DSN="SampleDSNGoogleDriver"
122+
112123
export CPP_BIGQUERY_ODBC_TEST_TABLE_PREFIX=${TRIGGER_NAME//[-:;.,?]/_}_${BRANCH_NAME//[-:;.,?]/_}
113124
export ODBCINSTINI=/opt/odbc-driver/odbcinst.ini
114125
export ODBCINI="${GOOGLE_ODBCINI}"
@@ -120,15 +131,15 @@ io::run cmake -B "$BUILD_DIR" \
120131
-DODBC_INTEGRATION_TESTING=ON \
121132
-DBQ_DRIVER_INTEGRATION_TESTS=ON \
122133
-DODBC_DEMO_TESTING=OFF \
123-
-DODBC_EXAMPLES=ON \
134+
-DODBC_EXAMPLES=OFF \
124135
-DODBC_UNIT_TESTING=OFF \
125-
-DCLIENT_LIBRARY_INTEGRATION_TESTING=OFF \
136+
-DCLIENT_LIBRARY_INTEGRATION_TESTING=OFF
126137

127138
io::run cmake --build "${BUILD_DIR}"
128139

129-
# ---------------------------------------------------------------------------
140+
# ============================================================================
130141
# Publish Google driver .so for performance benchmarks
131-
# ---------------------------------------------------------------------------
142+
# ============================================================================
132143

133144
DRIVER_SO="${BUILD_DIR}/google/cloud/odbc/libgoogle_cloud_odbc_bq_driver.so"
134145

@@ -164,9 +175,9 @@ else
164175
fi
165176
fi
166177

167-
# ---------------------------------------------------------------------------
178+
# ============================================================================
168179
# Validate ODBC configuration
169-
# ---------------------------------------------------------------------------
180+
# ============================================================================
170181

171182
if [[ ! -f "${GOOGLE_ODBCINI}" ]]; then
172183
echo "ERROR: Google ODBC configuration not found:"
@@ -180,32 +191,30 @@ if [[ ! -f "${EXISTING_ODBCINI}" ]]; then
180191
exit 1
181192
fi
182193

183-
# ---------------------------------------------------------------------------
194+
# ============================================================================
184195
# Run benchmark
185-
# ---------------------------------------------------------------------------
196+
# ============================================================================
186197

187198
run_benchmark() {
188199
local name="$1"
189200
local output_file="$2"
190201
local dsn="$3"
191202
local bq_tests_flag="$4"
192203

193-
#if [[ "${bq_tests_flag}" == "OFF" ]]; then
194-
echo
195-
echo "Reconfiguring performance_test for ${name}"
196-
echo "BQ_DRIVER_INTEGRATION_TESTS = ${bq_tests_flag}"
197-
echo "------------------------------------------------------------"
204+
echo
205+
echo "Reconfiguring performance_test for ${name}"
206+
echo "BQ_DRIVER_INTEGRATION_TESTS = ${bq_tests_flag}"
207+
echo "------------------------------------------------------------"
198208

199-
io::run cmake -S "${WORKSPACE_DIR}" \
200-
-B "${BUILD_DIR}" \
201-
-DCMAKE_BUILD_TYPE=Release \
202-
-DBUILD_PERFORMANCE_TEST_ONLY=ON \
203-
-DBQ_DRIVER_INTEGRATION_TESTS="${bq_tests_flag}"
209+
io::run cmake -S "${WORKSPACE_DIR}" \
210+
-B "${BUILD_DIR}" \
211+
-DCMAKE_BUILD_TYPE=Release \
212+
-DBUILD_PERFORMANCE_TEST_ONLY=ON \
213+
-DBQ_DRIVER_INTEGRATION_TESTS="${bq_tests_flag}"
204214

205-
io::run cmake --build "${BUILD_DIR}" \
206-
--target performance_test \
207-
--parallel "$(nproc)"
208-
# fi
215+
io::run cmake --build "${BUILD_DIR}" \
216+
--target performance_test \
217+
--parallel "$(nproc)"
209218

210219
PERFORMANCE_TEST="${BUILD_DIR}/integration_tests/performance_test"
211220

@@ -279,13 +288,17 @@ run_benchmark() {
279288
return 0
280289
}
281290

282-
# ---------------------------------------------------------------------------
291+
# ============================================================================
283292
# Google Current
284293
#
285294
# The existing Google DSN points to DRIVER_PATH.
286295
# Replace the driver binary before running the benchmark.
287-
# ---------------------------------------------------------------------------
288-
cp /opt/odbc-driver/roots.pem "${WORKSPACE_DIR}/cmake-out/google/cloud/odbc/roots.pem"
296+
# ============================================================================
297+
298+
cp \
299+
/opt/odbc-driver/roots.pem \
300+
"${WORKSPACE_DIR}/cmake-out/google/cloud/odbc/roots.pem"
301+
289302
echo
290303
echo "Preparing Google Current"
291304
echo "------------------------------------------------------------"
@@ -299,13 +312,9 @@ run_benchmark \
299312
"${GOOGLE_ODBCINI}" \
300313
"ON"
301314

302-
echo
303-
echo "Google Current result summary:"
304-
grep -E '\[ *OK *\]|\[ *FAILED *\]' "${CURRENT_RESULT}" || true
305-
306-
# ---------------------------------------------------------------------------
315+
# ============================================================================
307316
# Google Main
308-
# ---------------------------------------------------------------------------
317+
# ============================================================================
309318

310319
echo
311320
echo "Preparing Google Main"
@@ -321,15 +330,14 @@ if [[ "$HAS_MAIN_DRIVER" == "true" ]]; then
321330
"${MAIN_RESULT}" \
322331
"${GOOGLE_ODBCINI}" \
323332
"ON"
324-
325333
else
326334
echo "Google Main benchmark skipped: main driver artifact unavailable."
327335
: >"$MAIN_RESULT"
328336
fi
329337

330-
# ---------------------------------------------------------------------------
338+
# ============================================================================
331339
# Existing
332-
# ---------------------------------------------------------------------------
340+
# ============================================================================
333341

334342
echo
335343
echo "Preparing Existing Driver"
@@ -345,9 +353,9 @@ run_benchmark \
345353
"${EXISTING_ODBCINI}" \
346354
"OFF"
347355

348-
# ---------------------------------------------------------------------------
356+
# ============================================================================
349357
# Generate comparison
350-
# ---------------------------------------------------------------------------
358+
# ============================================================================
351359

352360
echo
353361
echo "============================================================"
@@ -368,9 +376,9 @@ python3 "${PARSER}" \
368376
--main "${MAIN_RESULT}" \
369377
--output "${SUMMARY_RESULT}"
370378

371-
# ---------------------------------------------------------------------------
379+
# ============================================================================
372380
# Upload results
373-
# ---------------------------------------------------------------------------
381+
# ============================================================================
374382

375383
RESULTS_BUCKET="${PERF_DRIVER_BUCKET}/${SANITIZED_BRANCH}/linux/results"
376384

0 commit comments

Comments
 (0)