redis-benchmarks-specification 0.1.79__tar.gz → 0.1.80__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 (156) hide show
  1. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/PKG-INFO +1 -1
  2. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/pyproject.toml +1 -1
  3. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__common__/github.py +59 -0
  4. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__self_contained_coordinator__/args.py +4 -1
  5. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py +78 -0
  6. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/LICENSE +0 -0
  7. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/Readme.md +0 -0
  8. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__api__/Readme.md +0 -0
  9. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__api__/__init__.py +0 -0
  10. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__api__/api.py +0 -0
  11. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__api__/app.py +0 -0
  12. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__builder__/Readme.md +0 -0
  13. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__builder__/__init__.py +0 -0
  14. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__builder__/builder.py +0 -0
  15. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__builder__/schema.py +0 -0
  16. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__cli__/__init__.py +0 -0
  17. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__cli__/args.py +0 -0
  18. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__cli__/cli.py +0 -0
  19. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__cli__/stats.py +0 -0
  20. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__common__/__init__.py +0 -0
  21. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__common__/builder_schema.py +0 -0
  22. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__common__/env.py +0 -0
  23. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__common__/package.py +0 -0
  24. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__common__/runner.py +0 -0
  25. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__common__/spec.py +0 -0
  26. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__compare__/__init__.py +0 -0
  27. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__compare__/args.py +0 -0
  28. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__compare__/compare.py +0 -0
  29. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__init__.py +0 -0
  30. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__runner__/__init__.py +0 -0
  31. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__runner__/args.py +0 -0
  32. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__runner__/runner.py +0 -0
  33. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__self_contained_coordinator__/__init__.py +0 -0
  34. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__self_contained_coordinator__/artifacts.py +0 -0
  35. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__self_contained_coordinator__/build_info.py +0 -0
  36. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__self_contained_coordinator__/clients.py +0 -0
  37. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__self_contained_coordinator__/cpuset.py +0 -0
  38. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__self_contained_coordinator__/docker.py +0 -0
  39. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py +0 -0
  40. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__self_contained_coordinator__/runners.py +0 -0
  41. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__setups__/__init__.py +0 -0
  42. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__setups__/topologies.py +0 -0
  43. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__spec__/__init__.py +0 -0
  44. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__spec__/args.py +0 -0
  45. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__spec__/cli.py +0 -0
  46. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__watchdog__/__init__.py +0 -0
  47. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__watchdog__/args.py +0 -0
  48. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/__watchdog__/watchdog.py +0 -0
  49. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/commands/__init__.py +0 -0
  50. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/commands/commands.py +0 -0
  51. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/setups/builders/gcc:8.5.0-amd64-debian-buster-default.yml +0 -0
  52. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/setups/builders/gcc:8.5.0-arm64-debian-buster-default.yml +0 -0
  53. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/setups/platforms/aws-ec2-1node-c5.4xlarge.yml +0 -0
  54. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/setups/topologies/topologies.yml +0 -0
  55. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/defaults.yml +0 -0
  56. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/generate.py +0 -0
  57. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml +0 -0
  58. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-1000B-values.yml +0 -0
  59. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10.yml +0 -0
  60. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values.yml +0 -0
  61. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10.yml +0 -0
  62. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values.yml +0 -0
  63. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-100B-expire-use-case.yml +0 -0
  64. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-expire-use-case.yml +0 -0
  65. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-1KiB-expire-use-case.yml +0 -0
  66. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-4KiB-expire-use-case.yml +0 -0
  67. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10.yml +0 -0
  68. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-exists-pipeline-10.yml +0 -0
  69. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expire-pipeline-10.yml +0 -0
  70. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expireat-pipeline-10.yml +0 -0
  71. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10.yml +0 -0
  72. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-pipeline-10.yml +0 -0
  73. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-touch-pipeline-10.yml +0 -0
  74. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-ttl-pipeline-10.yml +0 -0
  75. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hexists.yml +0 -0
  76. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hget-hgetall-hkeys-hvals-with-100B-values.yml +0 -0
  77. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hincrby.yml +0 -0
  78. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hmget-5-fields-with-100B-values-pipeline-10.yml +0 -0
  79. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-transactions-multi-exec-pipeline-20.yml +0 -0
  80. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-100B-values.yml +0 -0
  81. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-10B-values.yml +0 -0
  82. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-1KiB-values.yml +0 -0
  83. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml +0 -0
  84. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values.yml +0 -0
  85. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values.yml +0 -0
  86. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-100B-values.yml +0 -0
  87. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values.yml +0 -0
  88. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-1KiB-values.yml +0 -0
  89. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10.yml +0 -0
  90. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values.yml +0 -0
  91. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10.yml +0 -0
  92. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values.yml +0 -0
  93. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10.yml +0 -0
  94. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values.yml +0 -0
  95. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10.yml +0 -0
  96. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values.yml +0 -0
  97. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-1KiB-values.yml +0 -0
  98. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-200KiB-values.yml +0 -0
  99. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-20KiB-values.yml +0 -0
  100. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-2MB-values.yml +0 -0
  101. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score.yml +0 -0
  102. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score.yml +0 -0
  103. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-decr.yml +0 -0
  104. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B-pipeline-10.yml +0 -0
  105. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B.yml +0 -0
  106. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-10.yml +0 -0
  107. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B.yml +0 -0
  108. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10.yml +0 -0
  109. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB.yml +0 -0
  110. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-200KiB.yml +0 -0
  111. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-20KiB.yml +0 -0
  112. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-2MB.yml +0 -0
  113. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mget-1KiB.yml +0 -0
  114. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml +0 -0
  115. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist.yml +0 -0
  116. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml +0 -0
  117. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash.yml +0 -0
  118. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml +0 -0
  119. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos.yml +0 -0
  120. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox.yml +0 -0
  121. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml +0 -0
  122. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml +0 -0
  123. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements.yml +0 -0
  124. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-lrange-all-elements.yml +0 -0
  125. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-1K-elements-lrange-all-elements.yml +0 -0
  126. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-pfadd-4KB-values-pipeline-10.yml +0 -0
  127. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers-pipeline-10.yml +0 -0
  128. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers.yml +0 -0
  129. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smismember.yml +0 -0
  130. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smembers.yml +0 -0
  131. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smismember.yml +0 -0
  132. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-smembers.yml +0 -0
  133. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-200K-elements-sadd-constant.yml +0 -0
  134. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-2M-elements-sadd-increasing.yml +0 -0
  135. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zincrby-1M-elements-pipeline-1.yml +0 -0
  136. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-1M-elements-pipeline-1.yml +0 -0
  137. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrem-5M-elements-pipeline-1.yml +0 -0
  138. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1.yml +0 -0
  139. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1.yml +0 -0
  140. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements-long-scores.yml +0 -0
  141. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements.yml +0 -0
  142. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrange-all-elements.yml +0 -0
  143. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements-long-scores.yml +0 -0
  144. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements.yml +0 -0
  145. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1K-elements-zrange-all-elements.yml +0 -0
  146. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10.yml +0 -0
  147. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements.yml +0 -0
  148. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10.yml +0 -0
  149. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-eval-hset-expire.yml +0 -0
  150. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-evalsha-hset-expire.yml +0 -0
  151. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sdiff.yml +0 -0
  152. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sinter.yml +0 -0
  153. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sunion.yml +0 -0
  154. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries-pipeline-10.yml +0 -0
  155. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries.yml +0 -0
  156. {redis_benchmarks_specification-0.1.79 → redis_benchmarks_specification-0.1.80}/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.79
3
+ Version: 0.1.80
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.79"
3
+ version = "0.1.80"
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"
@@ -90,6 +90,7 @@ def check_github_available_and_actionable(
90
90
 
91
91
 
92
92
  def create_new_pr_comment(auto_approve, comment_body, github_pr, pr_link):
93
+ regression_comment = None
93
94
  user_input = "n"
94
95
  if auto_approve:
95
96
  print("auto approving...")
@@ -100,6 +101,7 @@ def create_new_pr_comment(auto_approve, comment_body, github_pr, pr_link):
100
101
  regression_comment = github_pr.create_comment(comment_body)
101
102
  html_url = regression_comment.html_url
102
103
  print("created comment. Access it via {}".format(html_url))
104
+ return regression_comment
103
105
 
104
106
 
105
107
  def update_comment_if_needed(
@@ -141,3 +143,60 @@ def update_comment_if_needed(
141
143
  print(
142
144
  "Updated comment. Access it via {}".format(regression_comment.html_url)
143
145
  )
146
+
147
+
148
+ def check_benchmark_build_comment(comments):
149
+ res = False
150
+ pos = -1
151
+ for n, comment in enumerate(comments):
152
+ body = comment.body
153
+ if "CE Performance Automation : step" in body:
154
+ res = True
155
+ pos = n
156
+ return res, pos
157
+
158
+
159
+ def check_benchmark_running_comment(comments):
160
+ res = False
161
+ pos = -1
162
+ for n, comment in enumerate(comments):
163
+ body = comment.body
164
+ if "CE Performance Automation : step" in body:
165
+ res = True
166
+ pos = n
167
+ return res, pos
168
+
169
+
170
+ def markdown_progress_bar(current, total, bar_length=40):
171
+ progress = current / total
172
+ block = int(round(bar_length * progress))
173
+ bar = "#" * block + "-" * (bar_length - block)
174
+ percentage = round(progress * 100, 2)
175
+ return f"[{bar}] {percentage}%"
176
+
177
+
178
+ def generate_benchmark_started_pr_comment(
179
+ benchmark_stream_ids,
180
+ total_pending,
181
+ total_benchmarks,
182
+ ):
183
+ comment_body = (
184
+ "### CE Performance Automation : step 2 of 2 (benchmark) RUNNING...\n\n"
185
+ )
186
+ comment_body += (
187
+ "This comment was automatically generated given a benchmark was triggered.\n\n"
188
+ )
189
+
190
+ completed = total_benchmarks - total_pending
191
+ comment_body += (
192
+ f"Status: {markdown_progress_bar(completed,total_benchmarks)} pending.\n\n"
193
+ )
194
+ comment_body += f"In total will run {total_benchmarks} benchmarks.\n"
195
+ comment_body += f" - {total_pending} pending.\n"
196
+ comment_body += f" - {total_pending} completed.\n"
197
+
198
+ for benchmark_stream_id in benchmark_stream_ids:
199
+ benchmark_stream_id = benchmark_stream_id.decode()
200
+ grafana_benchmark_status_link = f"https://benchmarksredisio.grafana.net/d/edsxdsrbexhc0f/ce-benchmark-run-status?orgId=1&var-benchmark_work_stream={benchmark_stream_id}"
201
+ comment_body += f"You can check a the status in detail via the [grafana link]({grafana_benchmark_status_link})"
202
+ return comment_body
@@ -1,5 +1,5 @@
1
1
  import argparse
2
-
2
+ import os
3
3
  from redis_benchmarks_specification.__common__.env import (
4
4
  MACHINE_CPU_COUNT,
5
5
  SPECS_PATH_SETUPS,
@@ -20,6 +20,8 @@ from redis_benchmarks_specification.__common__.env import (
20
20
  ALLOWED_PROFILERS,
21
21
  )
22
22
 
23
+ PERFORMANCE_GH_TOKEN = os.getenv("PERFORMANCE_GH_TOKEN", None)
24
+
23
25
 
24
26
  def create_self_contained_coordinator_args(project_name):
25
27
  parser = argparse.ArgumentParser(
@@ -30,6 +32,7 @@ def create_self_contained_coordinator_args(project_name):
30
32
  parser.add_argument("--event_stream_port", type=int, default=GH_REDIS_SERVER_PORT)
31
33
  parser.add_argument("--event_stream_pass", type=str, default=GH_REDIS_SERVER_AUTH)
32
34
  parser.add_argument("--event_stream_user", type=str, default=GH_REDIS_SERVER_USER)
35
+ parser.add_argument("--github_token", type=str, default=PERFORMANCE_GH_TOKEN)
33
36
  parser.add_argument(
34
37
  "--cpu-count",
35
38
  type=int,
@@ -25,6 +25,13 @@ from redis_benchmarks_specification.__common__.env import (
25
25
  REDIS_SOCKET_TIMEOUT,
26
26
  REDIS_BINS_EXPIRE_SECS,
27
27
  )
28
+ from redis_benchmarks_specification.__common__.github import (
29
+ check_github_available_and_actionable,
30
+ check_benchmark_running_comment,
31
+ update_comment_if_needed,
32
+ create_new_pr_comment,
33
+ generate_benchmark_started_pr_comment,
34
+ )
28
35
  from redis_benchmarks_specification.__common__.package import (
29
36
  get_version_string,
30
37
  populate_with_poetry_data,
@@ -219,6 +226,11 @@ def main():
219
226
  arch = args.arch
220
227
  logging.info("Running for arch: {}".format(arch))
221
228
 
229
+ # Github token
230
+ github_token = args.github_token
231
+ if github_token is not None:
232
+ logging.info("Detected GITHUB token. will push PR comments with updates")
233
+
222
234
  # Docker air gap usage
223
235
  docker_air_gap = args.docker_air_gap
224
236
  if docker_air_gap:
@@ -270,6 +282,7 @@ def main():
270
282
  override_memtier_test_time,
271
283
  default_metrics,
272
284
  arch,
285
+ github_token,
273
286
  )
274
287
 
275
288
 
@@ -293,6 +306,7 @@ def self_contained_coordinator_blocking_read(
293
306
  override_test_time=None,
294
307
  default_metrics=None,
295
308
  arch="amd64",
309
+ github_token=None,
296
310
  ):
297
311
  num_process_streams = 0
298
312
  num_process_test_suites = 0
@@ -339,6 +353,7 @@ def self_contained_coordinator_blocking_read(
339
353
  None,
340
354
  default_metrics,
341
355
  arch,
356
+ github_token,
342
357
  )
343
358
  num_process_streams = num_process_streams + 1
344
359
  num_process_test_suites = num_process_test_suites + total_test_suite_runs
@@ -411,10 +426,20 @@ def process_self_contained_coordinator_stream(
411
426
  override_test_time=None,
412
427
  default_metrics=[],
413
428
  arch="amd64",
429
+ github_token=None,
414
430
  ):
415
431
  stream_id = "n/a"
416
432
  overall_result = False
417
433
  total_test_suite_runs = 0
434
+ # github updates
435
+ is_actionable_pr = False
436
+ contains_regression_comment = False
437
+ github_pr = None
438
+ old_regression_comment_body = ""
439
+ pr_link = ""
440
+ regression_comment = None
441
+ pull_request = None
442
+ auto_approve_github = True
418
443
  try:
419
444
  stream_id, testDetails = newTestInfo[0][1][0]
420
445
  stream_id = stream_id.decode()
@@ -434,6 +459,24 @@ def process_self_contained_coordinator_stream(
434
459
  run_arch,
435
460
  ) = extract_build_info_from_streamdata(testDetails)
436
461
 
462
+ if b"pull_request" in testDetails:
463
+ pull_request = testDetails[b"pull_request"].decode()
464
+ logging.info(
465
+ f"detected a pull_request definition on the streamdata {pull_request}"
466
+ )
467
+ verbose = True
468
+ fn = check_benchmark_running_comment
469
+ (
470
+ contains_regression_comment,
471
+ github_pr,
472
+ is_actionable_pr,
473
+ old_regression_comment_body,
474
+ pr_link,
475
+ regression_comment,
476
+ ) = check_github_available_and_actionable(
477
+ fn, github_token, pull_request, "redis", "redis", verbose
478
+ )
479
+
437
480
  test_regexp = ".*"
438
481
  if b"test_regexp" in testDetails:
439
482
  test_regexp = testDetails[b"test_regexp"]
@@ -529,6 +572,24 @@ def process_self_contained_coordinator_stream(
529
572
  f"Added test named {test_name} to the pending test list in key {stream_test_list_pending}"
530
573
  )
531
574
  filtered_test_files.append(test_file)
575
+ pending_tests = len(filtered_test_files)
576
+ comment_body = generate_benchmark_started_pr_comment(
577
+ stream_id, pending_tests, len(filtered_test_files)
578
+ )
579
+ # update on github if needed
580
+ if is_actionable_pr:
581
+ if contains_regression_comment:
582
+ update_comment_if_needed(
583
+ auto_approve_github,
584
+ comment_body,
585
+ old_regression_comment_body,
586
+ regression_comment,
587
+ verbose,
588
+ )
589
+ else:
590
+ regression_comment = create_new_pr_comment(
591
+ auto_approve_github, comment_body, github_pr, pr_link
592
+ )
532
593
 
533
594
  for test_file in filtered_test_files:
534
595
  redis_containers = []
@@ -1033,6 +1094,23 @@ def process_self_contained_coordinator_stream(
1033
1094
  conn.lrem(stream_test_list_running, 1, test_name)
1034
1095
  conn.lpush(stream_test_list_completed, test_name)
1035
1096
  conn.expire(stream_test_list_completed, REDIS_BINS_EXPIRE_SECS)
1097
+ pending_tests = pending_tests - 1
1098
+
1099
+ # update on github if needed
1100
+ if is_actionable_pr:
1101
+ comment_body = generate_benchmark_started_pr_comment(
1102
+ stream_id, pending_tests, len(filtered_test_files)
1103
+ )
1104
+ update_comment_if_needed(
1105
+ auto_approve_github,
1106
+ comment_body,
1107
+ old_regression_comment_body,
1108
+ regression_comment,
1109
+ verbose,
1110
+ )
1111
+ logging.info(
1112
+ f"Updated github comment with latest test info {regression_comment.html_url}"
1113
+ )
1036
1114
  logging.info(
1037
1115
  f"Added test named {test_name} to the completed test list in key {stream_test_list_completed}"
1038
1116
  )