Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 2 additions & 1 deletion .github/workflows/snapshot-fork-benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ jobs:
- cloudflare-r2
- tigris
- azure-blob
- tensorlake
# vercel-blob is disabled pending an adapter fix: its manifest-based
# snapshot/fork emulation is unreliable on Vercel Blob's eventually-
# consistent overwrites (stale reads + lost deletes). See providers.ts.
Expand All @@ -80,7 +81,7 @@ jobs:
run: rm -rf results/snapshot-fork/
- name: Run snapshot/fork test
run: |
. benchmarks/scripts/load-vault-secrets.sh '^(AWS_ACCESS_KEY_ID|AWS_SECRET_ACCESS_KEY|AWS_REGION|S3_BUCKET|S3_SNAPSHOT_ACCESS_KEY_ID|S3_SNAPSHOT_SECRET_ACCESS_KEY|S3_SNAPSHOT_BUCKET|R2_ACCESS_KEY_ID|R2_SECRET_ACCESS_KEY|R2_BUCKET|R2_ACCOUNT_ID|R2_SNAPSHOT_ACCESS_KEY_ID|R2_SNAPSHOT_SECRET_ACCESS_KEY|R2_SNAPSHOT_BUCKET|TIGRIS_STORAGE_ACCESS_KEY_ID|TIGRIS_STORAGE_SECRET_ACCESS_KEY|TIGRIS_STORAGE_BUCKET|TIGRIS_SNAPSHOT_ACCESS_KEY|TIGRIS_SNAPSHOT_SECRET_KEY|TIGRIS_SNAPSHOT_STORAGE_BUCKET|BLOB_READ_WRITE_TOKEN|VERCEL_BLOB_BUCKET|GCS_PROJECT_ID|GCS_BUCKET|GCS_CLIENT_EMAIL|GCS_PRIVATE_KEY|AZURE_ACCOUNT_NAME|AZURE_ACCOUNT_KEY|AZURE_CONTAINER|AZURE_SNAPSHOT_ACCOUNT_NAME|AZURE_SNAPSHOT_ACCOUNT_KEY|AZURE_SNAPSHOT_CONTAINER|COMPUTESDK_ADMIN_API_KEY|BENCHMARKS_PLATFORM_API_KEY)'
. benchmarks/scripts/load-vault-secrets.sh '^(AWS_ACCESS_KEY_ID|AWS_SECRET_ACCESS_KEY|AWS_REGION|S3_BUCKET|S3_SNAPSHOT_ACCESS_KEY_ID|S3_SNAPSHOT_SECRET_ACCESS_KEY|S3_SNAPSHOT_BUCKET|R2_ACCESS_KEY_ID|R2_SECRET_ACCESS_KEY|R2_BUCKET|R2_ACCOUNT_ID|R2_SNAPSHOT_ACCESS_KEY_ID|R2_SNAPSHOT_SECRET_ACCESS_KEY|R2_SNAPSHOT_BUCKET|TIGRIS_STORAGE_ACCESS_KEY_ID|TIGRIS_STORAGE_SECRET_ACCESS_KEY|TIGRIS_STORAGE_BUCKET|TIGRIS_SNAPSHOT_ACCESS_KEY|TIGRIS_SNAPSHOT_SECRET_KEY|TIGRIS_SNAPSHOT_STORAGE_BUCKET|BLOB_READ_WRITE_TOKEN|VERCEL_BLOB_BUCKET|GCS_PROJECT_ID|GCS_BUCKET|GCS_CLIENT_EMAIL|GCS_PRIVATE_KEY|AZURE_ACCOUNT_NAME|AZURE_ACCOUNT_KEY|AZURE_CONTAINER|AZURE_SNAPSHOT_ACCOUNT_NAME|AZURE_SNAPSHOT_ACCOUNT_KEY|AZURE_SNAPSHOT_CONTAINER|TENSORLAKE_API_KEY|TENSORLAKE_API_URL|TENSORLAKE_ORGANIZATION_ID|TENSORLAKE_PROJECT_ID|TENSORLAKE_FILESYSTEM|COMPUTESDK_ADMIN_API_KEY|BENCHMARKS_PLATFORM_API_KEY)'

npx tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/snapshot-fork.bench.ts \
--provider ${{ matrix.provider }} \
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/storage-benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ jobs:
- vercel-blob
- gcs
- azure-blob
- tensorlake
file_size: ${{ (github.event_name == 'workflow_dispatch' && github.event.inputs.file_size != '' && fromJson(format('["{0}"]', github.event.inputs.file_size))) || (github.event_name == 'push' && fromJson('["1MB"]')) || fromJson('["1MB","4MB","10MB","16MB"]') }}
steps:
- uses: actions/checkout@v4
Expand All @@ -79,7 +80,7 @@ jobs:
run: rm -rf results/storage/
- name: Run storage benchmark
run: |
. benchmarks/scripts/load-vault-secrets.sh '^(AWS_ACCESS_KEY_ID|AWS_SECRET_ACCESS_KEY|AWS_REGION|S3_BUCKET|R2_ACCESS_KEY_ID|R2_SECRET_ACCESS_KEY|R2_BUCKET|R2_ACCOUNT_ID|TIGRIS_STORAGE_ACCESS_KEY_ID|TIGRIS_STORAGE_SECRET_ACCESS_KEY|TIGRIS_STORAGE_BUCKET|BLOB_READ_WRITE_TOKEN|VERCEL_BLOB_BUCKET|GCS_PROJECT_ID|GCS_BUCKET|GCS_CLIENT_EMAIL|GCS_PRIVATE_KEY|AZURE_ACCOUNT_NAME|AZURE_ACCOUNT_KEY|AZURE_CONTAINER|COMPUTESDK_ADMIN_API_KEY|BENCHMARKS_PLATFORM_API_KEY)'
. benchmarks/scripts/load-vault-secrets.sh '^(AWS_ACCESS_KEY_ID|AWS_SECRET_ACCESS_KEY|AWS_REGION|S3_BUCKET|R2_ACCESS_KEY_ID|R2_SECRET_ACCESS_KEY|R2_BUCKET|R2_ACCOUNT_ID|TIGRIS_STORAGE_ACCESS_KEY_ID|TIGRIS_STORAGE_SECRET_ACCESS_KEY|TIGRIS_STORAGE_BUCKET|BLOB_READ_WRITE_TOKEN|VERCEL_BLOB_BUCKET|GCS_PROJECT_ID|GCS_BUCKET|GCS_CLIENT_EMAIL|GCS_PRIVATE_KEY|AZURE_ACCOUNT_NAME|AZURE_ACCOUNT_KEY|AZURE_CONTAINER|TENSORLAKE_API_KEY|TENSORLAKE_API_URL|TENSORLAKE_ORGANIZATION_ID|TENSORLAKE_PROJECT_ID|TENSORLAKE_FILESYSTEM|COMPUTESDK_ADMIN_API_KEY|BENCHMARKS_PLATFORM_API_KEY)'

FILE_SIZE="${{ matrix.file_size }}"
npx tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/storage.bench.ts \
Expand Down
12 changes: 12 additions & 0 deletions benchmarks/scripts/provider-vars.json
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,12 @@
"AZURE_ACCOUNT_NAME",
"AZURE_ACCOUNT_KEY",
"AZURE_CONTAINER"
],
"tensorlake": [
"TENSORLAKE_API_KEY",
"TENSORLAKE_ORGANIZATION_ID",
"TENSORLAKE_PROJECT_ID",
"TENSORLAKE_FILESYSTEM"
]
},
"scale": {
Expand Down Expand Up @@ -267,6 +273,12 @@
"AZURE_SNAPSHOT_ACCOUNT_NAME",
"AZURE_SNAPSHOT_ACCOUNT_KEY",
"AZURE_SNAPSHOT_CONTAINER"
],
"tensorlake": [
"TENSORLAKE_API_KEY",
"TENSORLAKE_ORGANIZATION_ID",
"TENSORLAKE_PROJECT_ID",
"TENSORLAKE_FILESYSTEM"
]
}
}
23 changes: 23 additions & 0 deletions benchmarks/storage/providers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { tigris } from '@storagesdk/adapters/tigris';
import { vercel } from '@storagesdk/adapters/vercel';
import { gcs } from '@storagesdk/adapters/gcs';
import { azure } from '@storagesdk/adapters/azure';
import { tensorlake } from '@storagesdk/adapters/tensorlake';
import type { StorageProviderConfig } from './types.js';

/**
Expand Down Expand Up @@ -187,6 +188,28 @@ export const storageProviders: StorageProviderConfig[] = [
}),
},
},
{
name: 'tensorlake',
requiredEnvVars: [
'TENSORLAKE_API_KEY',
'TENSORLAKE_ORGANIZATION_ID',
'TENSORLAKE_PROJECT_ID',
'TENSORLAKE_FILESYSTEM',
],
bucket: process.env.TENSORLAKE_FILESYSTEM!,
createStorage: () => new Storage({
adapter: tensorlake({
apiKey: process.env.TENSORLAKE_API_KEY!,
organizationId: process.env.TENSORLAKE_ORGANIZATION_ID!,
projectId: process.env.TENSORLAKE_PROJECT_ID!,
filesystem: process.env.TENSORLAKE_FILESYSTEM!,
...(process.env.TENSORLAKE_API_URL
? { apiUrl: process.env.TENSORLAKE_API_URL }
: {}),
}),
}),
fileSizes: [1 * 1024 * 1024, 4 * 1024 * 1024, 10 * 1024 * 1024, 16 * 1024 * 1024],
},
Comment thread
kisernl marked this conversation as resolved.
//
// add providers above
];
9 changes: 6 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,14 @@
"bench:storage:s3": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/storage.bench.ts --provider aws-s3",
"bench:storage:r2": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/storage.bench.ts --provider cloudflare-r2",
"bench:storage:tigris": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/storage.bench.ts --provider tigris",
"bench:storage:tensorlake": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/storage.bench.ts --provider tensorlake",
"bench:storage:1mb": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/storage.bench.ts --file-size 1MB",
"bench:storage:4mb": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/storage.bench.ts --file-size 4MB",
"bench:storage:10mb": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/storage.bench.ts --file-size 10MB",
"bench:storage:16mb": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/storage.bench.ts --file-size 16MB",
"bench:snapshot-fork": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/snapshot-fork.bench.ts",
"bench:snapshot-fork:tigris": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/snapshot-fork.bench.ts --provider tigris",
"bench:snapshot-fork:tensorlake": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/snapshot-fork.bench.ts --provider tensorlake",
"bench:snapshot-fork:s3": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/snapshot-fork.bench.ts --provider aws-s3",
"bench:snapshot-fork:wide": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/snapshot-fork.bench.ts --dataset wide",
"bench:snapshot-fork:deep": "tsx packages/benchsdk-runner/dist/bin.js run benchmarks/storage/snapshot-fork.bench.ts --dataset deep",
Expand Down Expand Up @@ -137,8 +139,8 @@
"@computesdk/vercel": "^1.7.31",
"@electric-sql/pglite": "^0.2.14",
"@google-cloud/storage": "^7.21.0",
"@storagesdk/adapters": "^0.7.1",
"@storagesdk/core": "^0.4.2",
"@storagesdk/adapters": "^0.10.0",
"@storagesdk/core": "^0.5.0",
"@superserve/sdk": "^0.8.1",
"@tigrisdata/storage": "^3.16.0",
"@vercel/blob": "^2.5.0",
Expand All @@ -148,7 +150,8 @@
"p-limit": "^7.3.0",
"pg": "^8.22.0",
"playwright-core": "^1.61.1",
"sql.js": "^1.13.0"
"sql.js": "^1.13.0",
"tensorlake": "0.5.89"
},
"devDependencies": {
"@changesets/cli": "^2.27.12",
Expand Down
50 changes: 38 additions & 12 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading