########################################################################################################
#            This file contains thresholds for performance tests run by resmoke. These correspond to   #
#            the GenerateAndCheckPerfResults hook. Thresholds are set on a per variant basis.          #
#            Make sure to set the --variantName flag when running benchmarks in resmoke.               #
#                                                                                                      #
#            Each entry should follow the format below                                                 #
########################################################################################################
#
# tests:
#   test1:
#     variant1:
#       - thread_level: {thread_level_value}
#         metrics:
#           - name: {name of the metric to check}
#             threshold_limit: {The maximum difference in the metric when compared to the base commit}
#             bound_direction: {What the threshold direction should be. Must be one of upper or lower}
#       - thread_level: {thread_level_value}
#         metrics:
#           - name: {name of the metric to check}
#             threshold_limit: {The maximum difference in the metric when compared to the base commit}
#             bound_direction: {What the threshold direction should be. Must be one of upper or lower}
#   test2:
#     variant1:
#       - thread_level: {thread_level_value}
#         metrics:
#           - name: {name of the metric to check}
#             threshold_limit: {The maximum difference in the metric when compared to the base commit}
#             bound_direction: {What the threshold direction should be. Must be one of upper or lower}
#       - thread_level: {thread_level_value}
#         metrics:
#           - name: {name of the metric to check}
#             threshold_limit: {The maximum difference in the metric when compared to the base commit}
#             bound_direction: {What the threshold direction should be. Must be one of upper or lower}
#
#
#
#
#     Bound direction upper means that the value reported by the test must be BELOW the base commit plus the threshold limit.
#     Bound direction lower means that the value reported by the test must be ABOVE the base commit minus the threshold limit.
#     I.e. if the base commit has a value of 100 and the threshold limit is 10, then:
#       - For upper bound direction, the value reported by the test must be less than or equal to 110.
#       - For lower bound direction, the value reported by the test must be greater than or equal to 90.
#
########################################################################################################

tests:
  CrudBenchmarkFixture/BM_FIND_ONE:
    al2023-arm64-sep-benchmark:
      - thread_level: 1
        metrics:
          - name: instructions_per_iteration_mean
            threshold_limit: 300
            bound_direction: upper
  CrudBenchmarkFixture/BM_INSERT_ONE:
    al2023-arm64-sep-benchmark:
      - thread_level: 1
        metrics:
          - name: instructions_per_iteration_mean
            threshold_limit: 400
            bound_direction: upper
  CrudBenchmarkFixture/BM_DELETE_ONE:
    al2023-arm64-sep-benchmark:
      - thread_level: 1
        metrics:
          - name: instructions_per_iteration_mean
            threshold_limit: 400
            bound_direction: upper
  CrudBenchmarkFixture/BM_AGG_MATCH_ONE:
    al2023-arm64-sep-benchmark:
      - thread_level: 1
        metrics:
          - name: instructions_per_iteration_mean
            threshold_limit: 800
            bound_direction: upper
  CrudBenchmarkFixture/BM_UPDATE_ONE:
    al2023-arm64-sep-benchmark:
      - thread_level: 1
        metrics:
          - name: instructions_per_iteration_mean
            threshold_limit: 1500
            bound_direction: upper
  CrudBenchmarkFixture/BM_FIND_AND_MODIFY:
    al2023-arm64-sep-benchmark:
      - thread_level: 1
        metrics:
          - name: instructions_per_iteration_mean
            threshold_limit: 2000
            bound_direction: upper