Conversation
|
| Branch | RSCBC-277-28033795838-170-1 |
| Testbed | ubuntu-latest |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result microseconds (µs) (Result Δ%) | Upper Boundary microseconds (µs) (Limit %) |
|---|---|---|---|
| query | 📈 view plot 🚷 view threshold | 445.30 µs(+5.59%)Baseline: 421.71 µs | 484.96 µs (91.82%) |
| upsert_and_get | 📈 view plot 🚷 view threshold | 420.71 µs(+3.93%)Baseline: 404.80 µs | 465.52 µs (90.37%) |
|
| Branch | RSCBC-277-28038160013-171-1 |
| Testbed | ubuntu-latest |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result microseconds (µs) (Result Δ%) | Upper Boundary microseconds (µs) (Limit %) |
|---|---|---|---|
| query | 📈 view plot 🚷 view threshold | 417.76 µs(-0.94%)Baseline: 421.71 µs | 484.96 µs (86.14%) |
| upsert_and_get | 📈 view plot 🚷 view threshold | 413.82 µs(+2.23%)Baseline: 404.80 µs | 465.52 µs (88.89%) |
855647f to
5732233
Compare
|
| Branch | RSCBC-277-28038724671-172-1 |
| Testbed | ubuntu-latest |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result microseconds (µs) (Result Δ%) | Upper Boundary microseconds (µs) (Limit %) |
|---|---|---|---|
| query | 📈 view plot 🚷 view threshold | 417.36 µs(-1.03%)Baseline: 421.71 µs | 484.96 µs (86.06%) |
| upsert_and_get | 📈 view plot 🚷 view threshold | 397.02 µs(-1.92%)Baseline: 404.80 µs | 465.52 µs (85.28%) |
|
| Branch | RSCBC-277-28039031884-173-1 |
| Testbed | ubuntu-latest |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result microseconds (µs) (Result Δ%) | Upper Boundary microseconds (µs) (Limit %) |
|---|---|---|---|
| query | 📈 view plot 🚷 view threshold | 446.30 µs(+5.83%)Baseline: 421.71 µs | 484.96 µs (92.03%) |
| upsert_and_get | 📈 view plot 🚷 view threshold | 429.39 µs(+6.07%)Baseline: 404.80 µs | 465.52 µs (92.24%) |
e85cccb to
d151b6b
Compare
|
| Branch | RSCBC-277-28041261111-174-1 |
| Testbed | ubuntu-latest |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result microseconds (µs) (Result Δ%) | Upper Boundary microseconds (µs) (Limit %) |
|---|---|---|---|
| query | 📈 view plot 🚷 view threshold | 418.90 µs(-0.67%)Baseline: 421.71 µs | 484.96 µs (86.38%) |
| upsert_and_get | 📈 view plot 🚷 view threshold | 435.90 µs(+7.68%)Baseline: 404.80 µs | 465.52 µs (93.64%) |
|
| Branch | RSCBC-277-28041529880-175-1 |
| Testbed | ubuntu-latest |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result microseconds (µs) (Result Δ%) | Upper Boundary microseconds (µs) (Limit %) |
|---|---|---|---|
| query | 📈 view plot 🚷 view threshold | 457.92 µs(+8.59%)Baseline: 421.71 µs | 484.96 µs (94.42%) |
| upsert_and_get | 📈 view plot 🚷 view threshold | 440.51 µs(+8.82%)Baseline: 404.80 µs | 465.52 µs (94.63%) |
There was a problem hiding this comment.
Pull request overview
Introduces a new performer/ Rust workspace/crate (FIT performer gRPC server) along with vendored FIT protocol protobuf definitions, plus GitHub Actions workflows to build/publish the performer container image and prune stale GHCR images.
Changes:
- Add new
fit-performercrate, including translation layers from FIT protos to SDK options, stream tracking, basic observability wiring, batching, counters, and workload execution. - Vendor FIT protocol protobuf definitions under
performer/proto/and add a build script to generate Rust code. - Add GitHub Actions workflows for building/publishing performer images and pruning stale images; update clippy workflow and workspace membership.
Reviewed changes
Copilot reviewed 129 out of 129 changed files in this pull request and generated 18 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk/couchbase-core/src/memdx/connection.rs | Adds clippy allow for large enum variant warning. |
| performer/src/translations/wait_until_ready_options.rs | Maps wait-until-ready proto options into SDK options. |
| performer/src/translations/subdoc_options.rs | Maps subdoc-related option protos to SDK options. |
| performer/src/translations/search_index_options.rs | Maps search index management option protos to SDK options. |
| performer/src/translations/query_index_options.rs | Maps query index management option protos to SDK options. |
| performer/src/translations/mod.rs | Exposes translation modules. |
| performer/src/translations/collection_manager_settings.rs | Maps collection settings protos to SDK collection settings types. |
| performer/src/translations/collection_manager_options.rs | Maps collection-manager option protos to SDK options. |
| performer/src/translations/cluster_options.rs | Builds SDK cluster options + timeout bundle from proto config/auth. |
| performer/src/translations/bucket_manager_options.rs | Maps bucket-manager option protos to SDK options. |
| performer/src/streams/stream.rs | Adds a unified enum wrapper for supported stream types. |
| performer/src/streams/stream_owner.rs | Adds global stream registry and completion waiting/cleanup. |
| performer/src/streams/mod.rs | Exposes stream modules. |
| performer/src/observability/span_owner.rs | Adds span ownership and span create/finish handling. |
| performer/src/observability/mod.rs | Exposes observability modules. |
| performer/src/main.rs | Adds performer binary entrypoint and logging initialization. |
| performer/src/errors/mod.rs | Exposes performer error module. |
| performer/src/errors/error.rs | Defines performer error type and SDK-to-driver error plumbing. |
| performer/src/counters/mod.rs | Exposes counters module. |
| performer/src/counters/counter.rs | Implements shared counters for bounds/pool selection. |
| performer/src/common/mod.rs | Exposes common utilities (batcher, bounds, executor, etc.). |
| performer/src/common/metrics.rs | Adds metrics reporter that periodically emits JSON metrics results. |
| performer/src/common/location.rs | Adds document location resolution (specific/pool/uuid). |
| performer/src/common/horizontal_scale_runner.rs | Adds workload runner for horizontal scaling execution. |
| performer/src/common/executor.rs | Adds executor for SDK commands with batching/stream/span wiring. |
| performer/src/common/bounds.rs | Adds counter/time bounds execution logic. |
| performer/src/common/batcher.rs | Adds batching queue and periodic flush to gRPC stream. |
| performer/src/commands/wait_until_ready.rs | Adds wait-until-ready command execution wrapper. |
| performer/src/commands/mutations.rs | Adds mutation command trait + result mapping. |
| performer/src/commands/mod.rs | Declares command modules. |
| performer/src/commands/kv_binary.rs | Implements binary KV commands and result mapping. |
| performer/src/commands/helpers.rs | Adds helper functions for results/timestamps/error handling. |
| performer/src/commands/execution.rs | Adds common execution helpers (simple + mutation execution). |
| performer/src/commands/authenticator.rs | Adds set-authenticator command execution wrapper. |
| performer/src/cluster/options.rs | Defines performer-side cluster option bundle types. |
| performer/src/cluster/mod.rs | Exposes cluster modules. |
| performer/src/cluster/connection.rs | Adds cluster connection creation with a connect timeout wrapper. |
| performer/scripts/update-protobuf.sh | Adds script to refresh vendored protocol protos from upstream. |
| performer/README.md | Adds performer build/run/docker documentation. |
| performer/proto/operational/transactions.workload.proto | Adds vendored FIT protocol definitions (transactions workload). |
| performer/proto/operational/transactions.options.proto | Adds vendored FIT protocol definitions (transactions options). |
| performer/proto/operational/transactions.legacy.proto | Adds vendored FIT protocol definitions (legacy transactions). |
| performer/proto/operational/transactions.extensions.proto | Adds vendored FIT protocol definitions (transactions caps). |
| performer/proto/operational/transactions.client_record.proto | Adds vendored FIT protocol definitions (client record). |
| performer/proto/operational/transactions.cleanup.proto | Adds vendored FIT protocol definitions (cleanup). |
| performer/proto/operational/transactions.basic.proto | Adds vendored FIT protocol definitions (basic txn types). |
| performer/proto/operational/streams.top_level.proto | Adds vendored FIT protocol definitions (streams API). |
| performer/proto/operational/shared.transcoders.proto | Adds vendored FIT protocol definitions (transcoders/serializer). |
| performer/proto/operational/shared.transaction_config.proto | Adds vendored FIT protocol definitions (txn config shared). |
| performer/proto/operational/shared.latch.proto | Adds vendored FIT protocol definitions (latches). |
| performer/proto/operational/shared.exceptions.proto | Adds vendored FIT protocol definitions (exception model). |
| performer/proto/operational/shared.echo.proto | Adds vendored FIT protocol definitions (echo). |
| performer/proto/operational/shared.doc_location.proto | Adds vendored FIT protocol definitions (doc location). |
| performer/proto/operational/shared.content.proto | Adds vendored FIT protocol definitions (content/contentAs). |
| performer/proto/operational/shared.collection.proto | Adds vendored FIT protocol definitions (collection/scope). |
| performer/proto/operational/shared.bounds.proto | Adds vendored FIT protocol definitions (bounds/counters). |
| performer/proto/operational/shared.basic.proto | Adds vendored FIT protocol definitions (basic shared types). |
| performer/proto/operational/sdk.search.index_manager.proto | Adds vendored FIT protocol definitions (search index mgmt). |
| performer/proto/operational/sdk.scope.search.index_manager.proto | Adds vendored FIT protocol definitions (scope search index mgmt). |
| performer/proto/operational/sdk.query.proto | Adds vendored FIT protocol definitions (query). |
| performer/proto/operational/sdk.query.index_manager.proto | Adds vendored FIT protocol definitions (query index mgmt). |
| performer/proto/operational/sdk.query.index_manager.options.proto | Adds vendored FIT protocol definitions (query index options). |
| performer/proto/operational/sdk.kv.rangescan.top_level.proto | Adds vendored FIT protocol definitions (KV range scan). |
| performer/proto/operational/sdk.kv.options.proto | Adds vendored FIT protocol definitions (KV options). |
| performer/proto/operational/sdk.kv.mutate_in.proto | Adds vendored FIT protocol definitions (mutateIn). |
| performer/proto/operational/sdk.kv.lookup_in.proto | Adds vendored FIT protocol definitions (lookupIn + replicas). |
| performer/proto/operational/sdk.kv.commands.proto | Adds vendored FIT protocol definitions (KV commands/results). |
| performer/proto/operational/sdk.kv.binary.options.proto | Adds vendored FIT protocol definitions (binary KV options). |
| performer/proto/operational/sdk.kv.binary.commands.proto | Adds vendored FIT protocol definitions (binary KV commands/results). |
| performer/proto/operational/sdk.collection.query.index_manager.proto | Adds vendored FIT protocol definitions (collection query index mgmt). |
| performer/proto/operational/sdk.cluster.wait_until_ready.proto | Adds vendored FIT protocol definitions (waitUntilReady). |
| performer/proto/operational/sdk.cluster.search.index_manager.proto | Adds vendored FIT protocol definitions (cluster search index mgmt). |
| performer/proto/operational/sdk.cluster.query.index_manager.proto | Adds vendored FIT protocol definitions (cluster query index mgmt). |
| performer/proto/operational/sdk.cluster.bucket_manager.proto | Adds vendored FIT protocol definitions (bucket manager). |
| performer/proto/operational/sdk.circuit_breaker.config.proto | Adds vendored FIT protocol definitions (circuit breaker config). |
| performer/proto/operational/sdk.caps.proto | Adds vendored FIT protocol definitions (SDK caps). |
| performer/proto/operational/sdk.bucket.collection_manager.proto | Adds vendored FIT protocol definitions (collection manager). |
| performer/proto/operational/run.workloads.proto | Adds vendored FIT protocol definitions (run workloads). |
| performer/proto/operational/run.top_level.proto | Adds vendored FIT protocol definitions (run top-level). |
| performer/proto/operational/run.config.proto | Adds vendored FIT protocol definitions (run config/streaming). |
| performer/proto/operational/README.md | Adds vendored FIT protocol documentation. |
| performer/proto/operational/performer.caps.proto | Adds vendored FIT protocol definitions (performer caps). |
| performer/proto/operational/observability.top.proto | Adds vendored FIT protocol definitions (span create/finish). |
| performer/proto/operational/observability.config.proto | Adds vendored FIT protocol definitions (observability config). |
| performer/proto/operational/metrics.top_level.proto | Adds vendored FIT protocol definitions (metrics results). |
| performer/proto/operational/meta.workload.proto | Adds vendored FIT protocol definitions (meta workload). |
| performer/proto/operational/hooks.transactions.proto | Adds vendored FIT protocol definitions (txn hooks). |
| performer/proto/columnar/columnar.services.proto | Adds vendored Columnar FIT protocol definitions (services). |
| performer/proto/columnar/columnar.serialization.proto | Adds vendored Columnar FIT protocol definitions (serialization). |
| performer/proto/columnar/columnar.result.proto | Adds vendored Columnar FIT protocol definitions (result wrapper). |
| performer/proto/columnar/columnar.metadata.proto | Adds vendored Columnar FIT protocol definitions (response metadata). |
| performer/proto/columnar/columnar.execution_context.proto | Adds vendored Columnar FIT protocol definitions (execution context). |
| performer/proto/columnar/columnar.errors.proto | Adds vendored Columnar FIT protocol definitions (error model). |
| performer/proto/columnar/columnar.cluster_management.proto | Adds vendored Columnar FIT protocol definitions (cluster mgmt). |
| performer/Dockerfile | Adds Docker build for performer (multi-stage). |
| performer/Cargo.toml | Adds new crate manifest and dependencies. |
| performer/build.rs | Adds proto compilation into Rust modules at build time. |
| performer/.gitignore | Ignores generated src/proto/ output. |
| Cargo.toml | Adds performer to the workspace members list. |
| .github/workflows/prune-stale-images.yml | Adds scheduled GHCR image pruning workflow. |
| .github/workflows/fit-performer-image.yml | Adds workflow to build/publish performer image on push/tags/manual. |
| .github/workflows/clippy.yml | Adjusts clippy runs for workspace + performer. |
| .dockerignore | Adds docker build context exclusions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
| Branch | RSCBC-277-28167089865-176-1 |
| Testbed | ubuntu-latest |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result microseconds (µs) (Result Δ%) | Upper Boundary microseconds (µs) (Limit %) |
|---|---|---|---|
| query | 📈 view plot 🚷 view threshold | 459.40 µs(+8.94%)Baseline: 421.71 µs | 484.96 µs (94.73%) |
| upsert_and_get | 📈 view plot 🚷 view threshold | 453.99 µs(+12.15%)Baseline: 404.80 µs | 465.52 µs (97.52%) |
|
| Branch | RSCBC-277-28167183573-177-1 |
| Testbed | ubuntu-latest |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result microseconds (µs) (Result Δ%) | Upper Boundary microseconds (µs) (Limit %) |
|---|---|---|---|
| query | 📈 view plot 🚷 view threshold | 421.43 µs(-0.07%)Baseline: 421.71 µs | 484.96 µs (86.90%) |
| upsert_and_get | 📈 view plot 🚷 view threshold | 424.93 µs(+4.97%)Baseline: 404.80 µs | 465.52 µs (91.28%) |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
performerdirectory/workspace