Created
January 22, 2025 20:20
-
-
Save polRk/02f86241626d52c33f9a967b97cb3213 to your computer and use it in GitHub Desktop.
YDB Table Client Query Stats Example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import {Driver, ExecuteQuerySettings, getCredentialsFromEnv, Ydb} from 'ydb-sdk'; | |
const authService = getCredentialsFromEnv(); | |
console.info('Driver initializing...'); | |
const driver = new Driver({ | |
connectionString: process.env['YDB_CONNECTION_STRING'], | |
authService, | |
}); | |
const timeout = 10000; | |
if (!(await driver.ready(timeout))) { | |
console.error(`Driver has not become ready in ${timeout}ms!`); | |
process.exit(1); | |
} | |
await driver.tableClient.withSession(async (session) => { | |
let result1 = await session.executeQuery( | |
`SELECT 1`, | |
undefined, | |
undefined, | |
new ExecuteQuerySettings().withCollectStats( | |
Ydb.Table.QueryStatsCollection.Mode.STATS_COLLECTION_NONE, | |
), | |
); | |
console.log('Result 1 stats:', result1.queryStats); | |
let result2 = await session.executeQuery( | |
`SELECT 1`, | |
undefined, | |
undefined, | |
new ExecuteQuerySettings().withCollectStats( | |
Ydb.Table.QueryStatsCollection.Mode.STATS_COLLECTION_BASIC, | |
), | |
); | |
console.log('Result 2 stats:', result2.queryStats); | |
let result3 = await session.executeQuery( | |
`SELECT 1`, | |
undefined, | |
undefined, | |
new ExecuteQuerySettings().withCollectStats( | |
Ydb.Table.QueryStatsCollection.Mode.STATS_COLLECTION_FULL, | |
), | |
); | |
console.log('Result 3 stats:', result3.queryStats); | |
let result4 = await session.executeQuery( | |
`SELECT 1`, | |
undefined, | |
undefined, | |
new ExecuteQuerySettings().withCollectStats( | |
Ydb.Table.QueryStatsCollection.Mode.STATS_COLLECTION_PROFILE, | |
), | |
); | |
console.log('Result 4 stats:', result4.queryStats); | |
console.info('Done'); | |
}); | |
await driver.destroy(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment