redis-benchmarks-specification 0.1.94__tar.gz → 0.1.96__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.94 → redis_benchmarks_specification-0.1.96}/PKG-INFO +1 -1
  2. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/pyproject.toml +1 -1
  3. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__common__/github.py +16 -1
  4. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__compare__/compare.py +110 -91
  5. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__self_contained_coordinator__/args.py +5 -0
  6. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py +173 -32
  7. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/LICENSE +0 -0
  8. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/Readme.md +0 -0
  9. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__api__/Readme.md +0 -0
  10. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__api__/__init__.py +0 -0
  11. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__api__/api.py +0 -0
  12. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__api__/app.py +0 -0
  13. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__builder__/Readme.md +0 -0
  14. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__builder__/__init__.py +0 -0
  15. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__builder__/builder.py +0 -0
  16. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__builder__/schema.py +0 -0
  17. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__cli__/__init__.py +0 -0
  18. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__cli__/args.py +0 -0
  19. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__cli__/cli.py +0 -0
  20. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__cli__/stats.py +0 -0
  21. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__common__/__init__.py +0 -0
  22. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__common__/builder_schema.py +0 -0
  23. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__common__/env.py +0 -0
  24. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__common__/package.py +0 -0
  25. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__common__/runner.py +0 -0
  26. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__common__/spec.py +0 -0
  27. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__compare__/__init__.py +0 -0
  28. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__compare__/args.py +0 -0
  29. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__init__.py +0 -0
  30. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__runner__/__init__.py +0 -0
  31. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__runner__/args.py +0 -0
  32. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__runner__/runner.py +0 -0
  33. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__self_contained_coordinator__/__init__.py +0 -0
  34. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__self_contained_coordinator__/artifacts.py +0 -0
  35. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__self_contained_coordinator__/build_info.py +0 -0
  36. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__self_contained_coordinator__/clients.py +0 -0
  37. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__self_contained_coordinator__/cpuset.py +0 -0
  38. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__self_contained_coordinator__/docker.py +0 -0
  39. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py +0 -0
  40. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__self_contained_coordinator__/runners.py +0 -0
  41. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__setups__/__init__.py +0 -0
  42. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__setups__/topologies.py +0 -0
  43. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__spec__/__init__.py +0 -0
  44. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__spec__/args.py +0 -0
  45. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__spec__/cli.py +0 -0
  46. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__watchdog__/__init__.py +0 -0
  47. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__watchdog__/args.py +0 -0
  48. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/__watchdog__/watchdog.py +0 -0
  49. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/commands/__init__.py +0 -0
  50. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/commands/commands.py +0 -0
  51. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/setups/builders/gcc:8.5.0-amd64-debian-buster-default.yml +0 -0
  52. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/setups/builders/gcc:8.5.0-arm64-debian-buster-default.yml +0 -0
  53. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/setups/platforms/aws-ec2-1node-c5.4xlarge.yml +0 -0
  54. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/setups/topologies/topologies.yml +0 -0
  55. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/defaults.yml +0 -0
  56. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/generate.py +0 -0
  57. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/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.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-1000B-values.yml +0 -0
  59. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/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.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values.yml +0 -0
  61. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/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.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values.yml +0 -0
  63. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-100B-expire-use-case.yml +0 -0
  64. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-expire-use-case.yml +0 -0
  65. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-1KiB-expire-use-case.yml +0 -0
  66. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-4KiB-expire-use-case.yml +0 -0
  67. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10.yml +0 -0
  68. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-exists-pipeline-10.yml +0 -0
  69. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expire-pipeline-10.yml +0 -0
  70. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expireat-pipeline-10.yml +0 -0
  71. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10.yml +0 -0
  72. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-pipeline-10.yml +0 -0
  73. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-touch-pipeline-10.yml +0 -0
  74. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-ttl-pipeline-10.yml +0 -0
  75. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hexists.yml +0 -0
  76. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/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.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hincrby.yml +0 -0
  78. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/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.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-transactions-multi-exec-pipeline-20.yml +0 -0
  80. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-100B-values.yml +0 -0
  81. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-10B-values.yml +0 -0
  82. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-1KiB-values.yml +0 -0
  83. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/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.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values.yml +0 -0
  85. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/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.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-100B-values.yml +0 -0
  87. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values.yml +0 -0
  88. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-1KiB-values.yml +0 -0
  89. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/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.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values.yml +0 -0
  91. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/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.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values.yml +0 -0
  93. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10.yml +0 -0
  94. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values.yml +0 -0
  95. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10.yml +0 -0
  96. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values.yml +0 -0
  97. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-1KiB-values.yml +0 -0
  98. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-200KiB-values.yml +0 -0
  99. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-20KiB-values.yml +0 -0
  100. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-2MB-values.yml +0 -0
  101. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score.yml +0 -0
  102. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score.yml +0 -0
  103. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-decr.yml +0 -0
  104. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B-pipeline-10.yml +0 -0
  105. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B.yml +0 -0
  106. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-10.yml +0 -0
  107. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B.yml +0 -0
  108. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10.yml +0 -0
  109. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB.yml +0 -0
  110. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-200KiB.yml +0 -0
  111. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-20KiB.yml +0 -0
  112. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-2MB.yml +0 -0
  113. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mget-1KiB.yml +0 -0
  114. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml +0 -0
  115. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist.yml +0 -0
  116. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml +0 -0
  117. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash.yml +0 -0
  118. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml +0 -0
  119. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos.yml +0 -0
  120. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox.yml +0 -0
  121. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml +0 -0
  122. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml +0 -0
  123. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements.yml +0 -0
  124. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-lrange-all-elements.yml +0 -0
  125. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-1K-elements-lrange-all-elements.yml +0 -0
  126. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-pfadd-4KB-values-pipeline-10.yml +0 -0
  127. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers-pipeline-10.yml +0 -0
  128. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers.yml +0 -0
  129. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smismember.yml +0 -0
  130. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smembers.yml +0 -0
  131. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smismember.yml +0 -0
  132. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-smembers.yml +0 -0
  133. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-200K-elements-sadd-constant.yml +0 -0
  134. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-2M-elements-sadd-increasing.yml +0 -0
  135. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zincrby-1M-elements-pipeline-1.yml +0 -0
  136. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-1M-elements-pipeline-1.yml +0 -0
  137. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrem-5M-elements-pipeline-1.yml +0 -0
  138. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1.yml +0 -0
  139. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1.yml +0 -0
  140. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/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.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements.yml +0 -0
  142. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrange-all-elements.yml +0 -0
  143. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/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.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements.yml +0 -0
  145. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1K-elements-zrange-all-elements.yml +0 -0
  146. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10.yml +0 -0
  147. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements.yml +0 -0
  148. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10.yml +0 -0
  149. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-eval-hset-expire.yml +0 -0
  150. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-evalsha-hset-expire.yml +0 -0
  151. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sdiff.yml +0 -0
  152. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sinter.yml +0 -0
  153. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sunion.yml +0 -0
  154. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/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.94 → redis_benchmarks_specification-0.1.96}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries.yml +0 -0
  156. {redis_benchmarks_specification-0.1.94 → redis_benchmarks_specification-0.1.96}/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.94
3
+ Version: 0.1.96
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.94"
3
+ version = "0.1.96"
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"
@@ -2,6 +2,17 @@ import logging
2
2
  from github import Github
3
3
 
4
4
 
5
+ def check_regression_comment(comments):
6
+ res = False
7
+ pos = -1
8
+ for n, comment in enumerate(comments):
9
+ body = comment.body
10
+ if "Comparison between" in body and "Time Period from" in body:
11
+ res = True
12
+ pos = n
13
+ return res, pos
14
+
15
+
5
16
  def generate_build_started_pr_comment(
6
17
  build_datetime,
7
18
  commit_datetime,
@@ -21,6 +32,8 @@ def generate_build_started_pr_comment(
21
32
  )
22
33
  comment_body += f"Started building at {build_datetime}\n"
23
34
  comment_body += "You can check each build/benchmark progress in grafana:\n"
35
+ if not isinstance(git_hash, str):
36
+ git_hash = git_hash.decode()
24
37
  comment_body += f" - git hash: {git_hash}\n"
25
38
  comment_body += f" - git branch: {git_branch}\n"
26
39
  comment_body += f" - commit date and time: {commit_datetime}\n"
@@ -57,6 +70,8 @@ def generate_build_finished_pr_comment(
57
70
  )
58
71
  comment_body += f"Started building at {build_start_datetime} and took {build_duration_seconds} seconds.\n"
59
72
  comment_body += "You can check each build/benchmark progress in grafana:\n"
73
+ if not isinstance(git_hash, str):
74
+ git_hash = git_hash.decode()
60
75
  comment_body += f" - git hash: {git_hash}\n"
61
76
  comment_body += f" - git branch: {git_branch}\n"
62
77
  comment_body += f" - commit date and time: {commit_datetime}\n"
@@ -237,7 +252,7 @@ def generate_benchmark_started_pr_comment(
237
252
  )
238
253
 
239
254
  comment_body += f"Started benchmark suite at {benchmark_suite_start_datetime} and took {benchmark_suite_duration_secs} seconds "
240
- if total_pending == 0:
255
+ if total_pending > 0:
241
256
  comment_body += "up until now.\n"
242
257
  else:
243
258
  comment_body += "to finish.\n"
@@ -20,6 +20,7 @@ from redis_benchmarks_specification.__common__.github import (
20
20
  update_comment_if_needed,
21
21
  create_new_pr_comment,
22
22
  check_github_available_and_actionable,
23
+ check_regression_comment,
23
24
  )
24
25
  from redis_benchmarks_specification.__compare__.args import create_compare_arguments
25
26
 
@@ -165,45 +166,9 @@ def compare_command_logic(args, project_name, project_version):
165
166
  username=args.redistimeseries_user,
166
167
  )
167
168
  rts.ping()
168
- default_baseline_branch = None
169
- default_metrics_str = ""
170
- if args.defaults_filename != "" and os.path.exists(args.defaults_filename):
171
- logging.info(
172
- "Loading configuration from defaults file: {}".format(
173
- args.defaults_filename
174
- )
175
- )
176
- with open(args.defaults_filename) as yaml_fd:
177
- defaults_dict = yaml.safe_load(yaml_fd)
178
- if "exporter" in defaults_dict:
179
- exporter_dict = defaults_dict["exporter"]
180
- if "comparison" in exporter_dict:
181
- comparison_dict = exporter_dict["comparison"]
182
- if "metrics" in comparison_dict:
183
- metrics = comparison_dict["metrics"]
184
- logging.info("Detected defaults metrics info. reading metrics")
185
- default_metrics = []
186
-
187
- for metric in metrics:
188
- if metric.startswith("$."):
189
- metric = metric[2:]
190
- logging.info("Will use metric: {}".format(metric))
191
- default_metrics.append(metric)
192
- if len(default_metrics) == 1:
193
- default_metrics_str = default_metrics[0]
194
- if len(default_metrics) > 1:
195
- default_metrics_str = "({})".format(
196
- ",".join(default_metrics)
197
- )
198
- logging.info("Default metrics: {}".format(default_metrics_str))
199
-
200
- if "baseline-branch" in comparison_dict:
201
- default_baseline_branch = comparison_dict["baseline-branch"]
202
- logging.info(
203
- "Detected baseline branch in defaults file. {}".format(
204
- default_baseline_branch
205
- )
206
- )
169
+ default_baseline_branch, default_metrics_str = extract_default_branch_and_metric(
170
+ args.defaults_filename
171
+ )
207
172
 
208
173
  tf_github_org = args.github_org
209
174
  tf_github_repo = args.github_repo
@@ -300,25 +265,7 @@ def compare_command_logic(args, project_name, project_version):
300
265
  ) = check_github_available_and_actionable(
301
266
  fn, github_token, pull_request, tf_github_org, tf_github_repo, verbose
302
267
  )
303
-
304
- grafana_dashboards_uids = {
305
- "redisgraph": "SH9_rQYGz",
306
- "redisbloom": "q4-5sRR7k",
307
- "redisearch": "3Ejv2wZnk",
308
- "redisjson": "UErSC0jGk",
309
- "redistimeseries": "2WMw61UGz",
310
- }
311
- uid = None
312
- if tf_github_repo.lower() in grafana_dashboards_uids:
313
- uid = grafana_dashboards_uids[tf_github_repo.lower()]
314
- grafana_link_base = None
315
- if uid is not None:
316
- grafana_link_base = "{}/{}".format(grafana_base_dashboard, uid)
317
- logging.info(
318
- "There is a grafana dashboard for this repo. Base link: {}".format(
319
- grafana_link_base
320
- )
321
- )
268
+ grafana_link_base = "https://benchmarksredisio.grafana.net/d/1fWbtb7nz/experimental-oss-spec-benchmarks"
322
269
 
323
270
  (
324
271
  detected_regressions,
@@ -358,7 +305,71 @@ def compare_command_logic(args, project_name, project_version):
358
305
  use_metric_context_path,
359
306
  running_platform,
360
307
  )
361
- comment_body = ""
308
+ prepare_regression_comment(
309
+ auto_approve,
310
+ baseline_branch,
311
+ baseline_tag,
312
+ comparison_branch,
313
+ comparison_tag,
314
+ contains_regression_comment,
315
+ github_pr,
316
+ grafana_link_base,
317
+ is_actionable_pr,
318
+ old_regression_comment_body,
319
+ pr_link,
320
+ regression_comment,
321
+ rts,
322
+ running_platform,
323
+ table_output,
324
+ tf_github_org,
325
+ tf_github_repo,
326
+ tf_triggering_env,
327
+ total_comparison_points,
328
+ total_improvements,
329
+ total_regressions,
330
+ total_stable,
331
+ total_unstable,
332
+ verbose,
333
+ args.regressions_percent_lower_limit,
334
+ )
335
+ return (
336
+ detected_regressions,
337
+ "",
338
+ total_improvements,
339
+ total_regressions,
340
+ total_stable,
341
+ total_unstable,
342
+ total_comparison_points,
343
+ )
344
+
345
+
346
+ def prepare_regression_comment(
347
+ auto_approve,
348
+ baseline_branch,
349
+ baseline_tag,
350
+ comparison_branch,
351
+ comparison_tag,
352
+ contains_regression_comment,
353
+ github_pr,
354
+ grafana_link_base,
355
+ is_actionable_pr,
356
+ old_regression_comment_body,
357
+ pr_link,
358
+ regression_comment,
359
+ rts,
360
+ running_platform,
361
+ table_output,
362
+ tf_github_org,
363
+ tf_github_repo,
364
+ tf_triggering_env,
365
+ total_comparison_points,
366
+ total_improvements,
367
+ total_regressions,
368
+ total_stable,
369
+ total_unstable,
370
+ verbose,
371
+ regressions_percent_lower_limit,
372
+ ):
362
373
  if total_comparison_points > 0:
363
374
  comment_body = "### Automated performance analysis summary\n\n"
364
375
  comment_body += "This comment was automatically generated given there is performance data available.\n\n"
@@ -386,7 +397,7 @@ def compare_command_logic(args, project_name, project_version):
386
397
  )
387
398
  if total_regressions > 0:
388
399
  comparison_summary += "- Detected a total of {} regressions bellow the regression water line {}.\n".format(
389
- total_regressions, args.regressions_percent_lower_limit
400
+ total_regressions, regressions_percent_lower_limit
390
401
  )
391
402
 
392
403
  comment_body += comparison_summary
@@ -430,19 +441,6 @@ def compare_command_logic(args, project_name, project_version):
430
441
  zset_project_pull_request, comparison_branch, res
431
442
  )
432
443
  )
433
- user_input = "n"
434
- html_url = "n/a"
435
- (
436
- baseline_str,
437
- by_str_baseline,
438
- comparison_str,
439
- by_str_comparison,
440
- ) = get_by_strings(
441
- baseline_branch,
442
- comparison_branch,
443
- baseline_tag,
444
- comparison_tag,
445
- )
446
444
 
447
445
  if contains_regression_comment:
448
446
  update_comment_if_needed(
@@ -457,26 +455,47 @@ def compare_command_logic(args, project_name, project_version):
457
455
 
458
456
  else:
459
457
  logging.error("There was no comparison points to produce a table...")
460
- return (
461
- detected_regressions,
462
- comment_body,
463
- total_improvements,
464
- total_regressions,
465
- total_stable,
466
- total_unstable,
467
- total_comparison_points,
468
- )
469
458
 
470
459
 
471
- def check_regression_comment(comments):
472
- res = False
473
- pos = -1
474
- for n, comment in enumerate(comments):
475
- body = comment.body
476
- if "Comparison between" in body and "Time Period from" in body:
477
- res = True
478
- pos = n
479
- return res, pos
460
+ def extract_default_branch_and_metric(defaults_filename):
461
+ default_baseline_branch = None
462
+ default_metrics_str = ""
463
+ if defaults_filename != "" and os.path.exists(defaults_filename):
464
+ logging.info(
465
+ "Loading configuration from defaults file: {}".format(defaults_filename)
466
+ )
467
+ with open(defaults_filename) as yaml_fd:
468
+ defaults_dict = yaml.safe_load(yaml_fd)
469
+ if "exporter" in defaults_dict:
470
+ exporter_dict = defaults_dict["exporter"]
471
+ if "comparison" in exporter_dict:
472
+ comparison_dict = exporter_dict["comparison"]
473
+ if "metrics" in comparison_dict:
474
+ metrics = comparison_dict["metrics"]
475
+ logging.info("Detected defaults metrics info. reading metrics")
476
+ default_metrics = []
477
+
478
+ for metric in metrics:
479
+ if metric.startswith("$."):
480
+ metric = metric[2:]
481
+ logging.info("Will use metric: {}".format(metric))
482
+ default_metrics.append(metric)
483
+ if len(default_metrics) == 1:
484
+ default_metrics_str = default_metrics[0]
485
+ if len(default_metrics) > 1:
486
+ default_metrics_str = "({})".format(
487
+ ",".join(default_metrics)
488
+ )
489
+ logging.info("Default metrics: {}".format(default_metrics_str))
490
+
491
+ if "baseline-branch" in comparison_dict:
492
+ default_baseline_branch = comparison_dict["baseline-branch"]
493
+ logging.info(
494
+ "Detected baseline branch in defaults file. {}".format(
495
+ default_baseline_branch
496
+ )
497
+ )
498
+ return default_baseline_branch, default_metrics_str
480
499
 
481
500
 
482
501
  def compute_regression_table(
@@ -1,4 +1,5 @@
1
1
  import argparse
2
+ import datetime
2
3
  import os
3
4
  from redis_benchmarks_specification.__common__.env import (
4
5
  MACHINE_CPU_COUNT,
@@ -19,6 +20,10 @@ from redis_benchmarks_specification.__common__.env import (
19
20
  PROFILERS_DEFAULT,
20
21
  ALLOWED_PROFILERS,
21
22
  )
23
+ from redis_benchmarks_specification.__compare__.args import (
24
+ START_TIME_NOW_UTC,
25
+ START_TIME_LAST_SIX_MONTHS_UTC,
26
+ )
22
27
 
23
28
  PERFORMANCE_GH_TOKEN = os.getenv("PERFORMANCE_GH_TOKEN", None)
24
29