Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
7af4e2d
chore(storage): add storage benchmark tool for Gaxios refactor compar…
thiyaguk09 Aug 28, 2026
ab86096
chore: remove airlock-proxy from lockfile, pin public npm registry, a…
thiyaguk09 Oct 6, 2026
e32e1e4
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 6, 2026
d32984c
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 6, 2026
d8f8d82
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 6, 2026
05afa92
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 8, 2026
ea82175
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 9, 2026
64fb0db
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 12, 2026
9b2561c
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 13, 2026
d1d6e64
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 13, 2026
2cac6ae
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 14, 2026
2e1e9a4
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 15, 2026
1aa8d9e
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 19, 2026
71c7fb5
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 20, 2026
7e47cb9
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 22, 2026
a6efcac
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 23, 2026
cb56a2e
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 26, 2026
47bb4c1
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Oct 30, 2026
c7e2f0d
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Nov 2, 2026
1d9b8c2
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Nov 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 32 additions & 1 deletion handwritten/storage/internal-tooling/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,35 @@ For each invocation of the benchmark, write a new object of random size between
| ElapsedTimeUs | the elapsed time in microseconds the operation took |
| Status | completion state of the operation [OK, FAIL] |
| AppBufferSize | N/A |
| CpuTimeUs | N/A |
| CpuTimeUs | N/A |

---

## Comparative Latency & Memory Benchmarking (`benchmark.ts`)

This benchmark compares the current codebase build against a specified baseline NPM version of `@google-cloud/storage` (e.g. comparing Gaxios migration vs baseline `7.19.0`). It measures latency and throughput metrics for standard upload, stream upload, metadata lookup, standard download, stream download, bucket file listing, file existence checks (Exists), updating metadata (Set Metadata), copying files (Copy File), and deleting files (Delete File) scenarios, while tracking heap memory footprint changes.

### Run Example:

1. **Compile the codebase:**
```bash
cd handwritten/storage
npm run compile
```

2. **Execute the benchmark comparison:**
*(Note: `--experimental-specifier-resolution=node` is recommended for ESM-compiled specifiers in node).*
```bash
node --experimental-specifier-resolution=node build/esm/internal-tooling/benchmark.js --projectid <YOUR_PROJECT_ID> --bucket <YOUR_BUCKET_NAME> --iterations 100 --baseline 7.19.0 --fileSize 10485760 --resumable
```

### CLI Parameters:

| Parameter | Description | Requirement | Default |
| --------- | ----------- | :---: | :---: |
| `--projectid` | Google Cloud Project ID | **Required** | - |
| `--bucket` | Cloud Storage Bucket Name to upload/download files | **Required** | - |
| `--iterations` | Number of iterations for each workload scenario | Optional | `100` |
| `--baseline` | Stable baseline NPM version of `@google-cloud/storage` to compare against | Optional | - |
| `--fileSize` | File size in bytes for benchmark uploads/downloads | Optional | `1024` (1KB) |
| `--resumable` | Force resumable upload for the upload scenarios | Optional | - (default behavior) |
Loading
Loading