Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
042dca2
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
5f18f7e
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
288e31a
lint fix
thiyaguk09 Jun 23, 2026
fbedc7c
fix(storage): Invocation ID is not retained on multipart upload retri…
thiyaguk09 Jul 28, 2026
053428f
test: update resumable upload test mocks to use URL and Headers objects
thiyaguk09 Aug 27, 2026
9764d21
style: apply prettier formatting throughout the codebase to ensure co…
thiyaguk09 Aug 28, 2026
b20961b
refactor: improve type safety and remove any casts across storage tra…
thiyaguk09 Aug 28, 2026
d8b93e8
refactor: move upload initialization into the writing event pipeline …
thiyaguk09 Aug 28, 2026
b0cd35d
fix(storage): optimize stream download latency for gaxios
thiyaguk09 Aug 28, 2026
c1fc1b9
refactor: clean up benchmark utility with improved formatting and add…
thiyaguk09 Aug 28, 2026
4a73eb4
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
320b5cc
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
c2710bf
lint fix
thiyaguk09 Jun 23, 2026
463e7f8
fix(storage): Invocation ID is not retained on multipart upload retri…
thiyaguk09 Jul 28, 2026
ca30b2e
test: update resumable upload test mocks to use URL and Headers objects
thiyaguk09 Aug 27, 2026
01e1f17
style: apply prettier formatting throughout the codebase to ensure co…
thiyaguk09 Aug 28, 2026
d104ded
refactor: improve type safety and remove any casts across storage tra…
thiyaguk09 Aug 28, 2026
b541179
refactor: move upload initialization into the writing event pipeline …
thiyaguk09 Aug 28, 2026
6a29641
Merge remote-tracking branch 'upstream/storage-gaxios-migration' into…
thiyaguk09 Aug 31, 2026
2499646
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
6037752
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
6c0af26
lint fix
thiyaguk09 Jun 23, 2026
9fa92c6
fix(storage): Invocation ID is not retained on multipart upload retri…
thiyaguk09 Jul 28, 2026
d59f213
test: update resumable upload test mocks to use URL and Headers objects
thiyaguk09 Aug 27, 2026
3ec9583
style: apply prettier formatting throughout the codebase to ensure co…
thiyaguk09 Aug 28, 2026
b9e5bb9
refactor: improve type safety and remove any casts across storage tra…
thiyaguk09 Aug 28, 2026
9e948e8
refactor: move upload initialization into the writing event pipeline …
thiyaguk09 Aug 28, 2026
8bd2728
chore: update test formatting and refactor IP filter metadata tests t…
thiyaguk09 Aug 31, 2026
b2e9e05
refactor: update header type definitions in resumable upload tests to…
thiyaguk09 Aug 31, 2026
6b1f355
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Aug 31, 2026
aa4450d
fix: use object property assignment instead of Headers.set for X-Uplo…
thiyaguk09 Aug 31, 2026
87e8b01
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
79f93ab
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
620e0c0
lint fix
thiyaguk09 Jun 23, 2026
2476994
fix(storage): Invocation ID is not retained on multipart upload retri…
thiyaguk09 Jul 28, 2026
25de310
test: update resumable upload test mocks to use URL and Headers objects
thiyaguk09 Aug 27, 2026
854011f
style: apply prettier formatting throughout the codebase to ensure co…
thiyaguk09 Aug 28, 2026
117ea85
refactor: improve type safety and remove any casts across storage tra…
thiyaguk09 Aug 28, 2026
9b97153
refactor: move upload initialization into the writing event pipeline …
thiyaguk09 Aug 28, 2026
7823f87
chore: update test formatting and refactor IP filter metadata tests t…
thiyaguk09 Aug 31, 2026
3ead0d8
refactor: update header type definitions in resumable upload tests to…
thiyaguk09 Aug 31, 2026
2bc2eff
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Sep 1, 2026
aa90879
fix(storage): standardize URL formatting and enhance transport retry
thiyaguk09 May 7, 2026
589ee20
fix(storage): resolve transport and retry issues (#8235)
thiyaguk09 Jun 23, 2026
b7a71e7
lint fix
thiyaguk09 Jun 23, 2026
3a9c6f6
fix(storage): Invocation ID is not retained on multipart upload retri…
thiyaguk09 Jul 28, 2026
11d30cb
test: update resumable upload test mocks to use URL and Headers objects
thiyaguk09 Aug 27, 2026
aa72b03
style: apply prettier formatting throughout the codebase to ensure co…
thiyaguk09 Aug 28, 2026
5c7fb31
refactor: improve type safety and remove any casts across storage tra…
thiyaguk09 Aug 28, 2026
8d3f0f0
refactor: move upload initialization into the writing event pipeline …
thiyaguk09 Aug 28, 2026
bf72fb2
chore: update test formatting and refactor IP filter metadata tests t…
thiyaguk09 Aug 31, 2026
3eb2445
refactor: update header type definitions in resumable upload tests to…
thiyaguk09 Aug 31, 2026
79642ce
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Sep 3, 2026
0ea86c7
Merge branch 'storage-gaxios-migration' into chore/344856049-gaxios-b…
thiyaguk09 Sep 4, 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