redis-benchmarks-specification 0.1.238__tar.gz → 0.1.240__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 (200) hide show
  1. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/PKG-INFO +1 -1
  2. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/pyproject.toml +1 -1
  3. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__cli__/args.py +7 -1
  4. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__cli__/cli.py +10 -1
  5. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/github.py +29 -24
  6. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__compare__/compare.py +83 -0
  7. redis_benchmarks_specification-0.1.240/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-1000B-values.yml +30 -0
  8. redis_benchmarks_specification-0.1.240/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-100B-values.yml +30 -0
  9. redis_benchmarks_specification-0.1.240/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-10B-values.yml +30 -0
  10. redis_benchmarks_specification-0.1.240/redis_benchmarks_specification/test-suites/memtier_benchmark-10Kkeys-load-hash-50-fields-with-10000B-values.yml +30 -0
  11. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/LICENSE +0 -0
  12. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/Readme.md +0 -0
  13. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__api__/Readme.md +0 -0
  14. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__api__/__init__.py +0 -0
  15. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__api__/api.py +0 -0
  16. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__api__/app.py +0 -0
  17. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__builder__/Readme.md +0 -0
  18. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__builder__/__init__.py +0 -0
  19. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__builder__/builder.py +0 -0
  20. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__builder__/schema.py +0 -0
  21. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__cli__/__init__.py +0 -0
  22. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__cli__/stats.py +0 -0
  23. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/__init__.py +0 -0
  24. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/builder_schema.py +0 -0
  25. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/env.py +0 -0
  26. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/package.py +0 -0
  27. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/runner.py +0 -0
  28. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/spec.py +0 -0
  29. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/timeseries.py +0 -0
  30. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__compare__/__init__.py +0 -0
  31. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__compare__/args.py +0 -0
  32. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__init__.py +0 -0
  33. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__runner__/__init__.py +0 -0
  34. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__runner__/args.py +0 -0
  35. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__runner__/runner.py +0 -0
  36. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/__init__.py +0 -0
  37. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/args.py +0 -0
  38. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/artifacts.py +0 -0
  39. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/build_info.py +0 -0
  40. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/clients.py +0 -0
  41. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/cpuset.py +0 -0
  42. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/docker.py +0 -0
  43. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py +0 -0
  44. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/runners.py +0 -0
  45. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py +0 -0
  46. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__setups__/__init__.py +0 -0
  47. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__setups__/topologies.py +0 -0
  48. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__spec__/__init__.py +0 -0
  49. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__spec__/args.py +0 -0
  50. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__spec__/cli.py +0 -0
  51. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__watchdog__/__init__.py +0 -0
  52. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__watchdog__/args.py +0 -0
  53. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__watchdog__/watchdog.py +0 -0
  54. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/commands/__init__.py +0 -0
  55. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/commands/commands.py +0 -0
  56. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/setups/builders/gcc:8.5.0-amd64-debian-buster-default.yml +0 -0
  57. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/setups/builders/gcc:8.5.0-arm64-debian-buster-default.yml +0 -0
  58. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/setups/platforms/aws-ec2-1node-c5.4xlarge.yml +0 -0
  59. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/setups/topologies/topologies.yml +0 -0
  60. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/defaults.yml +0 -0
  61. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/generate.py +0 -0
  62. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-hash-hgetall-50-fields-100B-values.yml +0 -0
  63. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml +0 -0
  64. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-1000B-values.yml +0 -0
  65. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10.yml +0 -0
  66. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values.yml +0 -0
  67. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10.yml +0 -0
  68. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values.yml +0 -0
  69. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-100B-expire-use-case.yml +0 -0
  70. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-expire-use-case.yml +0 -0
  71. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-1KiB-expire-use-case.yml +0 -0
  72. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-4KiB-expire-use-case.yml +0 -0
  73. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10.yml +0 -0
  74. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-exists-pipeline-10.yml +0 -0
  75. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expire-pipeline-10.yml +0 -0
  76. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expireat-pipeline-10.yml +0 -0
  77. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10.yml +0 -0
  78. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-pipeline-10.yml +0 -0
  79. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-touch-pipeline-10.yml +0 -0
  80. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-ttl-pipeline-10.yml +0 -0
  81. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hexists.yml +0 -0
  82. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hget-hgetall-hkeys-hvals-with-100B-values.yml +0 -0
  83. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hgetall-50-fields-10B-values.yml +0 -0
  84. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hincrby.yml +0 -0
  85. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hmget-5-fields-with-100B-values-pipeline-10.yml +0 -0
  86. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-transactions-multi-exec-pipeline-20.yml +0 -0
  87. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-100B-values.yml +0 -0
  88. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-10B-values.yml +0 -0
  89. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-1KiB-values.yml +0 -0
  90. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml +0 -0
  91. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values.yml +0 -0
  92. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values.yml +0 -0
  93. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-100B-values.yml +0 -0
  94. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values.yml +0 -0
  95. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-1KiB-values.yml +0 -0
  96. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-pipeline-10.yml +0 -0
  97. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements.yml +0 -0
  98. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10.yml +0 -0
  99. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values.yml +0 -0
  100. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10.yml +0 -0
  101. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values.yml +0 -0
  102. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10.yml +0 -0
  103. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values.yml +0 -0
  104. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10.yml +0 -0
  105. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values.yml +0 -0
  106. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-1KiB-values.yml +0 -0
  107. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-200KiB-values.yml +0 -0
  108. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-20KiB-values.yml +0 -0
  109. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-2MB-values.yml +0 -0
  110. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-listpack-with-100-elements-double-score.yml +0 -0
  111. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score.yml +0 -0
  112. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score.yml +0 -0
  113. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-append-1-100B-pipeline-10.yml +0 -0
  114. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-append-1-100B.yml +0 -0
  115. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-decr.yml +0 -0
  116. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B-pipeline-10.yml +0 -0
  117. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B.yml +0 -0
  118. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-10.yml +0 -0
  119. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B.yml +0 -0
  120. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10.yml +0 -0
  121. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB.yml +0 -0
  122. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-200KiB.yml +0 -0
  123. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-20KiB.yml +0 -0
  124. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-2MB.yml +0 -0
  125. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrby-pipeline-10.yml +0 -0
  126. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrby.yml +0 -0
  127. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrbyfloat-pipeline-10.yml +0 -0
  128. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrbyfloat.yml +0 -0
  129. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mget-1KiB.yml +0 -0
  130. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setex-100B-pipeline-10.yml +0 -0
  131. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setrange-100B-pipeline-10.yml +0 -0
  132. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setrange-100B.yml +0 -0
  133. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-100M-bits-bitmap-bitcount.yml +0 -0
  134. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-1Billion-bits-bitmap-bitcount.yml +0 -0
  135. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-2-elements-geopos.yml +0 -0
  136. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-2-elements-geosearch-fromlonlat-withcoord.yml +0 -0
  137. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml +0 -0
  138. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist.yml +0 -0
  139. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml +0 -0
  140. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash.yml +0 -0
  141. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml +0 -0
  142. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos.yml +0 -0
  143. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox.yml +0 -0
  144. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml +0 -0
  145. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml +0 -0
  146. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-hscan-50-fields-10B-values.yml +0 -0
  147. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements-pipeline-10.yml +0 -0
  148. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements.yml +0 -0
  149. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-lrange-all-elements-pipeline-10.yml +0 -0
  150. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-lrange-all-elements.yml +0 -0
  151. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lindex-integer.yml +0 -0
  152. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lindex-string.yml +0 -0
  153. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-linsert-lrem-integer.yml +0 -0
  154. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-linsert-lrem-string.yml +0 -0
  155. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lpos-integer.yml +0 -0
  156. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lpos-string.yml +0 -0
  157. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-1K-elements-lrange-all-elements-pipeline-10.yml +0 -0
  158. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-1K-elements-lrange-all-elements.yml +0 -0
  159. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-2K-elements-quicklist-lrange-all-elements-longs.yml +0 -0
  160. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-pfadd-4KB-values-pipeline-10.yml +0 -0
  161. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers-pipeline-10.yml +0 -0
  162. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers.yml +0 -0
  163. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smismember.yml +0 -0
  164. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-sismember-is-a-member.yml +0 -0
  165. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-sismember-not-a-member.yml +0 -0
  166. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smembers.yml +0 -0
  167. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smismember.yml +0 -0
  168. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-sscan.yml +0 -0
  169. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10M-elements-sismember-50pct-chance.yml +0 -0
  170. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-smembers.yml +0 -0
  171. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1M-elements-sismember-50pct-chance.yml +0 -0
  172. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-200K-elements-sadd-constant.yml +0 -0
  173. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-2M-elements-sadd-increasing.yml +0 -0
  174. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zincrby-1M-elements-pipeline-1.yml +0 -0
  175. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-1M-elements-pipeline-1.yml +0 -0
  176. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrem-5M-elements-pipeline-1.yml +0 -0
  177. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1.yml +0 -0
  178. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1.yml +0 -0
  179. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements-long-scores.yml +0 -0
  180. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements.yml +0 -0
  181. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrange-all-elements.yml +0 -0
  182. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements-long-scores.yml +0 -0
  183. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements.yml +0 -0
  184. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zscan.yml +0 -0
  185. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1K-elements-zrange-all-elements.yml +0 -0
  186. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10.yml +0 -0
  187. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements.yml +0 -0
  188. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10.yml +0 -0
  189. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-eval-hset-expire.yml +0 -0
  190. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-evalsha-hset-expire.yml +0 -0
  191. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sdiff.yml +0 -0
  192. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sinter.yml +0 -0
  193. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sunion.yml +0 -0
  194. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries-pipeline-10.yml +0 -0
  195. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries.yml +0 -0
  196. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunion.yml +0 -0
  197. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunionstore.yml +0 -0
  198. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values.yml +0 -0
  199. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-connection-hello.yml +0 -0
  200. {redis_benchmarks_specification-0.1.238 → redis_benchmarks_specification-0.1.240}/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.238
3
+ Version: 0.1.240
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.238"
3
+ version = "0.1.240"
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"
@@ -5,7 +5,7 @@
5
5
  #
6
6
  import datetime
7
7
  import os
8
-
8
+ from distutils.util import strtobool
9
9
  from redis_benchmarks_specification.__common__.env import (
10
10
  GH_REDIS_SERVER_HOST,
11
11
  GH_TOKEN,
@@ -71,6 +71,12 @@ def spec_cli_args(parser):
71
71
  action="store_true",
72
72
  help="Include modules statistics on commandstats.",
73
73
  )
74
+ parser.add_argument(
75
+ "--use-git-timestamp",
76
+ type=lambda x: bool(strtobool(x)),
77
+ default=True,
78
+ help="Use git timestamp",
79
+ )
74
80
  parser.add_argument("--github_token", type=str, default=PERFORMANCE_GH_TOKEN)
75
81
  parser.add_argument("--pull-request", type=str, default=None, nargs="?", const="")
76
82
  parser.add_argument(
@@ -445,6 +445,15 @@ def trigger_tests_cli_command_logic(args, project_name, project_version):
445
445
  git_branch = cdict["git_branch"]
446
446
  commit_datetime = cdict["commit_datetime"]
447
447
  commit_summary = cdict["commit_summary"]
448
+ reply_fields = {}
449
+ use_git_timestamp = args.use_git_timestamp
450
+ if use_git_timestamp is False:
451
+ reply_fields["use_git_timestamp"] = str(use_git_timestamp)
452
+
453
+ logging.info(
454
+ f"Setting use use_git_timestamp={use_git_timestamp}. ({args.use_git_timestamp})"
455
+ )
456
+
448
457
  if result is True:
449
458
  stream_id = "n/a"
450
459
  if args.dry_run is False:
@@ -455,7 +464,7 @@ def trigger_tests_cli_command_logic(args, project_name, project_version):
455
464
  ) = request_build_from_commit_info(
456
465
  conn,
457
466
  commit_dict,
458
- {},
467
+ reply_fields,
459
468
  binary_key,
460
469
  binary_value,
461
470
  REDIS_BINS_EXPIRE_SECS,
@@ -107,32 +107,37 @@ def check_github_available_and_actionable(
107
107
  logging.info("Detected github token")
108
108
  g = Github(github_token)
109
109
  if pull_request is not None and pull_request != "":
110
- pull_request_n = int(pull_request)
111
- github_pr = (
112
- g.get_user(tf_github_org)
113
- .get_repo(tf_github_repo)
114
- .get_issue(pull_request_n)
115
- )
116
- comments = github_pr.get_comments()
117
- pr_link = github_pr.html_url
118
- logging.info("Working on github PR already: {}".format(pr_link))
119
- is_actionable_pr = True
120
- contains_regression_comment, pos = fn(comments)
121
- if contains_regression_comment:
122
- regression_comment = comments[pos]
123
- old_regression_comment_body = regression_comment.body
124
- logging.info(
125
- "Already contains PR comment. Link: {}".format(
126
- regression_comment.html_url
110
+ try:
111
+ pull_request_n = int(pull_request)
112
+ github_pr = (
113
+ g.get_user(tf_github_org)
114
+ .get_repo(tf_github_repo)
115
+ .get_issue(pull_request_n)
116
+ )
117
+ comments = github_pr.get_comments()
118
+ pr_link = github_pr.html_url
119
+ logging.info("Working on github PR already: {}".format(pr_link))
120
+ is_actionable_pr = True
121
+ contains_regression_comment, pos = fn(comments)
122
+ if contains_regression_comment:
123
+ regression_comment = comments[pos]
124
+ old_regression_comment_body = regression_comment.body
125
+ logging.info(
126
+ "Already contains PR comment. Link: {}".format(
127
+ regression_comment.html_url
128
+ )
127
129
  )
130
+ if verbose:
131
+ logging.info("Printing old PR comment:")
132
+ print("".join(["-" for x in range(1, 80)]))
133
+ print(regression_comment.body)
134
+ print("".join(["-" for x in range(1, 80)]))
135
+ else:
136
+ logging.info("Does not contain PR comment")
137
+ except Exception as e:
138
+ logging.error(
139
+ f"an error occured when checking github info. {e.__str__()}. proceeding..."
128
140
  )
129
- if verbose:
130
- logging.info("Printing old PR comment:")
131
- print("".join(["-" for x in range(1, 80)]))
132
- print(regression_comment.body)
133
- print("".join(["-" for x in range(1, 80)]))
134
- else:
135
- logging.info("Does not contain PR comment")
136
141
  logging.info(
137
142
  f"contains_regression_comment: {contains_regression_comment}, is_actionable_pr: {is_actionable_pr}, pr_link: {pr_link}"
138
143
  )
@@ -664,6 +664,10 @@ def compute_regression_table(
664
664
  total_comparison_points,
665
665
  regressions_list,
666
666
  improvements_list,
667
+ unstable_list,
668
+ baseline_only_list,
669
+ comparison_only_list,
670
+ no_datapoints_list,
667
671
  ) = from_rts_to_regression_table(
668
672
  baseline_deployment_name,
669
673
  comparison_deployment_name,
@@ -708,6 +712,29 @@ def compute_regression_table(
708
712
  baseline_deployment_name,
709
713
  )
710
714
 
715
+ if total_unstable > 0:
716
+ old_stdout = sys.stdout
717
+ sys.stdout = mystdout = StringIO()
718
+ table_output += "#### Unstable Table\n\n"
719
+ writer_regressions = MarkdownTableWriter(
720
+ table_name="",
721
+ headers=[
722
+ "Test Case",
723
+ f"Baseline {baseline_github_org}/{baseline_github_repo} {baseline_str} (median obs. +- std.dev)",
724
+ f"Comparison {comparison_github_org}/{comparison_github_repo} {comparison_str} (median obs. +- std.dev)",
725
+ "% change ({})".format(metric_mode),
726
+ "Note",
727
+ ],
728
+ value_matrix=table_unstable,
729
+ )
730
+ writer_regressions.dump(mystdout, False)
731
+ table_output += mystdout.getvalue()
732
+ table_output += "\n\n"
733
+ test_names_str = "|".join([l[0] for l in unstable_list])
734
+ table_output += f"Unstable test regexp names: {test_names_str}\n\n"
735
+ mystdout.close()
736
+ sys.stdout = old_stdout
737
+
711
738
  if total_regressions > 0:
712
739
  old_stdout = sys.stdout
713
740
  sys.stdout = mystdout = StringIO()
@@ -774,6 +801,27 @@ def compute_regression_table(
774
801
  sys.stdout = old_stdout
775
802
  table_output += mystdout.getvalue()
776
803
  table_output += "\n</details>\n"
804
+ len_baseline_only_list = len(baseline_only_list)
805
+ if len_baseline_only_list > 0:
806
+ table_output += f"\n WARNING: There were {len_baseline_only_list} benchmarks with datapoints only on baseline.\n\n"
807
+ baseline_only_test_names_str = "|".join([l[0] for l in baseline_only_list])
808
+ table_output += (
809
+ f" Baseline only test regexp names: {baseline_only_test_names_str}\n\n"
810
+ )
811
+ len_comparison_only_list = len(comparison_only_list)
812
+ if len_comparison_only_list > 0:
813
+ table_output += f"\n WARNING: There were {len_comparison_only_list} benchmarks with datapoints only on comparison.\n\n"
814
+ comparison_only_test_names_str = "|".join([l[0] for l in comparison_only_list])
815
+ table_output += (
816
+ f" Comparison only test regexp names: {comparison_only_test_names_str}\n\n"
817
+ )
818
+ len_no_datapoints = len(no_datapoints_list)
819
+ if len_no_datapoints > 0:
820
+ table_output += f"\n WARNING: There were {len_no_datapoints} benchmarks with NO datapoints for both baseline and comparison.\n\n"
821
+ no_datapoints_test_names_str = "|".join([l[0] for l in no_datapoints_list])
822
+ table_output += (
823
+ f" NO DATAPOINTS test regexp names: {no_datapoints_test_names_str}\n\n"
824
+ )
777
825
 
778
826
  return (
779
827
  detected_regressions,
@@ -967,6 +1015,10 @@ def from_rts_to_regression_table(
967
1015
  progress = tqdm(unit="benchmark time-series", total=len(test_names))
968
1016
  regressions_list = []
969
1017
  improvements_list = []
1018
+ unstable_list = []
1019
+ baseline_only_list = []
1020
+ comparison_only_list = []
1021
+ no_datapoints_list = []
970
1022
  for test_name in test_names:
971
1023
  compare_version = "main"
972
1024
  github_link = "https://github.com/redis/redis-benchmarks-specification/blob"
@@ -1110,6 +1162,17 @@ def from_rts_to_regression_table(
1110
1162
  logging.error("Detected a ZeroDivisionError. {}".format(e.__str__()))
1111
1163
  pass
1112
1164
  unstable = False
1165
+
1166
+ if baseline_v != "N/A" and comparison_v == "N/A":
1167
+ logging.warning(
1168
+ "Baseline contains datapoints but comparison not for test: {test_name}"
1169
+ )
1170
+ baseline_only_list.append(test_name)
1171
+ if comparison_v != "N/A" and baseline_v == "N/A":
1172
+ logging.warning(
1173
+ "Comparison contains datapoints but baseline not for test: {test_name}"
1174
+ )
1175
+ comparison_only_list.append(test_name)
1113
1176
  if (
1114
1177
  baseline_v != "N/A"
1115
1178
  and comparison_pct_change != "N/A"
@@ -1119,6 +1182,7 @@ def from_rts_to_regression_table(
1119
1182
  if comparison_pct_change > 10.0 or baseline_pct_change > 10.0:
1120
1183
  note = "UNSTABLE (very high variance)"
1121
1184
  unstable = True
1185
+ unstable_list.append([test_name, "n/a"])
1122
1186
 
1123
1187
  baseline_v_str = prepare_value_str(
1124
1188
  baseline_pct_change, baseline_v, baseline_values, simplify_table
@@ -1212,6 +1276,21 @@ def from_rts_to_regression_table(
1212
1276
  if should_add_line:
1213
1277
  total_comparison_points = total_comparison_points + 1
1214
1278
  table_full.append(line)
1279
+ else:
1280
+ logging.warning(
1281
+ "There were no datapoints both for baseline and comparison for test: {test_name}"
1282
+ )
1283
+ no_datapoints_list.append(test_name)
1284
+ logging.warning(
1285
+ f"There is a total of {len(no_datapoints_list)} tests without datapoints for baseline AND comparison"
1286
+ )
1287
+ logging.info(
1288
+ f"There is a total of {len(comparison_only_list)} tests without datapoints for baseline"
1289
+ )
1290
+ logging.info(
1291
+ f"There is a total of {len(baseline_only_list)} tests without datapoints for comparison"
1292
+ )
1293
+ logging.info(f"There is a total of {len(unstable_list)} UNSTABLE tests")
1215
1294
  return (
1216
1295
  detected_regressions,
1217
1296
  table_full,
@@ -1226,6 +1305,10 @@ def from_rts_to_regression_table(
1226
1305
  total_comparison_points,
1227
1306
  regressions_list,
1228
1307
  improvements_list,
1308
+ unstable_list,
1309
+ baseline_only_list,
1310
+ comparison_only_list,
1311
+ no_datapoints_list,
1229
1312
  )
1230
1313
 
1231
1314
 
@@ -0,0 +1,30 @@
1
+ version: 0.4
2
+ name: memtier_benchmark-100Kkeys-load-hash-50-fields-with-1000B-values
3
+ description: Runs memtier_benchmark, for a keyspace length of 100K keys loading HASHES with 50 fields each. Each field value has a data size of 1000 Bytes.
4
+ dbconfig:
5
+ configuration-parameters:
6
+ save: '""'
7
+ check:
8
+ keyspacelen: 0
9
+ resources:
10
+ requests:
11
+ memory: 6g
12
+ tested-groups:
13
+ - hash
14
+ tested-commands:
15
+ - hset
16
+ redis-topologies:
17
+ - oss-standalone
18
+ build-variants:
19
+ - gcc:8.5.0-amd64-debian-buster-default
20
+ - dockerhub
21
+ clientconfig:
22
+ run_image: redislabs/memtier_benchmark:edge
23
+ tool: memtier_benchmark
24
+ arguments: --test-time 120 --distinct-client-seed "--data-size" "1000" --command "HSET __key__ field:1 __data__ field:2 __data__ field:3 __data__ field:4 __data__ field:5 __data__ field:6 __data__ field:7 __data__ field:8 __data__ field:9 __data__ field:10 __data__ field:11 __data__ field:12 __data__ field:13 __data__ field:14 __data__ field:15 __data__ field:16 __data__ field:17 __data__ field:18 __data__ field:19 __data__ field:20 __data__ field:21 __data__ field:22 __data__ field:23 __data__ field:24 __data__ field:25 __data__ field:26 __data__ field:27 __data__ field:28 __data__ field:29 __data__ field:30 __data__ field:31 __data__ field:32 __data__ field:33 __data__ field:34 __data__ field:35 __data__ field:36 __data__ field:37 __data__ field:38 __data__ field:39 __data__ field:40 __data__ field:41 __data__ field:42 __data__ field:43 __data__ field:44 __data__ field:45 __data__ field:46 __data__ field:47 __data__ field:48 __data__ field:49 __data__ field:50 __data__" --command-key-pattern="R" --key-minimum=1 --key-maximum 100000 -c 50 -t 4 --hide-histogram
25
+ resources:
26
+ requests:
27
+ cpus: '4'
28
+ memory: 2g
29
+
30
+ priority: 5
@@ -0,0 +1,30 @@
1
+ version: 0.4
2
+ name: memtier_benchmark-100Kkeys-load-hash-50-fields-with-100B-values
3
+ description: Runs memtier_benchmark, for a keyspace length of 100K keys loading HASHES with 50 fields each. Each field value has a data size of 100 Bytes.
4
+ dbconfig:
5
+ configuration-parameters:
6
+ save: '""'
7
+ check:
8
+ keyspacelen: 0
9
+ resources:
10
+ requests:
11
+ memory: 6g
12
+ tested-groups:
13
+ - hash
14
+ tested-commands:
15
+ - hset
16
+ redis-topologies:
17
+ - oss-standalone
18
+ build-variants:
19
+ - gcc:8.5.0-amd64-debian-buster-default
20
+ - dockerhub
21
+ clientconfig:
22
+ run_image: redislabs/memtier_benchmark:edge
23
+ tool: memtier_benchmark
24
+ arguments: --test-time 120 --distinct-client-seed "--data-size" "100" --command "HSET __key__ field:1 __data__ field:2 __data__ field:3 __data__ field:4 __data__ field:5 __data__ field:6 __data__ field:7 __data__ field:8 __data__ field:9 __data__ field:10 __data__ field:11 __data__ field:12 __data__ field:13 __data__ field:14 __data__ field:15 __data__ field:16 __data__ field:17 __data__ field:18 __data__ field:19 __data__ field:20 __data__ field:21 __data__ field:22 __data__ field:23 __data__ field:24 __data__ field:25 __data__ field:26 __data__ field:27 __data__ field:28 __data__ field:29 __data__ field:30 __data__ field:31 __data__ field:32 __data__ field:33 __data__ field:34 __data__ field:35 __data__ field:36 __data__ field:37 __data__ field:38 __data__ field:39 __data__ field:40 __data__ field:41 __data__ field:42 __data__ field:43 __data__ field:44 __data__ field:45 __data__ field:46 __data__ field:47 __data__ field:48 __data__ field:49 __data__ field:50 __data__" --command-key-pattern="R" --key-minimum=1 --key-maximum 100000 -c 50 -t 4 --hide-histogram
25
+ resources:
26
+ requests:
27
+ cpus: '4'
28
+ memory: 2g
29
+
30
+ priority: 5
@@ -0,0 +1,30 @@
1
+ version: 0.4
2
+ name: memtier_benchmark-100Kkeys-load-hash-50-fields-with-10B-values
3
+ description: Runs memtier_benchmark, for a keyspace length of 100K keys loading HASHES with 50 fields each. Each field value has a data size of 10 Bytes.
4
+ dbconfig:
5
+ configuration-parameters:
6
+ save: '""'
7
+ check:
8
+ keyspacelen: 0
9
+ resources:
10
+ requests:
11
+ memory: 6g
12
+ tested-groups:
13
+ - hash
14
+ tested-commands:
15
+ - hset
16
+ redis-topologies:
17
+ - oss-standalone
18
+ build-variants:
19
+ - gcc:8.5.0-amd64-debian-buster-default
20
+ - dockerhub
21
+ clientconfig:
22
+ run_image: redislabs/memtier_benchmark:edge
23
+ tool: memtier_benchmark
24
+ arguments: --test-time 120 --distinct-client-seed "--data-size" "10" --command "HSET __key__ field:1 __data__ field:2 __data__ field:3 __data__ field:4 __data__ field:5 __data__ field:6 __data__ field:7 __data__ field:8 __data__ field:9 __data__ field:10 __data__ field:11 __data__ field:12 __data__ field:13 __data__ field:14 __data__ field:15 __data__ field:16 __data__ field:17 __data__ field:18 __data__ field:19 __data__ field:20 __data__ field:21 __data__ field:22 __data__ field:23 __data__ field:24 __data__ field:25 __data__ field:26 __data__ field:27 __data__ field:28 __data__ field:29 __data__ field:30 __data__ field:31 __data__ field:32 __data__ field:33 __data__ field:34 __data__ field:35 __data__ field:36 __data__ field:37 __data__ field:38 __data__ field:39 __data__ field:40 __data__ field:41 __data__ field:42 __data__ field:43 __data__ field:44 __data__ field:45 __data__ field:46 __data__ field:47 __data__ field:48 __data__ field:49 __data__ field:50 __data__" --command-key-pattern="R" --key-minimum=1 --key-maximum 100000 -c 50 -t 4 --hide-histogram
25
+ resources:
26
+ requests:
27
+ cpus: '4'
28
+ memory: 2g
29
+
30
+ priority: 5
@@ -0,0 +1,30 @@
1
+ version: 0.4
2
+ name: memtier_benchmark-10Kkeys-load-hash-50-fields-with-10000B-values
3
+ description: Runs memtier_benchmark, for a keyspace length of 100K keys loading HASHES with 50 fields each. Each field value has a data size of 1000 Bytes.
4
+ dbconfig:
5
+ configuration-parameters:
6
+ save: '""'
7
+ check:
8
+ keyspacelen: 0
9
+ resources:
10
+ requests:
11
+ memory: 6g
12
+ tested-groups:
13
+ - hash
14
+ tested-commands:
15
+ - hset
16
+ redis-topologies:
17
+ - oss-standalone
18
+ build-variants:
19
+ - gcc:8.5.0-amd64-debian-buster-default
20
+ - dockerhub
21
+ clientconfig:
22
+ run_image: redislabs/memtier_benchmark:edge
23
+ tool: memtier_benchmark
24
+ arguments: --test-time 120 --distinct-client-seed "--data-size" "10000" --command "HSET __key__ field:1 __data__ field:2 __data__ field:3 __data__ field:4 __data__ field:5 __data__ field:6 __data__ field:7 __data__ field:8 __data__ field:9 __data__ field:10 __data__ field:11 __data__ field:12 __data__ field:13 __data__ field:14 __data__ field:15 __data__ field:16 __data__ field:17 __data__ field:18 __data__ field:19 __data__ field:20 __data__ field:21 __data__ field:22 __data__ field:23 __data__ field:24 __data__ field:25 __data__ field:26 __data__ field:27 __data__ field:28 __data__ field:29 __data__ field:30 __data__ field:31 __data__ field:32 __data__ field:33 __data__ field:34 __data__ field:35 __data__ field:36 __data__ field:37 __data__ field:38 __data__ field:39 __data__ field:40 __data__ field:41 __data__ field:42 __data__ field:43 __data__ field:44 __data__ field:45 __data__ field:46 __data__ field:47 __data__ field:48 __data__ field:49 __data__ field:50 __data__" --command-key-pattern="R" --key-minimum=1 --key-maximum 10000 -c 50 -t 4 --hide-histogram
25
+ resources:
26
+ requests:
27
+ cpus: '4'
28
+ memory: 2g
29
+
30
+ priority: 5