Skip to content

An Apache Mesos Framework that allows for replaying load over and over and over (and over) again

License

Notifications You must be signed in to change notification settings

stealthly/punxsutawney

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

punxsutawney

An tool that allows for replaying load over and over and over (and over) again.

It uses Mesos/Marathon for running its HTTP clients. It uses Kafka to read traffic data.

Primary components are:

  • CLI - CLI to start HttpClients on Mesos (see Main);
  • HttpClient - client running on Mesos, that generates HTTP traffic;
  • Emitter - emitter (see SampleEmitter), producing traffic to Kafka topic (consumed by HttpClient(s));

Running

In order to run the tool following steps should be executed:

  1. Build via ./gradlew jar
  2. Start ./punxsutawney.sh
  3. Verify app is running via Mesos & Marathon UIs
  4. Start emitting traffic to Kafka topic punxsutawney (see SampleEmitter)
  5. Monitor stdout (via Mesos UI) of each HttpClient to see rps, failures, etc

Note: if running N HttpClient instances, Kafka topic should contain at least N partitions, in order for HttpClients to be able to consume concurrently.

Traffic generation

HttpClient consumes Kafka messages, containing serialized Requests instances. Each Requests instance is designed to carry a batch of HTTP requests. Emitter should batch 1k - 10k requests together to populate Requests object.

About

An Apache Mesos Framework that allows for replaying load over and over and over (and over) again

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published