redis-benchmarks-specification 0.1.87__tar.gz → 0.1.89__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.87 → redis_benchmarks_specification-0.1.89}/PKG-INFO +1 -1
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/pyproject.toml +1 -1
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__builder__/builder.py +56 -15
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__cli__/cli.py +6 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__common__/github.py +46 -4
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/LICENSE +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/Readme.md +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__api__/Readme.md +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__api__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__api__/api.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__api__/app.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__builder__/Readme.md +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__builder__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__builder__/schema.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__cli__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__cli__/args.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__cli__/stats.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__common__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__common__/builder_schema.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__common__/env.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__common__/package.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__common__/runner.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__common__/spec.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__compare__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__compare__/args.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__compare__/compare.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__runner__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__runner__/args.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__runner__/runner.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__self_contained_coordinator__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__self_contained_coordinator__/args.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__self_contained_coordinator__/artifacts.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__self_contained_coordinator__/build_info.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__self_contained_coordinator__/clients.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__self_contained_coordinator__/cpuset.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__self_contained_coordinator__/docker.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__self_contained_coordinator__/runners.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__setups__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__setups__/topologies.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__spec__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__spec__/args.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__spec__/cli.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__watchdog__/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__watchdog__/args.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/__watchdog__/watchdog.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/commands/__init__.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/commands/commands.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/setups/builders/gcc:8.5.0-amd64-debian-buster-default.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/setups/builders/gcc:8.5.0-arm64-debian-buster-default.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/setups/platforms/aws-ec2-1node-c5.4xlarge.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/setups/topologies/topologies.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/defaults.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/generate.py +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-1000B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/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.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/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.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-100B-expire-use-case.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-expire-use-case.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-1KiB-expire-use-case.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-4KiB-expire-use-case.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-exists-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expire-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expireat-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-touch-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-ttl-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hexists.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hget-hgetall-hkeys-hvals-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hincrby.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/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.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-transactions-multi-exec-pipeline-20.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-1KiB-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/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.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-1KiB-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/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.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/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.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-1KiB-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-200KiB-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-20KiB-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-2MB-values.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-decr.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-200KiB.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-20KiB.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-2MB.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mget-1KiB.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-lrange-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-1K-elements-lrange-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-pfadd-4KB-values-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smismember.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smembers.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smismember.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-smembers.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-200K-elements-sadd-constant.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-2M-elements-sadd-increasing.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zincrby-1M-elements-pipeline-1.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-1M-elements-pipeline-1.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrem-5M-elements-pipeline-1.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements-long-scores.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrange-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements-long-scores.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1K-elements-zrange-all-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-eval-hset-expire.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-evalsha-hset-expire.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sdiff.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sinter.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sunion.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries-pipeline-10.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries.yml +0 -0
- {redis_benchmarks_specification-0.1.87 → redis_benchmarks_specification-0.1.89}/redis_benchmarks_specification/test-suites/template.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: redis-benchmarks-specification
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.89
|
|
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.87 → redis_benchmarks_specification-0.1.89}/pyproject.toml
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "redis-benchmarks-specification"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.89"
|
|
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"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import argparse
|
|
2
|
+
import datetime
|
|
2
3
|
import io
|
|
3
4
|
import json
|
|
4
5
|
import logging
|
|
@@ -36,6 +37,7 @@ from redis_benchmarks_specification.__common__.github import (
|
|
|
36
37
|
generate_build_finished_pr_comment,
|
|
37
38
|
update_comment_if_needed,
|
|
38
39
|
create_new_pr_comment,
|
|
40
|
+
generate_build_started_pr_comment,
|
|
39
41
|
)
|
|
40
42
|
from redis_benchmarks_specification.__common__.package import (
|
|
41
43
|
populate_with_poetry_data,
|
|
@@ -378,9 +380,41 @@ def builder_process_stream(
|
|
|
378
380
|
"redis-server",
|
|
379
381
|
build_vars_str,
|
|
380
382
|
)
|
|
383
|
+
build_start_datetime = datetime.datetime.utcnow()
|
|
381
384
|
logging.info(
|
|
382
|
-
"Using the following build command {}".format(build_command)
|
|
385
|
+
"Using the following build command {}.".format(build_command)
|
|
383
386
|
)
|
|
387
|
+
if is_actionable_pr:
|
|
388
|
+
logging.info(
|
|
389
|
+
f"updating on github we'll start the build at {build_start_datetime}"
|
|
390
|
+
)
|
|
391
|
+
comment_body = generate_build_started_pr_comment(
|
|
392
|
+
build_start_datetime,
|
|
393
|
+
commit_datetime,
|
|
394
|
+
commit_summary,
|
|
395
|
+
git_branch,
|
|
396
|
+
git_hash,
|
|
397
|
+
tests_groups_regexp,
|
|
398
|
+
tests_priority_lower_limit,
|
|
399
|
+
tests_priority_upper_limit,
|
|
400
|
+
tests_regexp,
|
|
401
|
+
)
|
|
402
|
+
if contains_regression_comment:
|
|
403
|
+
update_comment_if_needed(
|
|
404
|
+
auto_approve_github_comments,
|
|
405
|
+
comment_body,
|
|
406
|
+
old_regression_comment_body,
|
|
407
|
+
regression_comment,
|
|
408
|
+
verbose,
|
|
409
|
+
)
|
|
410
|
+
else:
|
|
411
|
+
regression_comment = create_new_pr_comment(
|
|
412
|
+
auto_approve_github_comments,
|
|
413
|
+
comment_body,
|
|
414
|
+
github_pr,
|
|
415
|
+
pr_link,
|
|
416
|
+
)
|
|
417
|
+
|
|
384
418
|
docker_client.containers.run(
|
|
385
419
|
image=build_image,
|
|
386
420
|
volumes={
|
|
@@ -391,6 +425,10 @@ def builder_process_stream(
|
|
|
391
425
|
working_dir="/mnt/redis/",
|
|
392
426
|
command=build_command,
|
|
393
427
|
)
|
|
428
|
+
build_end_datetime = datetime.datetime.utcnow()
|
|
429
|
+
build_duration = build_end_datetime - build_start_datetime
|
|
430
|
+
build_duration_secs = build_duration.total_seconds()
|
|
431
|
+
|
|
394
432
|
build_stream_fields = {
|
|
395
433
|
"id": id,
|
|
396
434
|
"git_hash": git_hash,
|
|
@@ -416,9 +454,6 @@ def builder_process_stream(
|
|
|
416
454
|
build_stream_fields["git_branch"] = git_branch
|
|
417
455
|
if git_version is not None:
|
|
418
456
|
build_stream_fields["git_version"] = git_version
|
|
419
|
-
if git_timestamp_ms is not None:
|
|
420
|
-
build_stream_fields["git_timestamp_ms"] = git_timestamp_ms
|
|
421
|
-
|
|
422
457
|
if git_timestamp_ms is not None:
|
|
423
458
|
build_stream_fields["git_timestamp_ms"] = git_timestamp_ms
|
|
424
459
|
for artifact in build_artifacts:
|
|
@@ -456,18 +491,24 @@ def builder_process_stream(
|
|
|
456
491
|
f"Adding information of build->benchmark stream info in list {builder_list_completed}. Adding benchmark stream id: {benchmark_stream_id_decoded}"
|
|
457
492
|
)
|
|
458
493
|
benchmark_stream_ids = [benchmark_stream_id_decoded]
|
|
459
|
-
|
|
460
|
-
benchmark_stream_ids,
|
|
461
|
-
commit_datetime,
|
|
462
|
-
commit_summary,
|
|
463
|
-
git_branch,
|
|
464
|
-
git_hash,
|
|
465
|
-
tests_groups_regexp,
|
|
466
|
-
tests_priority_lower_limit,
|
|
467
|
-
tests_priority_upper_limit,
|
|
468
|
-
tests_regexp,
|
|
469
|
-
)
|
|
494
|
+
|
|
470
495
|
if is_actionable_pr:
|
|
496
|
+
logging.info(
|
|
497
|
+
f"updating on github that the build finished after {build_duration_secs} seconds"
|
|
498
|
+
)
|
|
499
|
+
comment_body = generate_build_finished_pr_comment(
|
|
500
|
+
benchmark_stream_ids,
|
|
501
|
+
commit_datetime,
|
|
502
|
+
commit_summary,
|
|
503
|
+
git_branch,
|
|
504
|
+
git_hash,
|
|
505
|
+
tests_groups_regexp,
|
|
506
|
+
tests_priority_lower_limit,
|
|
507
|
+
tests_priority_upper_limit,
|
|
508
|
+
tests_regexp,
|
|
509
|
+
build_start_datetime,
|
|
510
|
+
build_duration_secs,
|
|
511
|
+
)
|
|
471
512
|
if contains_regression_comment:
|
|
472
513
|
update_comment_if_needed(
|
|
473
514
|
auto_approve_github_comments,
|
|
@@ -351,6 +351,7 @@ def trigger_tests_cli_command_logic(args, project_name, project_version):
|
|
|
351
351
|
)
|
|
352
352
|
|
|
353
353
|
if args.wait_build is True:
|
|
354
|
+
build_start_datetime = datetime.datetime.utcnow()
|
|
354
355
|
decoded_stream_id = stream_id.decode()
|
|
355
356
|
builder_list_streams = (
|
|
356
357
|
f"builder:{decoded_stream_id}:builds_completed"
|
|
@@ -409,6 +410,9 @@ def trigger_tests_cli_command_logic(args, project_name, project_version):
|
|
|
409
410
|
logging.info(
|
|
410
411
|
f"FINAL total of {len_list} already build benchmark stream ids for this build: {benchmark_stream_ids}"
|
|
411
412
|
)
|
|
413
|
+
build_end_datetime = datetime.datetime.utcnow()
|
|
414
|
+
build_duration = build_end_datetime - build_start_datetime
|
|
415
|
+
build_duration_secs = build_duration.total_seconds()
|
|
412
416
|
|
|
413
417
|
comment_body = generate_build_finished_pr_comment(
|
|
414
418
|
benchmark_stream_ids,
|
|
@@ -420,6 +424,8 @@ def trigger_tests_cli_command_logic(args, project_name, project_version):
|
|
|
420
424
|
tests_priority_lower_limit,
|
|
421
425
|
tests_priority_upper_limit,
|
|
422
426
|
tests_regexp,
|
|
427
|
+
build_start_datetime,
|
|
428
|
+
build_duration_secs,
|
|
423
429
|
)
|
|
424
430
|
if is_actionable_pr:
|
|
425
431
|
if contains_regression_comment:
|
|
@@ -2,6 +2,41 @@ import logging
|
|
|
2
2
|
from github import Github
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
def generate_build_started_pr_comment(
|
|
6
|
+
build_datetime,
|
|
7
|
+
commit_datetime,
|
|
8
|
+
commit_summary,
|
|
9
|
+
git_branch,
|
|
10
|
+
git_hash,
|
|
11
|
+
tests_groups_regexp,
|
|
12
|
+
tests_priority_lower_limit,
|
|
13
|
+
tests_priority_upper_limit,
|
|
14
|
+
tests_regexp,
|
|
15
|
+
):
|
|
16
|
+
comment_body = (
|
|
17
|
+
f"### CE Performance Automation : step 1 of 2 (build) STARTING...\n\n"
|
|
18
|
+
)
|
|
19
|
+
comment_body += (
|
|
20
|
+
"This comment was automatically generated given a benchmark was triggered.\n"
|
|
21
|
+
)
|
|
22
|
+
comment_body += f"Started building at {build_datetime}\n"
|
|
23
|
+
comment_body += "You can check each build/benchmark progress in grafana:\n"
|
|
24
|
+
comment_body += f" - git hash: {git_hash}\n"
|
|
25
|
+
comment_body += f" - git branch: {git_branch}\n"
|
|
26
|
+
comment_body += f" - commit date and time: {commit_datetime}\n"
|
|
27
|
+
comment_body += f" - commit summary: {commit_summary}\n"
|
|
28
|
+
comment_body += f" - test filters:\n"
|
|
29
|
+
comment_body += (
|
|
30
|
+
f" - command priority lower limit: {tests_priority_lower_limit}\n"
|
|
31
|
+
)
|
|
32
|
+
comment_body += (
|
|
33
|
+
f" - command priority upper limit: {tests_priority_upper_limit}\n"
|
|
34
|
+
)
|
|
35
|
+
comment_body += f" - test name regex: {tests_regexp}\n"
|
|
36
|
+
comment_body += f" - command group regex: {tests_groups_regexp}\n\n"
|
|
37
|
+
return comment_body
|
|
38
|
+
|
|
39
|
+
|
|
5
40
|
def generate_build_finished_pr_comment(
|
|
6
41
|
benchmark_stream_ids,
|
|
7
42
|
commit_datetime,
|
|
@@ -12,11 +47,15 @@ def generate_build_finished_pr_comment(
|
|
|
12
47
|
tests_priority_lower_limit,
|
|
13
48
|
tests_priority_upper_limit,
|
|
14
49
|
tests_regexp,
|
|
50
|
+
build_start_datetime,
|
|
51
|
+
build_duration_seconds,
|
|
15
52
|
):
|
|
16
|
-
|
|
53
|
+
build_duration_seconds = int(build_duration_seconds)
|
|
54
|
+
comment_body = f"### CE Performance Automation : step 1 of 2 (build) DONE.\n\n"
|
|
17
55
|
comment_body += (
|
|
18
56
|
"This comment was automatically generated given a benchmark was triggered.\n"
|
|
19
57
|
)
|
|
58
|
+
comment_body += f"Started building at {build_start_datetime} and took {build_duration_seconds} seconds.\n"
|
|
20
59
|
comment_body += "You can check each build/benchmark progress in grafana:\n"
|
|
21
60
|
comment_body += f" - git hash: {git_hash}\n"
|
|
22
61
|
comment_body += f" - git branch: {git_branch}\n"
|
|
@@ -80,6 +119,9 @@ def check_github_available_and_actionable(
|
|
|
80
119
|
print("".join(["-" for x in range(1, 80)]))
|
|
81
120
|
else:
|
|
82
121
|
logging.info("Does not contain PR comment")
|
|
122
|
+
logging.info(
|
|
123
|
+
f"contains_regression_comment: {contains_regression_comment}, is_actionable_pr: {is_actionable_pr}, pr_link: {pr_link}"
|
|
124
|
+
)
|
|
83
125
|
return (
|
|
84
126
|
contains_regression_comment,
|
|
85
127
|
github_pr,
|
|
@@ -112,12 +154,12 @@ def update_comment_if_needed(
|
|
|
112
154
|
user_input = "n"
|
|
113
155
|
if comment_body == old_regression_comment_body:
|
|
114
156
|
logging.info(
|
|
115
|
-
"The old
|
|
157
|
+
"The old github comment is the same as the new comment. skipping..."
|
|
116
158
|
)
|
|
117
159
|
same_comment = True
|
|
118
160
|
else:
|
|
119
161
|
logging.info(
|
|
120
|
-
"The old
|
|
162
|
+
"The old github comment is different from the new comment. updating it..."
|
|
121
163
|
)
|
|
122
164
|
comment_body_arr = comment_body.split("\n")
|
|
123
165
|
old_regression_comment_body_arr = old_regression_comment_body.split("\n")
|
|
@@ -190,7 +232,7 @@ def generate_benchmark_started_pr_comment(
|
|
|
190
232
|
|
|
191
233
|
completed = total_benchmarks - total_pending
|
|
192
234
|
comment_body += (
|
|
193
|
-
f"Status: {markdown_progress_bar(completed,total_benchmarks)}
|
|
235
|
+
f"Status: {markdown_progress_bar(completed,total_benchmarks,80)} completed.\n\n"
|
|
194
236
|
)
|
|
195
237
|
comment_body += f"In total will run {total_benchmarks} benchmarks.\n"
|
|
196
238
|
comment_body += f" - {total_pending} pending.\n"
|
|
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
|
|
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
|
|
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
|