This tool runs continuous workload probes against Cloud Spanner and supports classic routing vs. location-aware routing (GOOGLE_SPANNER_EXPERIMENTAL_LOCATION_API=true).
go run ./bypass-performance
SPANNER_DATABASE_PATH: full database path, e.g. projects/p/instances/i/databases/d.GOOGLE_CLOUD_PROJECT: used when SPANNER_DATABASE_PATH is unset. Default: default.SPANNER_INSTANCE: used when SPANNER_DATABASE_PATH is unset. Default: default.SPANNER_DATABASE: used when SPANNER_DATABASE_PATH is unset. Default: db.ENDPOINT: Spanner endpoint. Default: spanner.spanner-ns:15000.INSECURE: use plaintext + no auth (true|false). Default: true.GOOGLE_SPANNER_EXPERIMENTAL_LOCATION_API: set true to enable bypass routing in client.PROBE_TYPE: default strong_read.QUERY_MODE: query execution mode for query probes (normal|stats). Default: normal.QPS: target QPS. Default: 4.PARALLELISM: max in-flight requests. Default: 8.WARMUP_CYCLES: warmup request count. Default: 1000.LOG_INTERVAL_SECONDS: stats print interval. Default: 10.NUM_ROWS: key-space size. Default: 10000000.PAYLOAD_SIZE: write payload size. Default: 1000.MAX_STALENESS_SECONDS: staleness for stale probes. Default: 60.OTEL_ENABLED: enable/disable OTel init (true|false). Default: true.OTEL_PROJECT_ID: metrics/traces project id. Default: outbound-flight.OTEL_SERVICE_NAME: OTel service.name. Default: irahul-gbypass.OTEL_METRIC_PREFIX: metric descriptor prefix. Default: custom.googleapis.com/irahul.PROBE_TRACING_ENABLED: enable/disable trace pipeline for probe process (true|false). When false, probe spans and Spanner end-to-end traces are disabled. Default: true.OTEL_TRACE_SAMPLING_FRACTION: trace sampling ratio in [0,1]. Default: 1.0.OTEL_METRIC_EXPORT_INTERVAL_SECONDS: metric export interval. Default: 10.CLOUD_TRACE_ENDPOINT: optional Cloud Trace override endpoint.SPANNER_MONITORING_HOST: optional Cloud Monitoring override endpoint.SPANNER_ENABLE_END_TO_END_TRACING: enables client end-to-end tracing (true|false). Default: true.strong_readstale_readread_writerr_occ_dmldmlblind_dmlmulti_blind_dmlstrong_querystale_querystale_query_test (runs exactly 3 stale query requests on fixed key 5000000, then exits)multi_use_ro_querywritewrite_no_rp