---
  - config:
    - benchmarkset: "Hive API Benchmark Tests"
    - api: &api "hive"
    - variable_binds:
      - api: *api
    - generators:
      - test_id: {type: 'number_sequence', start: 1}

  - base_benchmark: &base_benchmark
    - url: "/"
    - group: *api
    - method: "POST"
    - generator_binds:
      - test_id: test_id
    - body: {template: {file: "./templates/request_template.json"}}
    - warmup_runs: 0
    - benchmark_runs: '1000'
    - output_format: csv
    - metrics:
      - total_time
      - total_time: mean
      - total_time: median

  #  - benchmark:
  #    - name: "normalize_post"
  #    - variable_binds:
  #      - method: "normalize_post"
  #      - args: {}
  #    - <<: *base_benchmark

  - benchmark:
    - name: "get_post_header"
    - variable_binds:
      - method: "get_post_header"
      - args: '{"author":"steemit", "permlink":"firstpost"}'
    - <<: *base_benchmark

  # Timeouts - to much data
  #  - benchmark:
  #    - name: "get_discussion"
  #    - variable_binds:
  #      - method: "get_discussion"
  #      - args: '{"author":"steemit", "permlink":"firstpost"}'
  #    - <<: *base_benchmark

  - benchmark:
    - name: "get_post"
    - variable_binds:
      - method: "get_post"
      - args: '{"author":"steemit", "permlink":"firstpost"}'
    - <<: *base_benchmark

  - benchmark:
    - name: "get_account_posts"
    - variable_binds:
      - method: "get_account_posts"
      - args: '{"sort":"posts", "account":"steemit"}'
    - <<: *base_benchmark

  # Timeouts - to much data
  #  - benchmark:
  #    - name: "get_ranked_posts"
  #    - variable_binds:
  #      - method: "get_ranked_posts"
  #      - args: '{"sort":"trending","tag":"","observer":"steemit"}'
  #    - <<: *base_benchmark

  - benchmark:
    - name: "get_profile"
    - variable_binds:
      - method: "get_profile"
      - args: '{"account":"steemit"}'
    - <<: *base_benchmark

  - benchmark:
    - name: "get_trending_topics"
    - variable_binds:
      - method: "get_trending_topics"
      - args: '{}'
    - <<: *base_benchmark

  - benchmark:
    - name: "post_notifications"
    - variable_binds:
      - method: "post_notifications"
      - args: '{"author":"steemit", "permlink":"firstpost"}'
    - <<: *base_benchmark

  - benchmark:
    - name: "account_notifications"
    - variable_binds:
      - method: "account_notifications"
      - args: '{"account":"steemit","limit":100}'
    - <<: *base_benchmark

  - benchmark:
    - name: "unread_notifications"
    - variable_binds:
      - method: "unread_notifications"
      - args: '{"account":"steemit"}'
    - <<: *base_benchmark

  - benchmark:
    - name: "get_payout_stats"
    - variable_binds:
      - method: "get_payout_stats"
      - args: '{}'
    - <<: *base_benchmark

  - benchmark:
    - name: "get_community"
    - variable_binds:
      - method: "get_community"
      - args: '{"name":"hive-123456","observer":"steemit"}'
    - <<: *base_benchmark

  - benchmark:
    - name: "get_community_context"
    - variable_binds:
      - method: "get_community_context"
      - args: '{"name":"hive-123456", "account":"steemit"}'
    - <<: *base_benchmark

  - benchmark:
    - name: "list_communities"
    - variable_binds:
      - method: "list_communities"
      - args: '{"limit":1}'
    - <<: *base_benchmark

  # Disabled as its not used, not ready
  #  - benchmark:
  #    - name: "list_pop_communities"
  #    - variable_binds:
  #      - method: "list_pop_communities"
  #      - args: '{}'
  #    - <<: *base_benchmark

  - benchmark:
    - name: "list_community_roles"
    - variable_binds:
      - method: "list_community_roles"
      - args: '{"community":"hive-123456"}'
    - <<: *base_benchmark

  - benchmark:
    - name: "list_subscribers"
    - variable_binds:
      - method: "list_subscribers"
      - args: '{"community":"hive-123456"}'
    - <<: *base_benchmark

  - benchmark:
    - name: "list_all_subscriptions"
    - variable_binds:
      - method: "list_all_subscriptions"
      - args: '{"account":"steemit"}'
    - <<: *base_benchmark