redis-benchmarks-specification 0.1.214__tar.gz → 0.1.216__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.

Files changed (160) hide show
  1. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/PKG-INFO +1 -1
  2. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/pyproject.toml +1 -1
  3. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__builder__/builder.py +2 -0
  4. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__cli__/cli.py +17 -0
  5. redis_benchmarks_specification-0.1.216/redis_benchmarks_specification/__common__/spec.py +82 -0
  6. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__compare__/args.py +6 -0
  7. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__compare__/compare.py +36 -2
  8. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__self_contained_coordinator__/docker.py +6 -2
  9. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py +74 -36
  10. redis_benchmarks_specification-0.1.216/redis_benchmarks_specification/setups/topologies/topologies.yml +142 -0
  11. redis_benchmarks_specification-0.1.216/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values.yml +36 -0
  12. redis_benchmarks_specification-0.1.214/redis_benchmarks_specification/__common__/spec.py +0 -30
  13. redis_benchmarks_specification-0.1.214/redis_benchmarks_specification/setups/topologies/topologies.yml +0 -77
  14. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/LICENSE +0 -0
  15. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/Readme.md +0 -0
  16. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__api__/Readme.md +0 -0
  17. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__api__/__init__.py +0 -0
  18. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__api__/api.py +0 -0
  19. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__api__/app.py +0 -0
  20. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__builder__/Readme.md +0 -0
  21. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__builder__/__init__.py +0 -0
  22. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__builder__/schema.py +0 -0
  23. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__cli__/__init__.py +0 -0
  24. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__cli__/args.py +0 -0
  25. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__cli__/stats.py +0 -0
  26. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__common__/__init__.py +0 -0
  27. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__common__/builder_schema.py +0 -0
  28. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__common__/env.py +0 -0
  29. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__common__/github.py +0 -0
  30. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__common__/package.py +0 -0
  31. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__common__/runner.py +0 -0
  32. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__common__/timeseries.py +0 -0
  33. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__compare__/__init__.py +0 -0
  34. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__init__.py +0 -0
  35. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__runner__/__init__.py +0 -0
  36. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__runner__/args.py +0 -0
  37. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__runner__/runner.py +0 -0
  38. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__self_contained_coordinator__/__init__.py +0 -0
  39. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__self_contained_coordinator__/args.py +0 -0
  40. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__self_contained_coordinator__/artifacts.py +0 -0
  41. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__self_contained_coordinator__/build_info.py +0 -0
  42. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__self_contained_coordinator__/clients.py +0 -0
  43. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__self_contained_coordinator__/cpuset.py +0 -0
  44. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py +0 -0
  45. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__self_contained_coordinator__/runners.py +1 -1
  46. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__setups__/__init__.py +0 -0
  47. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__setups__/topologies.py +0 -0
  48. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__spec__/__init__.py +0 -0
  49. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__spec__/args.py +0 -0
  50. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__spec__/cli.py +0 -0
  51. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__watchdog__/__init__.py +0 -0
  52. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__watchdog__/args.py +0 -0
  53. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/__watchdog__/watchdog.py +0 -0
  54. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/commands/__init__.py +0 -0
  55. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/commands/commands.py +0 -0
  56. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/setups/builders/gcc:8.5.0-amd64-debian-buster-default.yml +0 -0
  57. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/setups/builders/gcc:8.5.0-arm64-debian-buster-default.yml +0 -0
  58. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/setups/platforms/aws-ec2-1node-c5.4xlarge.yml +0 -0
  59. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/defaults.yml +0 -0
  60. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/generate.py +0 -0
  61. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml +0 -0
  62. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-1000B-values.yml +0 -0
  63. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10.yml +0 -0
  64. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values.yml +0 -0
  65. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10.yml +0 -0
  66. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values.yml +0 -0
  67. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-100B-expire-use-case.yml +0 -0
  68. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-expire-use-case.yml +0 -0
  69. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-1KiB-expire-use-case.yml +0 -0
  70. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-4KiB-expire-use-case.yml +0 -0
  71. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10.yml +0 -0
  72. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-exists-pipeline-10.yml +0 -0
  73. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expire-pipeline-10.yml +0 -0
  74. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expireat-pipeline-10.yml +0 -0
  75. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10.yml +0 -0
  76. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-pipeline-10.yml +0 -0
  77. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-touch-pipeline-10.yml +0 -0
  78. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-ttl-pipeline-10.yml +0 -0
  79. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hexists.yml +0 -0
  80. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hget-hgetall-hkeys-hvals-with-100B-values.yml +0 -0
  81. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hincrby.yml +0 -0
  82. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hmget-5-fields-with-100B-values-pipeline-10.yml +0 -0
  83. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-transactions-multi-exec-pipeline-20.yml +0 -0
  84. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-100B-values.yml +0 -0
  85. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-10B-values.yml +0 -0
  86. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-1KiB-values.yml +0 -0
  87. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml +0 -0
  88. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values.yml +0 -0
  89. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values.yml +0 -0
  90. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-100B-values.yml +0 -0
  91. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values.yml +0 -0
  92. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-1KiB-values.yml +0 -0
  93. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10.yml +0 -0
  94. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values.yml +0 -0
  95. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10.yml +0 -0
  96. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values.yml +0 -0
  97. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10.yml +0 -0
  98. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values.yml +0 -0
  99. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10.yml +0 -0
  100. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values.yml +0 -0
  101. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-1KiB-values.yml +0 -0
  102. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-200KiB-values.yml +0 -0
  103. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-20KiB-values.yml +0 -0
  104. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-2MB-values.yml +0 -0
  105. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score.yml +0 -0
  106. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score.yml +0 -0
  107. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-decr.yml +0 -0
  108. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B-pipeline-10.yml +0 -0
  109. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B.yml +0 -0
  110. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-10.yml +0 -0
  111. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B.yml +0 -0
  112. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10.yml +0 -0
  113. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB.yml +0 -0
  114. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-200KiB.yml +0 -0
  115. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-20KiB.yml +0 -0
  116. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-2MB.yml +0 -0
  117. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mget-1KiB.yml +0 -0
  118. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml +0 -0
  119. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist.yml +0 -0
  120. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml +0 -0
  121. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash.yml +0 -0
  122. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml +0 -0
  123. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos.yml +0 -0
  124. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox.yml +0 -0
  125. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml +0 -0
  126. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml +0 -0
  127. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements.yml +0 -0
  128. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-lrange-all-elements.yml +0 -0
  129. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-1K-elements-lrange-all-elements.yml +0 -0
  130. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-pfadd-4KB-values-pipeline-10.yml +0 -0
  131. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers-pipeline-10.yml +0 -0
  132. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers.yml +0 -0
  133. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smismember.yml +0 -0
  134. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smembers.yml +0 -0
  135. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smismember.yml +0 -0
  136. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-smembers.yml +0 -0
  137. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-200K-elements-sadd-constant.yml +0 -0
  138. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-2M-elements-sadd-increasing.yml +0 -0
  139. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zincrby-1M-elements-pipeline-1.yml +0 -0
  140. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-1M-elements-pipeline-1.yml +0 -0
  141. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrem-5M-elements-pipeline-1.yml +0 -0
  142. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1.yml +0 -0
  143. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1.yml +0 -0
  144. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements-long-scores.yml +0 -0
  145. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements.yml +0 -0
  146. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrange-all-elements.yml +0 -0
  147. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements-long-scores.yml +0 -0
  148. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements.yml +0 -0
  149. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1K-elements-zrange-all-elements.yml +0 -0
  150. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10.yml +0 -0
  151. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements.yml +0 -0
  152. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10.yml +0 -0
  153. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-eval-hset-expire.yml +0 -0
  154. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-evalsha-hset-expire.yml +0 -0
  155. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sdiff.yml +0 -0
  156. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sinter.yml +0 -0
  157. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sunion.yml +0 -0
  158. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries-pipeline-10.yml +0 -0
  159. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries.yml +0 -0
  160. {redis_benchmarks_specification-0.1.214 → redis_benchmarks_specification-0.1.216}/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.214
3
+ Version: 0.1.216
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
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "redis-benchmarks-specification"
3
- version = "0.1.214"
3
+ version = "0.1.216"
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"
@@ -343,6 +343,8 @@ def builder_process_stream(
343
343
  "linenoise",
344
344
  "lua",
345
345
  ]
346
+ if "fast_float" in deps_dir:
347
+ deps_list.append("fast_float")
346
348
  if "hdr_histogram" in deps_dir:
347
349
  deps_list.append("hdr_histogram")
348
350
  if "fpconv" in deps_dir:
@@ -87,6 +87,23 @@ def trigger_tests_dockerhub_cli_command_logic(args, project_name, project_versio
87
87
  args.build_arch,
88
88
  testDetails,
89
89
  "n/a",
90
+ [],
91
+ None,
92
+ None,
93
+ None,
94
+ None,
95
+ None,
96
+ None,
97
+ None,
98
+ None,
99
+ None,
100
+ None,
101
+ None,
102
+ None,
103
+ ".*",
104
+ 0,
105
+ 10000,
106
+ args.tests_regexp,
90
107
  )
91
108
  build_stream_fields["github_repo"] = args.gh_repo
92
109
  build_stream_fields["github_org"] = args.gh_org
@@ -0,0 +1,82 @@
1
+ import math
2
+ import logging
3
+
4
+
5
+ def extract_redis_dbconfig_parameters(benchmark_config, dbconfig_keyname):
6
+ redis_configuration_parameters = {}
7
+ modules_configuration_parameters_map = {}
8
+ dataset_load_timeout_secs = 120
9
+ dataset_name = None
10
+ dbconfig_present = False
11
+ if dbconfig_keyname in benchmark_config:
12
+ dbconfig_present = True
13
+ if type(benchmark_config[dbconfig_keyname]) == list:
14
+ for k in benchmark_config[dbconfig_keyname]:
15
+ if "configuration-parameters" in k:
16
+ cp = k["configuration-parameters"]
17
+ for item in cp:
18
+ for k, v in item.items():
19
+ redis_configuration_parameters[k] = v
20
+ if "dataset_load_timeout_secs" in k:
21
+ dataset_load_timeout_secs = k["dataset_load_timeout_secs"]
22
+ if "dataset_name" in k:
23
+ dataset_name = k["dataset_name"]
24
+ if type(benchmark_config[dbconfig_keyname]) == dict:
25
+ if "configuration-parameters" in benchmark_config[dbconfig_keyname]:
26
+ cp = benchmark_config[dbconfig_keyname]["configuration-parameters"]
27
+ for k, v in cp.items():
28
+ redis_configuration_parameters[k] = v
29
+ if "dataset_load_timeout_secs" in benchmark_config[dbconfig_keyname]:
30
+ dataset_load_timeout_secs = benchmark_config[dbconfig_keyname][
31
+ "dataset_load_timeout_secs"
32
+ ]
33
+ if "dataset_name" in benchmark_config[dbconfig_keyname]:
34
+ dataset_name = benchmark_config[dbconfig_keyname]["dataset_name"]
35
+
36
+ return (
37
+ dbconfig_present,
38
+ dataset_name,
39
+ redis_configuration_parameters,
40
+ dataset_load_timeout_secs,
41
+ modules_configuration_parameters_map,
42
+ )
43
+
44
+
45
+ def extract_redis_configuration_from_topology(topologies_map, topology_spec_name):
46
+ redis_arguments = ""
47
+ topology_spec = topologies_map[topology_spec_name]
48
+ if "redis_arguments" in topology_spec:
49
+ redis_arguments = topology_spec["redis_arguments"]
50
+ logging.info(
51
+ f"extracted redis_arguments: {redis_arguments} from topology: {topology_spec_name}"
52
+ )
53
+ return redis_arguments
54
+
55
+
56
+ def extract_client_cpu_limit(benchmark_config):
57
+ db_cpu_limit = benchmark_config["clientconfig"]["resources"]["requests"]["cpus"]
58
+ ceil_db_cpu_limit = math.ceil(float(db_cpu_limit))
59
+ return ceil_db_cpu_limit
60
+
61
+
62
+ def extract_build_variant_variations(benchmark_config, keyname="build-variants"):
63
+ result = None
64
+ if keyname in benchmark_config:
65
+ result = benchmark_config[keyname]
66
+ return result
67
+
68
+
69
+ def extract_client_container_image(benchmark_config, keyname="clientconfig"):
70
+ client_container_image = None
71
+ if keyname in benchmark_config:
72
+ if "run_image" in benchmark_config[keyname]:
73
+ client_container_image = benchmark_config[keyname]["run_image"]
74
+ return client_container_image
75
+
76
+
77
+ def extract_client_tool(benchmark_config, keyname="clientconfig"):
78
+ client_tool = None
79
+ if keyname in benchmark_config:
80
+ if "tool" in benchmark_config[keyname]:
81
+ client_tool = benchmark_config[keyname]["tool"]
82
+ return client_tool
@@ -92,8 +92,14 @@ def create_compare_arguments(parser):
92
92
  )
93
93
  parser.add_argument("--baseline-branch", type=str, default=None, required=False)
94
94
  parser.add_argument("--baseline-tag", type=str, default=None, required=False)
95
+ parser.add_argument(
96
+ "--baseline-target-version", type=str, default=None, required=False
97
+ )
95
98
  parser.add_argument("--comparison-branch", type=str, default=None, required=False)
96
99
  parser.add_argument("--comparison-tag", type=str, default=None, required=False)
100
+ parser.add_argument(
101
+ "--comparison-target-version", type=str, default=None, required=False
102
+ )
97
103
  parser.add_argument("--print-regressions-only", type=bool, default=False)
98
104
  parser.add_argument("--print-improvements-only", type=bool, default=False)
99
105
  parser.add_argument("--skip-unstable", type=bool, default=False)
@@ -248,6 +248,8 @@ def compare_command_logic(args, project_name, project_version):
248
248
  testname_regex = args.testname_regex
249
249
  auto_approve = args.auto_approve
250
250
  running_platform = args.running_platform
251
+ baseline_target_version = args.baseline_target_version
252
+ comparison_target_version = args.comparison_target_version
251
253
 
252
254
  if running_platform is not None:
253
255
  logging.info(
@@ -306,6 +308,8 @@ def compare_command_logic(args, project_name, project_version):
306
308
  to_ts_ms,
307
309
  use_metric_context_path,
308
310
  running_platform,
311
+ baseline_target_version,
312
+ comparison_target_version,
309
313
  )
310
314
  prepare_regression_comment(
311
315
  auto_approve,
@@ -529,6 +533,8 @@ def compute_regression_table(
529
533
  to_ts_ms=None,
530
534
  use_metric_context_path=None,
531
535
  running_platform=None,
536
+ baseline_target_version=None,
537
+ comparison_target_version=None,
532
538
  ):
533
539
  START_TIME_NOW_UTC, _, _ = get_start_time_vars()
534
540
  START_TIME_LAST_MONTH_UTC = START_TIME_NOW_UTC - datetime.timedelta(days=31)
@@ -552,7 +558,11 @@ def compute_regression_table(
552
558
  comparison_branch,
553
559
  baseline_tag,
554
560
  comparison_tag,
561
+ baseline_target_version,
562
+ comparison_target_version,
555
563
  )
564
+ logging.info(f"Using baseline filter {by_str_baseline}={baseline_str}")
565
+ logging.info(f"Using comparison filter {by_str_comparison}={comparison_str}")
556
566
  (
557
567
  prefix,
558
568
  testcases_setname,
@@ -712,6 +722,8 @@ def get_by_strings(
712
722
  comparison_branch,
713
723
  baseline_tag,
714
724
  comparison_tag,
725
+ baseline_target_version=None,
726
+ comparison_target_version=None,
715
727
  ):
716
728
  baseline_covered = False
717
729
  comparison_covered = False
@@ -738,6 +750,16 @@ def get_by_strings(
738
750
  by_str_baseline = "version"
739
751
  baseline_str = baseline_tag
740
752
 
753
+ if baseline_target_version is not None:
754
+ if comparison_covered:
755
+ logging.error(
756
+ "--baseline-branch, --baseline-tag and --baseline-target-version are mutually exclusive. Pick one..."
757
+ )
758
+ exit(1)
759
+ baseline_covered = True
760
+ by_str_baseline = "target+version"
761
+ baseline_str = baseline_target_version
762
+
741
763
  if comparison_tag is not None:
742
764
  # check if we had already covered comparison
743
765
  if comparison_covered:
@@ -748,16 +770,27 @@ def get_by_strings(
748
770
  comparison_covered = True
749
771
  by_str_comparison = "version"
750
772
  comparison_str = comparison_tag
773
+ if comparison_target_version is not None:
774
+ # check if we had already covered comparison
775
+ if comparison_covered:
776
+ logging.error(
777
+ "--comparison-branch, --comparison-tag, and --comparison-target-table are mutually exclusive. Pick one..."
778
+ )
779
+ exit(1)
780
+ comparison_covered = True
781
+ by_str_comparison = "target+version"
782
+ comparison_str = comparison_target_version
751
783
 
752
784
  if baseline_covered is False:
753
785
  logging.error(
754
- "You need to provider either " + "( --baseline-branch or --baseline-tag ) "
786
+ "You need to provider either "
787
+ + "( --baseline-branch, --baseline-tag, or --baseline-target-version ) "
755
788
  )
756
789
  exit(1)
757
790
  if comparison_covered is False:
758
791
  logging.error(
759
792
  "You need to provider either "
760
- + "( --comparison-branch or --comparison-tag ) "
793
+ + "( --comparison-branch, --comparison-tag, or --comparison-target-version ) "
761
794
  )
762
795
  exit(1)
763
796
  return baseline_str, by_str_baseline, comparison_str, by_str_comparison
@@ -822,6 +855,7 @@ def from_rts_to_regression_table(
822
855
  filters_comparison = [
823
856
  "{}={}".format(by_str_comparison, comparison_str),
824
857
  "metric={}".format(metric_name),
858
+ "hash==",
825
859
  "{}={}".format(test_filter, test_name),
826
860
  "deployment_name={}".format(comparison_deployment_name),
827
861
  "triggering_env={}".format(tf_triggering_env),
@@ -8,7 +8,7 @@ from redis_benchmarks_specification.__self_contained_coordinator__.cpuset import
8
8
 
9
9
 
10
10
  def generate_standalone_redis_server_args(
11
- binary, port, dbdir, configuration_parameters=None
11
+ binary, port, dbdir, configuration_parameters=None, redis_arguments=""
12
12
  ):
13
13
  added_params = ["port", "protected-mode", "dir"]
14
14
  # start redis-server
@@ -20,7 +20,7 @@ def generate_standalone_redis_server_args(
20
20
  "{}".format(port),
21
21
  ]
22
22
  if dbdir != "":
23
- command.extend(["--dbdir", dbdir])
23
+ command.extend(["--dir", dbdir])
24
24
  if configuration_parameters is not None:
25
25
  for parameter, parameter_value in configuration_parameters.items():
26
26
  if parameter not in added_params:
@@ -30,6 +30,10 @@ def generate_standalone_redis_server_args(
30
30
  parameter_value,
31
31
  ]
32
32
  )
33
+ if redis_arguments != "":
34
+ redis_arguments_arr = redis_arguments.split(" ")
35
+ logging.info(f"adding redis arguments {redis_arguments_arr}")
36
+ command.extend(redis_arguments_arr)
33
37
  return command
34
38
 
35
39
 
@@ -80,7 +80,6 @@ from redisbench_admin.run.grafana import generate_artifacts_table_grafana_redis
80
80
  from redisbench_admin.run.run import calculate_client_tool_duration_and_check
81
81
  from redisbench_admin.utils.benchmark_config import (
82
82
  get_final_benchmark_config,
83
- extract_redis_dbconfig_parameters,
84
83
  get_defaults,
85
84
  )
86
85
  from redisbench_admin.utils.local import get_local_run_full_filename
@@ -95,6 +94,8 @@ from redis_benchmarks_specification.__common__.spec import (
95
94
  extract_client_cpu_limit,
96
95
  extract_client_tool,
97
96
  extract_client_container_image,
97
+ extract_redis_dbconfig_parameters,
98
+ extract_redis_configuration_from_topology,
98
99
  )
99
100
  from redis_benchmarks_specification.__self_contained_coordinator__.artifacts import (
100
101
  restore_build_artifacts_from_test_details,
@@ -756,6 +757,14 @@ def process_self_contained_coordinator_stream(
756
757
  )
757
758
  )
758
759
  for topology_spec_name in benchmark_config["redis-topologies"]:
760
+ setup_name = topology_spec_name
761
+ setup_type = "oss-standalone"
762
+ if topology_spec_name in topologies_map:
763
+ topology_spec = topologies_map[topology_spec_name]
764
+ setup_type = topology_spec["type"]
765
+ logging.info(
766
+ f"Running topology named {topology_spec_name} of type {setup_type}"
767
+ )
759
768
  test_result = False
760
769
  redis_container = None
761
770
  try:
@@ -763,6 +772,11 @@ def process_self_contained_coordinator_stream(
763
772
  ceil_db_cpu_limit = extract_db_cpu_limit(
764
773
  topologies_map, topology_spec_name
765
774
  )
775
+ redis_arguments = (
776
+ extract_redis_configuration_from_topology(
777
+ topologies_map, topology_spec_name
778
+ )
779
+ )
766
780
  temporary_dir = tempfile.mkdtemp(dir=home)
767
781
  temporary_dir_client = tempfile.mkdtemp(dir=home)
768
782
  logging.info(
@@ -776,8 +790,6 @@ def process_self_contained_coordinator_stream(
776
790
  )
777
791
  )
778
792
 
779
- setup_name = "oss-standalone"
780
- setup_type = "oss-standalone"
781
793
  tf_triggering_env = "ci"
782
794
  github_actor = "{}-{}".format(
783
795
  tf_triggering_env, running_platform
@@ -814,44 +826,22 @@ def process_self_contained_coordinator_stream(
814
826
  redis_proc_start_port,
815
827
  mnt_point,
816
828
  redis_configuration_parameters,
829
+ redis_arguments,
817
830
  )
818
831
  command_str = " ".join(command)
819
832
  db_cpuset_cpus, current_cpu_pos = generate_cpuset_cpus(
820
833
  ceil_db_cpu_limit, current_cpu_pos
821
834
  )
822
- logging.info(
823
- "Running redis-server on docker image {} (cpuset={}) with the following args: {}".format(
824
- run_image, db_cpuset_cpus, command_str
825
- )
826
- )
827
- volumes = {}
828
- working_dir = "/"
829
- if mnt_point != "":
830
- volumes = {
831
- temporary_dir: {
832
- "bind": mnt_point,
833
- "mode": "rw",
834
- },
835
- }
836
- working_dir = mnt_point
837
- redis_container = docker_client.containers.run(
838
- image=run_image,
839
- volumes=volumes,
840
- auto_remove=True,
841
- privileged=True,
842
- working_dir=mnt_point,
843
- command=command_str,
844
- network_mode="host",
845
- detach=True,
846
- cpuset_cpus=db_cpuset_cpus,
847
- pid_mode="host",
848
- publish_all_ports=True,
835
+ redis_container = start_redis_container(
836
+ command_str,
837
+ db_cpuset_cpus,
838
+ docker_client,
839
+ mnt_point,
840
+ redis_containers,
841
+ run_image,
842
+ temporary_dir,
849
843
  )
850
844
 
851
- time.sleep(5)
852
-
853
- redis_containers.append(redis_container)
854
-
855
845
  r = redis.StrictRedis(port=redis_proc_start_port)
856
846
  r.ping()
857
847
  redis_conns = [r]
@@ -926,7 +916,7 @@ def process_self_contained_coordinator_stream(
926
916
  start_time_str,
927
917
  git_hash,
928
918
  test_name,
929
- "oss-standalone",
919
+ setup_name,
930
920
  )
931
921
  )
932
922
  logging.info(
@@ -1238,9 +1228,10 @@ def process_self_contained_coordinator_stream(
1238
1228
  stdout=True, stderr=True
1239
1229
  )
1240
1230
  )
1231
+ redis_container.remove()
1241
1232
  except docker.errors.NotFound:
1242
1233
  logging.info(
1243
- "When trying to stop DB container with id {} and image {} it was already stopped".format(
1234
+ "When trying to fetch logs from DB container with id {} and image {} it was already stopped".format(
1244
1235
  redis_container.id,
1245
1236
  redis_container.image,
1246
1237
  )
@@ -1256,6 +1247,7 @@ def process_self_contained_coordinator_stream(
1256
1247
  for redis_container in redis_containers:
1257
1248
  try:
1258
1249
  redis_container.stop()
1250
+ redis_container.remove()
1259
1251
  except docker.errors.NotFound:
1260
1252
  logging.info(
1261
1253
  "When trying to stop DB container with id {} and image {} it was already stopped".format(
@@ -1269,6 +1261,7 @@ def process_self_contained_coordinator_stream(
1269
1261
  if type(redis_container) == Container:
1270
1262
  try:
1271
1263
  redis_container.stop()
1264
+ redis_container.remove()
1272
1265
  except docker.errors.NotFound:
1273
1266
  logging.info(
1274
1267
  "When trying to stop Client container with id {} and image {} it was already stopped".format(
@@ -1282,6 +1275,7 @@ def process_self_contained_coordinator_stream(
1282
1275
  temporary_dir, temporary_dir_client
1283
1276
  )
1284
1277
  )
1278
+
1285
1279
  shutil.rmtree(temporary_dir, ignore_errors=True)
1286
1280
  shutil.rmtree(temporary_dir_client, ignore_errors=True)
1287
1281
 
@@ -1462,6 +1456,50 @@ def process_self_contained_coordinator_stream(
1462
1456
  return stream_id, overall_result, total_test_suite_runs
1463
1457
 
1464
1458
 
1459
+ def start_redis_container(
1460
+ command_str,
1461
+ db_cpuset_cpus,
1462
+ docker_client,
1463
+ mnt_point,
1464
+ redis_containers,
1465
+ run_image,
1466
+ temporary_dir,
1467
+ auto_remove=False,
1468
+ ):
1469
+ logging.info(
1470
+ "Running redis-server on docker image {} (cpuset={}) with the following args: {}".format(
1471
+ run_image, db_cpuset_cpus, command_str
1472
+ )
1473
+ )
1474
+ volumes = {}
1475
+ working_dir = "/"
1476
+ if mnt_point != "":
1477
+ volumes = {
1478
+ temporary_dir: {
1479
+ "bind": mnt_point,
1480
+ "mode": "rw",
1481
+ },
1482
+ }
1483
+ logging.info(f"setting volume as follow: {volumes}. working_dir={mnt_point}")
1484
+ working_dir = mnt_point
1485
+ redis_container = docker_client.containers.run(
1486
+ image=run_image,
1487
+ volumes=volumes,
1488
+ auto_remove=auto_remove,
1489
+ privileged=True,
1490
+ working_dir=mnt_point,
1491
+ command=command_str,
1492
+ network_mode="host",
1493
+ detach=True,
1494
+ cpuset_cpus=db_cpuset_cpus,
1495
+ pid_mode="host",
1496
+ publish_all_ports=True,
1497
+ )
1498
+ time.sleep(5)
1499
+ redis_containers.append(redis_container)
1500
+ return redis_container
1501
+
1502
+
1465
1503
  def filter_test_files(
1466
1504
  defaults_filename,
1467
1505
  priority_lower_limit,
@@ -0,0 +1,142 @@
1
+ spec:
2
+ setups:
3
+ - name: oss-standalone
4
+ type: oss-standalone
5
+ redis_topology:
6
+ primaries: 1
7
+ replicas: 0
8
+ resources:
9
+ requests:
10
+ cpus: "1"
11
+ memory: "10g"
12
+
13
+ - name: oss-standalone-02-io-threads
14
+ type: oss-standalone
15
+ redis_topology:
16
+ primaries: 1
17
+ replicas: 0
18
+ redis_arguments: --io-threads 2 --io-threads-do-reads yes
19
+ resources:
20
+ requests:
21
+ cpus: "3"
22
+ memory: "10g"
23
+
24
+ - name: oss-standalone-04-io-threads
25
+ type: oss-standalone
26
+ redis_topology:
27
+ primaries: 1
28
+ replicas: 0
29
+ redis_arguments: --io-threads 4 --io-threads-do-reads yes
30
+ resources:
31
+ requests:
32
+ cpus: "5"
33
+ memory: "10g"
34
+
35
+ - name: oss-standalone-08-io-threads
36
+ type: oss-standalone
37
+ redis_topology:
38
+ primaries: 1
39
+ replicas: 0
40
+ redis_arguments: --io-threads 8 --io-threads-do-reads yes
41
+ resources:
42
+ requests:
43
+ cpus: "9"
44
+ memory: "10g"
45
+
46
+ - name: oss-standalone-16-io-threads
47
+ type: oss-standalone
48
+ redis_topology:
49
+ primaries: 1
50
+ replicas: 0
51
+ redis_arguments: --io-threads 16 --io-threads-do-reads yes
52
+ resources:
53
+ requests:
54
+ cpus: "17"
55
+ memory: "10g"
56
+
57
+ - name: oss-standalone-32-io-threads
58
+ type: oss-standalone
59
+ redis_topology:
60
+ primaries: 1
61
+ replicas: 0
62
+ redis_arguments: --io-threads 32 --io-threads-do-reads yes
63
+ resources:
64
+ requests:
65
+ cpus: "33"
66
+ memory: "10g"
67
+
68
+ - name: oss-standalone-64-io-threads
69
+ type: oss-standalone
70
+ redis_topology:
71
+ primaries: 1
72
+ replicas: 0
73
+ redis_arguments: --io-threads 64 --io-threads-do-reads yes
74
+ resources:
75
+ requests:
76
+ cpus: "65"
77
+ memory: "10g"
78
+ - name: oss-standalone-1replica
79
+ type: oss-standalone
80
+ redis_topology:
81
+ primaries: 1
82
+ replicas: 1
83
+ placement: "sparse"
84
+ resources:
85
+ requests:
86
+ cpus: "2"
87
+ memory: "10g"
88
+
89
+ - name: oss-cluster-3-primaries
90
+ type: oss-cluster
91
+ redis_topology:
92
+ primaries: 3
93
+ replicas: 0
94
+ placement: "sparse"
95
+ resources:
96
+ requests:
97
+ cpus: "3"
98
+ memory: "30g"
99
+
100
+ - name: oss-cluster-5-primaries
101
+ type: oss-cluster
102
+ redis_topology:
103
+ primaries: 5
104
+ replicas: 0
105
+ placement: "sparse"
106
+ resources:
107
+ requests:
108
+ cpus: "5"
109
+ memory: "50g"
110
+
111
+ - name: oss-cluster-9-primaries
112
+ type: oss-cluster
113
+ redis_topology:
114
+ primaries: 9
115
+ replicas: 0
116
+ placement: "sparse"
117
+ resources:
118
+ requests:
119
+ cpus: "10"
120
+ memory: "90g"
121
+
122
+ - name: oss-cluster-15-primaries
123
+ type: oss-cluster
124
+ redis_topology:
125
+ primaries: 15
126
+ replicas: 0
127
+ placement: "sparse"
128
+ resources:
129
+ requests:
130
+ cpus: "15"
131
+ memory: "150g"
132
+
133
+ - name: oss-cluster-30-primaries
134
+ type: oss-cluster
135
+ redis_topology:
136
+ primaries: 30
137
+ replicas: 0
138
+ placement: "sparse"
139
+ resources:
140
+ requests:
141
+ cpus: "30"
142
+ memory: "300g"
@@ -0,0 +1,36 @@
1
+ version: 0.4
2
+ name: memtier_benchmark-3Mkeys-load-string-with-512B-values
3
+ description: Runs memtier_benchmark, for a keyspace length of 3M keys loading STRINGs in which the value has a data size of 512 Bytes, with 650 clients running sequential SET commands.
4
+ dbconfig:
5
+ configuration-parameters:
6
+ save: '""'
7
+ check:
8
+ keyspacelen: 0
9
+ resources:
10
+ requests:
11
+ memory: 3g
12
+ tested-commands:
13
+ - set
14
+ redis-topologies:
15
+ - oss-standalone
16
+ - oss-standalone-02-io-threads
17
+ - oss-standalone-04-io-threads
18
+ - oss-standalone-08-io-threads
19
+ - oss-standalone-16-io-threads
20
+ - oss-standalone-32-io-threads
21
+ - oss-standalone-64-io-threads
22
+ build-variants:
23
+ - gcc:8.5.0-amd64-debian-buster-default
24
+ - dockerhub
25
+ clientconfig:
26
+ run_image: redislabs/memtier_benchmark:edge
27
+ tool: memtier_benchmark
28
+ arguments: '"--data-size" "512" --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 3000000 --test-time 180 -c 50 -t 13 --hide-histogram'
29
+ resources:
30
+ requests:
31
+ cpus: '13'
32
+ memory: 2g
33
+
34
+ tested-groups:
35
+ - string
36
+ priority: 17