Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Application for measuring throughput of a cluster
Erlang
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.hgignore
IDEAS.md
Makefile
README.md
clustmea.app
clustmea.erl
clustmea_conf.erl
clustmea_conf_SUITE.erl
clustmea_reporter.erl
clustmea_sup.erl
clustmea_task.erl
clustmea_task_SUITE.erl
clustmea_worker_SUITE.erl
gen_uploader.erl
gen_uploader_SUITE.erl
graphviz.erl
kv_producers.erl
misc.erl
misc_SUITE.erl
my_uploader.erl
riak_inets_uploader.erl
scratch.erl
uploader_conf.hrl
workers_conf.hrl

README.md

Cluster Throughput Measurement Application

Its main goal is to centralize user operations when measuring throughput of a cluster.

Written in Erlang/OTP.

Architecture

The application consists of:

  • Configuration Server (gen_server behavior)
  • Task Server (gen_server behavior)
  • Reports Server (gen_event behavior)
  • Supervisor (supervisor behavior)

Roles:

  • User -- someone who operates the measurements of the cluster
  • Application -- the Erlang/OTP application under subject AKA ClusTMea
  • Application Server -- one of: Configuration Server, Task Server, Reports Server
  • Worker process -- an Erlang process that makes some actions to the Cluster Nodes and reports its progress to the Reports Server
  • Cluster Node -- least divisible part of the Cluster under test

Use-cases

Use-case #1

  1. User starts the application
  2. User creates a named configuration on the Configuration Server
  3. User modifies the configuration on the Configuration Server
  4. User starts a measurement task with the configuration on the Task Server
  5. Task Server spawns Worker Processes to perform a task
  6. Worker processes make actions according to the configuration and the task and reports their progress to the Reports Server
  7. Reports Server collects the reports
Something went wrong with that request. Please try again.