redis-benchmarks-specification 0.1.339__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of redis-benchmarks-specification might be problematic. Click here for more details.
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/PKG-INFO +1 -1
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/pyproject.toml +1 -1
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__builder__/builder.py +140 -2
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__cli__/args.py +1 -1
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__cli__/cli.py +10 -6
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/env.py +14 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/runners.py +23 -8
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py +32 -17
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/LICENSE +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/Readme.md +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__api__/Readme.md +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__api__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__api__/api.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__api__/app.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__builder__/Readme.md +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__builder__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__builder__/schema.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__cli__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__cli__/stats.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/builder_schema.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/github.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/package.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/runner.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/spec.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/suppress_warnings.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__common__/timeseries.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__compare__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__compare__/args.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__compare__/compare.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__runner__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__runner__/args.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__runner__/remote_profiling.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__runner__/runner.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/args.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/artifacts.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/build_info.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/clients.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/cpuset.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/docker.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/post_processing.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__setups__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__setups__/topologies.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__spec__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__spec__/args.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__spec__/cli.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__watchdog__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__watchdog__/args.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/__watchdog__/watchdog.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/commands/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/commands/commands.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/setups/builders/gcc:15.2.0-amd64-debian-bookworm-default.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/setups/builders/gcc:15.2.0-arm64-debian-bookworm-default.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/setups/platforms/aws-ec2-1node-c5.4xlarge.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/setups/topologies/topologies.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/defaults.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/generate.py +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-hash-hgetall-50-fields-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-20-fields-with-1B-values-pipeline-30.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-1000B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Kkeys-load-hash-50-fields-with-10000B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Kkeys-load-list-rpush-bulkload-pipeline-50.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Kkeys-load-list-with-10B-values-pipeline-50.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-string-get-10B-pipeline-100-nokeyprefix.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Kkeys-hash-listpack-500-fields-update-20-fields-with-1B-to-64B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-100B-expire-use-case.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-expire-use-case.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-psetex-expire-use-case.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-setex-expire-use-case.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-1KiB-expire-use-case.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-4KiB-expire-use-case.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-exists-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expire-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expireat-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-count-500-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-cursor-count-500-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-cursor-count-5000-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-cursor-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-type-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-touch-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-ttl-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hexists.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hget-hgetall-hkeys-hvals-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hgetall-50-fields-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hincrby.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hincrbyfloat.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hmget-5-fields-with-100B-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-transactions-multi-exec-pipeline-20.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-1KiB-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-rpoplpush-with-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-rpush-with-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-1KiB-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-19-digits-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-19-digits.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100-nokeyprefix.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-50.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-500.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-1KiB-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-1KiB-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-20KiB-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-listpack-with-100-elements-double-score.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-append-1-100B-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-append-1-100B.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-decr.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-100-nokeyprefix.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-100.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-50.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-500.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-32B-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-32B.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incr-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrby-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrby.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrbyfloat-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrbyfloat.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-int-encoding-strlen-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mget-1KiB.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-with-expiration-240B-400_conns.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-set-with-ex-100B-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setex-100B-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setget200c-1KiB-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setrange-100B-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setrange-100B.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-100M-bits-bitmap-bitcount.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-1Billion-bits-bitmap-bitcount.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-2-elements-geopos.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-2-elements-geosearch-fromlonlat-withcoord.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-1K-fields-hgetall-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-1K-fields-hgetall.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-hscan-1K-fields-100B-values-cursor-count-1000.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-hscan-1K-fields-10B-values-cursor-count-100.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-hscan-1K-fields-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-hscan-50-fields-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-int-7bit-uint-lrange-all-elements-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-int-lrange-all-elements-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-llen-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-lrange-all-elements-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-lrange-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lindex-integer.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lindex-string-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lindex-string.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-linsert-lrem-integer.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-linsert-lrem-string.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lpos-integer.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lpos-string.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-1K-elements-lrange-all-elements-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-1K-elements-lrange-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-2K-elements-quicklist-lrange-all-elements-longs.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-load-hash-1K-fields-with-5B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-load-zset-with-5-elements-parsing-float-score.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-load-zset-with-5-elements-parsing-hexa-score.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-pfadd-4KB-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smismember.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-sismember-is-a-member.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-sismember-not-a-member.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smembers.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smismember.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-sscan.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10M-elements-sismember-50pct-chance.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10M-elements-srem-50pct-chance.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-smembers.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-sscan-cursor-count-100.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-sscan.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1M-elements-sismember-50pct-chance.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-200K-elements-sadd-constant.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-2M-elements-sadd-increasing.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zincrby-1M-elements-pipeline-1.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-100K-elements-pipeline-1.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-10M-elements-pipeline-1.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-1M-elements-pipeline-1.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrem-5M-elements-pipeline-1.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements-long-scores.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrange-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements-long-scores.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zscan.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1K-elements-zrange-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1K-elements-zscan.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zremrangebyscore-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zrevrange-withscores-5-elements-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-600K-elements-zrangestore-1K-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-600K-elements-zrangestore-300K-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-listpack-zrank-100-elements-pipeline-1.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-eval-hset-expire.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-evalsha-hset-expire.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sdiff.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sinter.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sunion.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunion.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunionstore.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-400_conns.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-40_conns.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-2000_conns.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-400_conns.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-40_conns.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-400_conns.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-2000_conns.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-400_conns.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-5200_conns.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-50-50-with-512B-values-with-expiration-pipeline-10-400_conns.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-connection-hello-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-connection-hello.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-connection-ping-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-mixed-100-channels-128B-100-publishers-100-subscribers.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-mixed-100-channels-128B-100-publishers-1000-subscribers.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-mixed-100-channels-128B-100-publishers-5000-subscribers.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-mixed-100-channels-128B-100-publishers-50K-subscribers-5k-conns.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-publish-1K-channels-10B-no-subscribers.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-server-time-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-caching-hash-100k-sessions.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-caching-string-100k-sessions.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-storage-100k-sessions.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-storage-1k-sessions.yml +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/test-suites/template.txt +0 -0
- {redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/redis_benchmarks_specification/vector-search-test-suites/vector_db_benchmark_test.yml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: redis-benchmarks-specification
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: The Redis benchmarks specification describes the cross-language/tools requirements and expectations to foster performance and observability standards around redis related technologies. Members from both industry and academia, including organizations and individuals are encouraged to contribute.
|
|
5
5
|
Author: filipecosta90
|
|
6
6
|
Author-email: filipecosta.90@gmail.com
|
{redis_benchmarks_specification-0.1.339 → redis_benchmarks_specification-0.2.0}/pyproject.toml
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "redis-benchmarks-specification"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.2.0"
|
|
4
4
|
description = "The Redis benchmarks specification describes the cross-language/tools requirements and expectations to foster performance and observability standards around redis related technologies. Members from both industry and academia, including organizations and individuals are encouraged to contribute."
|
|
5
5
|
authors = ["filipecosta90 <filipecosta.90@gmail.com>","Redis Performance Group <performance@redis.com>"]
|
|
6
6
|
readme = "Readme.md"
|
|
@@ -28,6 +28,7 @@ from redis_benchmarks_specification.__common__.env import (
|
|
|
28
28
|
SPECS_PATH_SETUPS,
|
|
29
29
|
STREAM_GH_EVENTS_COMMIT_BUILDERS_CG,
|
|
30
30
|
STREAM_KEYNAME_NEW_BUILD_EVENTS,
|
|
31
|
+
get_arch_specific_stream_name,
|
|
31
32
|
REDIS_HEALTH_CHECK_INTERVAL,
|
|
32
33
|
REDIS_SOCKET_TIMEOUT,
|
|
33
34
|
REDIS_BINS_EXPIRE_SECS,
|
|
@@ -47,6 +48,69 @@ from redis_benchmarks_specification.__common__.package import (
|
|
|
47
48
|
PERFORMANCE_GH_TOKEN = os.getenv("PERFORMANCE_GH_TOKEN", None)
|
|
48
49
|
|
|
49
50
|
|
|
51
|
+
def clear_pending_messages_for_builder_consumer(conn, builder_group, builder_id):
|
|
52
|
+
"""Clear all pending messages for a specific builder consumer on startup"""
|
|
53
|
+
consumer_name = f"{builder_group}-proc#{builder_id}"
|
|
54
|
+
|
|
55
|
+
try:
|
|
56
|
+
# Get pending messages for this specific consumer
|
|
57
|
+
pending_info = conn.xpending_range(
|
|
58
|
+
STREAM_KEYNAME_GH_EVENTS_COMMIT,
|
|
59
|
+
builder_group,
|
|
60
|
+
min="-",
|
|
61
|
+
max="+",
|
|
62
|
+
count=1000, # Get up to 1000 pending messages
|
|
63
|
+
consumername=consumer_name,
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
if pending_info:
|
|
67
|
+
message_ids = [msg["message_id"] for msg in pending_info]
|
|
68
|
+
logging.info(
|
|
69
|
+
f"Found {len(message_ids)} pending messages for builder consumer {consumer_name}. Clearing them..."
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
# Acknowledge all pending messages to clear them
|
|
73
|
+
ack_count = conn.xack(
|
|
74
|
+
STREAM_KEYNAME_GH_EVENTS_COMMIT, builder_group, *message_ids
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
logging.info(
|
|
78
|
+
f"Successfully cleared {ack_count} pending messages for builder consumer {consumer_name}"
|
|
79
|
+
)
|
|
80
|
+
else:
|
|
81
|
+
logging.info(
|
|
82
|
+
f"No pending messages found for builder consumer {consumer_name}"
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
except redis.exceptions.ResponseError as e:
|
|
86
|
+
if "NOGROUP" in str(e):
|
|
87
|
+
logging.info(f"Builder consumer group {builder_group} does not exist yet")
|
|
88
|
+
else:
|
|
89
|
+
logging.warning(f"Error clearing pending messages: {e}")
|
|
90
|
+
except Exception as e:
|
|
91
|
+
logging.error(f"Unexpected error clearing pending messages: {e}")
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
def reset_builder_consumer_group_to_latest(conn, builder_group):
|
|
95
|
+
"""Reset the builder consumer group position to only read new messages (skip old ones)"""
|
|
96
|
+
try:
|
|
97
|
+
# Set the consumer group position to '$' (latest) to skip all existing messages
|
|
98
|
+
conn.xgroup_setid(STREAM_KEYNAME_GH_EVENTS_COMMIT, builder_group, id="$")
|
|
99
|
+
logging.info(
|
|
100
|
+
f"Reset builder consumer group {builder_group} position to latest - will only process new messages"
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
except redis.exceptions.ResponseError as e:
|
|
104
|
+
if "NOGROUP" in str(e):
|
|
105
|
+
logging.info(f"Builder consumer group {builder_group} does not exist yet")
|
|
106
|
+
else:
|
|
107
|
+
logging.warning(f"Error resetting builder consumer group position: {e}")
|
|
108
|
+
except Exception as e:
|
|
109
|
+
logging.error(
|
|
110
|
+
f"Unexpected error resetting builder consumer group position: {e}"
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
|
|
50
114
|
class ZipFileWithPermissions(ZipFile):
|
|
51
115
|
def _extract_member(self, member, targetpath, pwd):
|
|
52
116
|
if not isinstance(member, ZipInfo):
|
|
@@ -104,6 +168,12 @@ def main():
|
|
|
104
168
|
)
|
|
105
169
|
parser.add_argument("--github_token", type=str, default=PERFORMANCE_GH_TOKEN)
|
|
106
170
|
parser.add_argument("--pull-request", type=str, default=None, nargs="?", const="")
|
|
171
|
+
parser.add_argument(
|
|
172
|
+
"--skip-clear-pending-on-startup",
|
|
173
|
+
default=False,
|
|
174
|
+
action="store_true",
|
|
175
|
+
help="Skip automatically clearing pending messages and resetting consumer group position on startup. By default, pending messages are cleared and consumer group is reset to latest position to skip old work and recover from crashes.",
|
|
176
|
+
)
|
|
107
177
|
args = parser.parse_args()
|
|
108
178
|
if args.logname is not None:
|
|
109
179
|
print("Writting log to {}".format(args.logname))
|
|
@@ -169,6 +239,19 @@ def main():
|
|
|
169
239
|
builder_id = "1"
|
|
170
240
|
|
|
171
241
|
builder_consumer_group_create(conn, builder_group)
|
|
242
|
+
|
|
243
|
+
# Clear pending messages and reset consumer group position by default (unless explicitly skipped)
|
|
244
|
+
if not args.skip_clear_pending_on_startup:
|
|
245
|
+
logging.info(
|
|
246
|
+
"Clearing pending messages and resetting builder consumer group position on startup (default behavior)"
|
|
247
|
+
)
|
|
248
|
+
clear_pending_messages_for_builder_consumer(conn, builder_group, builder_id)
|
|
249
|
+
reset_builder_consumer_group_to_latest(conn, builder_group)
|
|
250
|
+
else:
|
|
251
|
+
logging.info(
|
|
252
|
+
"Skipping pending message cleanup and builder consumer group reset as requested"
|
|
253
|
+
)
|
|
254
|
+
|
|
172
255
|
if args.github_token is not None:
|
|
173
256
|
logging.info("detected a github token. will update as much as possible!!! =)")
|
|
174
257
|
previous_id = args.consumer_start_id
|
|
@@ -268,7 +351,32 @@ def builder_process_stream(
|
|
|
268
351
|
build_request_arch, arch
|
|
269
352
|
)
|
|
270
353
|
)
|
|
354
|
+
# Acknowledge the message even though we're skipping it
|
|
355
|
+
ack_reply = conn.xack(
|
|
356
|
+
STREAM_KEYNAME_GH_EVENTS_COMMIT,
|
|
357
|
+
STREAM_GH_EVENTS_COMMIT_BUILDERS_CG,
|
|
358
|
+
streamId,
|
|
359
|
+
)
|
|
360
|
+
if type(ack_reply) == bytes:
|
|
361
|
+
ack_reply = ack_reply.decode()
|
|
362
|
+
if ack_reply == "1" or ack_reply == 1:
|
|
363
|
+
logging.info(
|
|
364
|
+
"Successfully acknowledged build variation stream with id {} (filtered by arch).".format(
|
|
365
|
+
streamId
|
|
366
|
+
)
|
|
367
|
+
)
|
|
368
|
+
else:
|
|
369
|
+
logging.error(
|
|
370
|
+
"Unable to acknowledge build variation stream with id {}. XACK reply {}".format(
|
|
371
|
+
streamId, ack_reply
|
|
372
|
+
)
|
|
373
|
+
)
|
|
271
374
|
return previous_id, new_builds_count, build_stream_fields_arr
|
|
375
|
+
else:
|
|
376
|
+
logging.info(
|
|
377
|
+
"No arch info found on the stream. Using default arch {}.".format(arch)
|
|
378
|
+
)
|
|
379
|
+
build_request_arch = arch
|
|
272
380
|
|
|
273
381
|
home = str(Path.home())
|
|
274
382
|
if b"git_hash" in testDetails:
|
|
@@ -430,7 +538,7 @@ def builder_process_stream(
|
|
|
430
538
|
server_name = testDetails[b"server_name"].decode()
|
|
431
539
|
|
|
432
540
|
# Check if artifacts already exist before building
|
|
433
|
-
prefix = f"github_org={github_org}/github_repo={github_repo}/git_branch={str(git_branch)}/git_version={str(git_version)}/git_hash={str(git_hash)}"
|
|
541
|
+
prefix = f"build_spec={build_spec}/github_org={github_org}/github_repo={github_repo}/git_branch={str(git_branch)}/git_version={str(git_version)}/git_hash={str(git_hash)}"
|
|
434
542
|
|
|
435
543
|
# Create a comprehensive build signature that includes all build-affecting parameters
|
|
436
544
|
import hashlib
|
|
@@ -496,6 +604,32 @@ def builder_process_stream(
|
|
|
496
604
|
github_repo,
|
|
497
605
|
artifact_keys, # Pass existing artifact keys
|
|
498
606
|
)
|
|
607
|
+
# Add to benchmark stream even when reusing artifacts
|
|
608
|
+
if result is True:
|
|
609
|
+
arch_specific_stream = get_arch_specific_stream_name(build_arch)
|
|
610
|
+
logging.info(
|
|
611
|
+
f"Adding reused build work to architecture-specific stream: {arch_specific_stream}"
|
|
612
|
+
)
|
|
613
|
+
benchmark_stream_id = conn.xadd(
|
|
614
|
+
arch_specific_stream, build_stream_fields
|
|
615
|
+
)
|
|
616
|
+
logging.info(
|
|
617
|
+
"successfully reused build variant {} for redis git_sha {}. Stream id: {}".format(
|
|
618
|
+
id, git_hash, benchmark_stream_id
|
|
619
|
+
)
|
|
620
|
+
)
|
|
621
|
+
streamId_decoded = streamId.decode()
|
|
622
|
+
benchmark_stream_id_decoded = benchmark_stream_id.decode()
|
|
623
|
+
builder_list_completed = (
|
|
624
|
+
f"builder:{streamId_decoded}:builds_completed"
|
|
625
|
+
)
|
|
626
|
+
conn.lpush(builder_list_completed, benchmark_stream_id_decoded)
|
|
627
|
+
conn.expire(builder_list_completed, REDIS_BINS_EXPIRE_SECS)
|
|
628
|
+
logging.info(
|
|
629
|
+
f"Adding information of build->benchmark stream info in list {builder_list_completed}. Adding benchmark stream id: {benchmark_stream_id_decoded}"
|
|
630
|
+
)
|
|
631
|
+
build_stream_fields_arr.append(build_stream_fields)
|
|
632
|
+
new_builds_count = new_builds_count + 1
|
|
499
633
|
continue # Skip to next build spec
|
|
500
634
|
|
|
501
635
|
logging.info(
|
|
@@ -583,8 +717,12 @@ def builder_process_stream(
|
|
|
583
717
|
None, # existing_artifact_keys - None for new builds
|
|
584
718
|
)
|
|
585
719
|
if result is True:
|
|
720
|
+
arch_specific_stream = get_arch_specific_stream_name(build_arch)
|
|
721
|
+
logging.info(
|
|
722
|
+
f"Adding new build work to architecture-specific stream: {arch_specific_stream}"
|
|
723
|
+
)
|
|
586
724
|
benchmark_stream_id = conn.xadd(
|
|
587
|
-
|
|
725
|
+
arch_specific_stream, build_stream_fields
|
|
588
726
|
)
|
|
589
727
|
logging.info(
|
|
590
728
|
"sucessfully built build variant {} for redis git_sha {}. Stream id: {}".format(
|
|
@@ -138,7 +138,7 @@ def spec_cli_args(parser):
|
|
|
138
138
|
parser.add_argument("--gh_repo", type=str, default="redis")
|
|
139
139
|
parser.add_argument("--server_name", type=str, default=None)
|
|
140
140
|
parser.add_argument("--run_image", type=str, default="redis")
|
|
141
|
-
parser.add_argument("--
|
|
141
|
+
parser.add_argument("--arch", type=str, default="amd64")
|
|
142
142
|
parser.add_argument("--id", type=str, default="dockerhub")
|
|
143
143
|
parser.add_argument("--mnt_point", type=str, default="")
|
|
144
144
|
parser.add_argument("--trigger-unstable-commits", type=bool, default=True)
|
|
@@ -44,6 +44,7 @@ from redis_benchmarks_specification.__common__.env import (
|
|
|
44
44
|
STREAM_KEYNAME_GH_EVENTS_COMMIT,
|
|
45
45
|
STREAM_GH_EVENTS_COMMIT_BUILDERS_CG,
|
|
46
46
|
STREAM_KEYNAME_NEW_BUILD_EVENTS,
|
|
47
|
+
get_arch_specific_stream_name,
|
|
47
48
|
)
|
|
48
49
|
from redis_benchmarks_specification.__common__.package import (
|
|
49
50
|
get_version_string,
|
|
@@ -84,7 +85,7 @@ def trigger_tests_dockerhub_cli_command_logic(args, project_name, project_versio
|
|
|
84
85
|
args.id,
|
|
85
86
|
conn,
|
|
86
87
|
args.run_image,
|
|
87
|
-
args.
|
|
88
|
+
args.arch,
|
|
88
89
|
testDetails,
|
|
89
90
|
"n/a",
|
|
90
91
|
[],
|
|
@@ -124,9 +125,12 @@ def trigger_tests_dockerhub_cli_command_logic(args, project_name, project_versio
|
|
|
124
125
|
store_airgap_image_redis(conn, docker_client, args.run_image)
|
|
125
126
|
|
|
126
127
|
if result is True:
|
|
127
|
-
|
|
128
|
-
|
|
128
|
+
# Use architecture-specific stream
|
|
129
|
+
arch_specific_stream = get_arch_specific_stream_name(args.arch)
|
|
130
|
+
logging.info(
|
|
131
|
+
f"CLI adding work to architecture-specific stream: {arch_specific_stream}"
|
|
129
132
|
)
|
|
133
|
+
benchmark_stream_id = conn.xadd(arch_specific_stream, build_stream_fields)
|
|
130
134
|
logging.info(
|
|
131
135
|
"sucessfully requested a new run {}. Stream id: {}".format(
|
|
132
136
|
build_stream_fields, benchmark_stream_id
|
|
@@ -438,9 +442,9 @@ def trigger_tests_cli_command_logic(args, project_name, project_version):
|
|
|
438
442
|
commit_dict["tests_groups_regexp"] = tests_groups_regexp
|
|
439
443
|
commit_dict["github_org"] = args.gh_org
|
|
440
444
|
commit_dict["github_repo"] = args.gh_repo
|
|
441
|
-
if args.
|
|
442
|
-
commit_dict["build_arch"] = args.
|
|
443
|
-
commit_dict["arch"] = args.
|
|
445
|
+
if args.arch is not None:
|
|
446
|
+
commit_dict["build_arch"] = args.arch
|
|
447
|
+
commit_dict["arch"] = args.arch
|
|
444
448
|
if args.server_name is not None and args.server_name != "":
|
|
445
449
|
commit_dict["server_name"] = args.server_name
|
|
446
450
|
if args.build_artifacts != "":
|
|
@@ -32,6 +32,20 @@ STREAM_KEYNAME_NEW_BUILD_EVENTS = os.getenv(
|
|
|
32
32
|
"STREAM_KEYNAME_NEW_BUILD_EVENTS", "oss:api:gh/redis/redis/builds"
|
|
33
33
|
)
|
|
34
34
|
|
|
35
|
+
|
|
36
|
+
# Function to get architecture-specific build events stream name
|
|
37
|
+
def get_arch_specific_stream_name(arch):
|
|
38
|
+
"""Get architecture-specific stream name for build events"""
|
|
39
|
+
base_stream = STREAM_KEYNAME_NEW_BUILD_EVENTS
|
|
40
|
+
if arch in ["amd64", "x86_64"]:
|
|
41
|
+
return f"{base_stream}:amd64"
|
|
42
|
+
elif arch in ["arm64", "aarch64"]:
|
|
43
|
+
return f"{base_stream}:arm64"
|
|
44
|
+
else:
|
|
45
|
+
# Fallback to base stream for unknown architectures
|
|
46
|
+
return base_stream
|
|
47
|
+
|
|
48
|
+
|
|
35
49
|
STREAM_GH_NEW_BUILD_RUNNERS_CG = os.getenv(
|
|
36
50
|
"STREAM_GH_NEW_BUILD_RUNNERS_CG", "runners-cg:redis/redis/commits"
|
|
37
51
|
)
|
|
@@ -38,6 +38,7 @@ from redisbench_admin.utils.results import post_process_benchmark_results
|
|
|
38
38
|
|
|
39
39
|
from redis_benchmarks_specification.__common__.env import (
|
|
40
40
|
STREAM_KEYNAME_NEW_BUILD_EVENTS,
|
|
41
|
+
get_arch_specific_stream_name,
|
|
41
42
|
STREAM_GH_NEW_BUILD_RUNNERS_CG,
|
|
42
43
|
S3_BUCKET_NAME,
|
|
43
44
|
)
|
|
@@ -71,12 +72,16 @@ from redis_benchmarks_specification.__self_contained_coordinator__.prepopulation
|
|
|
71
72
|
)
|
|
72
73
|
|
|
73
74
|
|
|
74
|
-
def build_runners_consumer_group_create(conn, running_platform, id="$"):
|
|
75
|
+
def build_runners_consumer_group_create(conn, running_platform, arch="amd64", id="$"):
|
|
75
76
|
consumer_group_name = get_runners_consumer_group_name(running_platform)
|
|
77
|
+
arch_specific_stream = get_arch_specific_stream_name(arch)
|
|
76
78
|
logging.info("Will use consumer group named {}.".format(consumer_group_name))
|
|
79
|
+
logging.info(
|
|
80
|
+
"Will read from architecture-specific stream: {}.".format(arch_specific_stream)
|
|
81
|
+
)
|
|
77
82
|
try:
|
|
78
83
|
conn.xgroup_create(
|
|
79
|
-
|
|
84
|
+
arch_specific_stream,
|
|
80
85
|
consumer_group_name,
|
|
81
86
|
mkstream=True,
|
|
82
87
|
id=id,
|
|
@@ -99,17 +104,23 @@ def get_runners_consumer_group_name(running_platform):
|
|
|
99
104
|
return consumer_group_name
|
|
100
105
|
|
|
101
106
|
|
|
102
|
-
def clear_pending_messages_for_consumer(
|
|
107
|
+
def clear_pending_messages_for_consumer(
|
|
108
|
+
conn, running_platform, consumer_pos, arch="amd64"
|
|
109
|
+
):
|
|
103
110
|
"""Clear all pending messages for a specific consumer on startup"""
|
|
104
111
|
consumer_group_name = get_runners_consumer_group_name(running_platform)
|
|
105
112
|
consumer_name = "{}-self-contained-proc#{}".format(
|
|
106
113
|
consumer_group_name, consumer_pos
|
|
107
114
|
)
|
|
115
|
+
arch_specific_stream = get_arch_specific_stream_name(arch)
|
|
116
|
+
logging.info(
|
|
117
|
+
f"Clearing pending messages from architecture-specific stream: {arch_specific_stream}"
|
|
118
|
+
)
|
|
108
119
|
|
|
109
120
|
try:
|
|
110
121
|
# Get pending messages for this specific consumer
|
|
111
122
|
pending_info = conn.xpending_range(
|
|
112
|
-
|
|
123
|
+
arch_specific_stream,
|
|
113
124
|
consumer_group_name,
|
|
114
125
|
min="-",
|
|
115
126
|
max="+",
|
|
@@ -125,7 +136,7 @@ def clear_pending_messages_for_consumer(conn, running_platform, consumer_pos):
|
|
|
125
136
|
|
|
126
137
|
# Acknowledge all pending messages to clear them
|
|
127
138
|
ack_count = conn.xack(
|
|
128
|
-
|
|
139
|
+
arch_specific_stream, consumer_group_name, *message_ids
|
|
129
140
|
)
|
|
130
141
|
|
|
131
142
|
logging.info(
|
|
@@ -143,15 +154,19 @@ def clear_pending_messages_for_consumer(conn, running_platform, consumer_pos):
|
|
|
143
154
|
logging.error(f"Unexpected error clearing pending messages: {e}")
|
|
144
155
|
|
|
145
156
|
|
|
146
|
-
def reset_consumer_group_to_latest(conn, running_platform):
|
|
157
|
+
def reset_consumer_group_to_latest(conn, running_platform, arch="amd64"):
|
|
147
158
|
"""Reset the consumer group position to only read new messages (skip old ones)"""
|
|
148
159
|
consumer_group_name = get_runners_consumer_group_name(running_platform)
|
|
160
|
+
arch_specific_stream = get_arch_specific_stream_name(arch)
|
|
161
|
+
logging.info(
|
|
162
|
+
f"Resetting consumer group position for architecture-specific stream: {arch_specific_stream}"
|
|
163
|
+
)
|
|
149
164
|
|
|
150
165
|
try:
|
|
151
166
|
# Set the consumer group position to '$' (latest) to skip all existing messages
|
|
152
|
-
conn.xgroup_setid(
|
|
167
|
+
conn.xgroup_setid(arch_specific_stream, consumer_group_name, id="$")
|
|
153
168
|
logging.info(
|
|
154
|
-
f"Reset consumer group {consumer_group_name} position to latest - will only process new messages"
|
|
169
|
+
f"Reset consumer group {consumer_group_name} position to latest on stream {arch_specific_stream} - will only process new messages"
|
|
155
170
|
)
|
|
156
171
|
|
|
157
172
|
except redis.exceptions.ResponseError as e:
|
|
@@ -102,6 +102,7 @@ from redisbench_admin.utils.results import post_process_benchmark_results
|
|
|
102
102
|
|
|
103
103
|
from redis_benchmarks_specification.__common__.env import (
|
|
104
104
|
STREAM_KEYNAME_NEW_BUILD_EVENTS,
|
|
105
|
+
get_arch_specific_stream_name,
|
|
105
106
|
S3_BUCKET_NAME,
|
|
106
107
|
)
|
|
107
108
|
from redis_benchmarks_specification.__common__.spec import (
|
|
@@ -650,7 +651,7 @@ def main():
|
|
|
650
651
|
|
|
651
652
|
logging.info("checking build spec requirements")
|
|
652
653
|
running_platform = args.platform_name
|
|
653
|
-
build_runners_consumer_group_create(gh_event_conn, running_platform)
|
|
654
|
+
build_runners_consumer_group_create(gh_event_conn, running_platform, args.arch)
|
|
654
655
|
|
|
655
656
|
# Clear pending messages and reset consumer group position by default (unless explicitly skipped)
|
|
656
657
|
if not args.skip_clear_pending_on_startup:
|
|
@@ -659,9 +660,9 @@ def main():
|
|
|
659
660
|
"Clearing pending messages and resetting consumer group position on startup (default behavior)"
|
|
660
661
|
)
|
|
661
662
|
clear_pending_messages_for_consumer(
|
|
662
|
-
gh_event_conn, running_platform, consumer_pos
|
|
663
|
+
gh_event_conn, running_platform, consumer_pos, args.arch
|
|
663
664
|
)
|
|
664
|
-
reset_consumer_group_to_latest(gh_event_conn, running_platform)
|
|
665
|
+
reset_consumer_group_to_latest(gh_event_conn, running_platform, args.arch)
|
|
665
666
|
else:
|
|
666
667
|
logging.info(
|
|
667
668
|
"Skipping pending message cleanup and consumer group reset as requested"
|
|
@@ -819,10 +820,15 @@ def self_contained_coordinator_blocking_read(
|
|
|
819
820
|
get_runners_consumer_group_name(platform_name), consumer_name
|
|
820
821
|
)
|
|
821
822
|
)
|
|
823
|
+
# Use architecture-specific stream
|
|
824
|
+
arch_specific_stream = get_arch_specific_stream_name(arch)
|
|
825
|
+
logging.info(
|
|
826
|
+
f"Reading work from architecture-specific stream: {arch_specific_stream}"
|
|
827
|
+
)
|
|
822
828
|
newTestInfo = github_event_conn.xreadgroup(
|
|
823
829
|
get_runners_consumer_group_name(platform_name),
|
|
824
830
|
consumer_name,
|
|
825
|
-
{
|
|
831
|
+
{arch_specific_stream: stream_id},
|
|
826
832
|
count=1,
|
|
827
833
|
block=0,
|
|
828
834
|
)
|
|
@@ -872,26 +878,35 @@ def self_contained_coordinator_blocking_read(
|
|
|
872
878
|
)
|
|
873
879
|
num_process_streams = num_process_streams + 1
|
|
874
880
|
num_process_test_suites = num_process_test_suites + total_test_suite_runs
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
)
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
881
|
+
|
|
882
|
+
# Always acknowledge the message, even if it was filtered out
|
|
883
|
+
arch_specific_stream = get_arch_specific_stream_name(arch)
|
|
884
|
+
ack_reply = github_event_conn.xack(
|
|
885
|
+
arch_specific_stream,
|
|
886
|
+
get_runners_consumer_group_name(platform_name),
|
|
887
|
+
stream_id,
|
|
888
|
+
)
|
|
889
|
+
if type(ack_reply) == bytes:
|
|
890
|
+
ack_reply = ack_reply.decode()
|
|
891
|
+
if ack_reply == "1" or ack_reply == 1:
|
|
892
|
+
if overall_result is True:
|
|
884
893
|
logging.info(
|
|
885
|
-
"
|
|
894
|
+
"Successfully acknowledged BENCHMARK variation stream with id {} (processed).".format(
|
|
886
895
|
stream_id
|
|
887
896
|
)
|
|
888
897
|
)
|
|
889
898
|
else:
|
|
890
|
-
logging.
|
|
891
|
-
"
|
|
892
|
-
stream_id
|
|
899
|
+
logging.info(
|
|
900
|
+
"Successfully acknowledged BENCHMARK variation stream with id {} (filtered/skipped).".format(
|
|
901
|
+
stream_id
|
|
893
902
|
)
|
|
894
903
|
)
|
|
904
|
+
else:
|
|
905
|
+
logging.error(
|
|
906
|
+
"Unable to acknowledge build variation stream with id {}. XACK reply {}".format(
|
|
907
|
+
stream_id, ack_reply
|
|
908
|
+
)
|
|
909
|
+
)
|
|
895
910
|
return overall_result, stream_id, num_process_streams, num_process_test_suites
|
|
896
911
|
|
|
897
912
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|