Skip to content

Should we add a single-task interface? #851

@danielmitterdorfer

Description

@danielmitterdorfer

Sometimes a Rally track is too much hassle. A user might want to play around with an Elasticsearch API and benchmark a single API call. For this use-case we could offer a new command line parameter --task. I'll demonstrate the idea with a few examples:

# issue a single force-merge call, assuming that no parameters 
# are required for this operation:
#
# note: Some tasks don't show up in the command line report by default. 
#          Under the hood we might want to force reporting if only a single 
#          task is scheduled via this parameter
esrally --target-hosts="127.0.0.1:9200" --task="force-merge"

# run a query benchmark - we should support inline JSON 
# or loading this task from a JSON file (as we do with other parameters)
esrally --target-hosts="...." --task='
{
  "name": "match-all",
  "clients": 8,
  "warmup-iterations": 500,
  "iterations": 500,
  "target-throughput": 5,
  "schedule": "poisson",
  "operation": {
    "operation-type": "search",
    "body": {
      "query": {
        "match_all": {}
      }
    }
  }
}
'

Metadata

Metadata

Assignees

No one assigned

    Labels

    :UsabilityMakes Rally easier to useenhancementImproves the status quo

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions