redis-benchmarks-specification 0.1.239__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.239 → redis_benchmarks_specification-0.1.240}/PKG-INFO +1 -1
  2. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/pyproject.toml +1 -1
  3. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__cli__/args.py +7 -1
  4. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__cli__/cli.py +10 -1
  5. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/github.py +29 -24
  6. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__compare__/compare.py +83 -0
  7. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/LICENSE +0 -0
  8. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/Readme.md +0 -0
  9. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__api__/Readme.md +0 -0
  10. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__api__/__init__.py +0 -0
  11. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__api__/api.py +0 -0
  12. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__api__/app.py +0 -0
  13. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__builder__/Readme.md +0 -0
  14. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__builder__/__init__.py +0 -0
  15. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__builder__/builder.py +0 -0
  16. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__builder__/schema.py +0 -0
  17. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__cli__/__init__.py +0 -0
  18. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__cli__/stats.py +0 -0
  19. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/__init__.py +0 -0
  20. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/builder_schema.py +0 -0
  21. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/env.py +0 -0
  22. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/package.py +0 -0
  23. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/runner.py +0 -0
  24. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/spec.py +0 -0
  25. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__common__/timeseries.py +0 -0
  26. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__compare__/__init__.py +0 -0
  27. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__compare__/args.py +0 -0
  28. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__init__.py +0 -0
  29. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__runner__/__init__.py +0 -0
  30. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__runner__/args.py +0 -0
  31. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__runner__/runner.py +0 -0
  32. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/__init__.py +0 -0
  33. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/args.py +0 -0
  34. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/artifacts.py +0 -0
  35. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/build_info.py +0 -0
  36. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/clients.py +0 -0
  37. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/cpuset.py +0 -0
  38. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/docker.py +0 -0
  39. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py +0 -0
  40. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/runners.py +0 -0
  41. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py +0 -0
  42. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__setups__/__init__.py +0 -0
  43. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__setups__/topologies.py +0 -0
  44. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__spec__/__init__.py +0 -0
  45. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__spec__/args.py +0 -0
  46. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__spec__/cli.py +0 -0
  47. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__watchdog__/__init__.py +0 -0
  48. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__watchdog__/args.py +0 -0
  49. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/__watchdog__/watchdog.py +0 -0
  50. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/commands/__init__.py +0 -0
  51. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/commands/commands.py +0 -0
  52. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/setups/builders/gcc:8.5.0-amd64-debian-buster-default.yml +0 -0
  53. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/setups/builders/gcc:8.5.0-arm64-debian-buster-default.yml +0 -0
  54. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/setups/platforms/aws-ec2-1node-c5.4xlarge.yml +0 -0
  55. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/setups/topologies/topologies.yml +0 -0
  56. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/defaults.yml +0 -0
  57. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/generate.py +0 -0
  58. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-hash-hgetall-50-fields-100B-values.yml +0 -0
  59. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-1000B-values.yml +0 -0
  60. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-100B-values.yml +0 -0
  61. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-10B-values.yml +0 -0
  62. {redis_benchmarks_specification-0.1.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Kkeys-load-hash-50-fields-with-10000B-values.yml +0 -0
  63. {redis_benchmarks_specification-0.1.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → 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.239 → redis_benchmarks_specification-0.1.240}/redis_benchmarks_specification/test-suites/memtier_benchmark-connection-hello.yml +0 -0
  200. {redis_benchmarks_specification-0.1.239 → 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.239
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.239"
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