MCPcopy Create free account
hub / github.com/Kilo-Org/cloud / runBenchmark

Function runBenchmark

apps/web/src/scripts/usage/benchmark-insert-usage.ts:306–420  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

304}
305
306async function runBenchmark() {
307 const numWorkers = Math.max(1, Math.floor(cpus().length / 2));
308 const totalRows = stats.microdollar_usage.total_rows;
309 const dedup = stats.deduplication_tables;
310
311 console.log(
312 `Starting benchmark with ${numWorkers} worker threads, ${TOTAL_RECORDS} total records`
313 );
314 console.log(`Each worker will insert ~${Math.floor(TOTAL_RECORDS / numWorkers)} records`);
315
316 // Truncate tables before benchmark
317 await truncateTables();
318
319 // Calculate scaled user count
320 const scaledUserCount = scaleUniqueCount(stats.microdollar_usage.unique_user_count, totalRows);
321 console.log(
322 `Scaled user count: ${scaledUserCount} (from ${stats.microdollar_usage.unique_user_count} unique users in ${totalRows} rows)`
323 );
324
325 // Create test users
326 const userIds = await createTestUsers(scaledUserCount);
327
328 // Generate unique pools
329 console.log('Generating unique value pools...');
330 const uniquePools: UniquePools = {
331 userAgents: generateStringPool(
332 dedup.http_user_agent_count,
333 dedup.http_user_agent_avg_len,
334 dedup.http_user_agent_min_len,
335 dedup.http_user_agent_max_len,
336 totalRows
337 ),
338 ips: generateStringPool(
339 dedup.http_ip_count,
340 dedup.http_ip_avg_len,
341 dedup.http_ip_min_len,
342 dedup.http_ip_max_len,
343 totalRows
344 ),
345 countries: generateStringPool(
346 dedup.vercel_ip_country_count,
347 dedup.vercel_ip_country_avg_len,
348 dedup.vercel_ip_country_min_len,
349 dedup.vercel_ip_country_max_len,
350 totalRows
351 ),
352 cities: generateStringPool(
353 dedup.vercel_ip_city_count,
354 dedup.vercel_ip_city_avg_len,
355 dedup.vercel_ip_city_min_len,
356 dedup.vercel_ip_city_max_len,
357 totalRows
358 ),
359 ja4Digests: generateStringPool(
360 dedup.ja4_digest_count,
361 dedup.ja4_digest_avg_len,
362 dedup.ja4_digest_min_len,
363 dedup.ja4_digest_max_len,

Callers 1

Calls 7

truncateTablesFunction · 0.85
scaleUniqueCountFunction · 0.85
createTestUsersFunction · 0.85
generateStringPoolFunction · 0.85
generateRandomRecordFunction · 0.85
runWorkerFunction · 0.85
logMethod · 0.65

Tested by

no test coverage detected