Giter Site home page Giter Site logo

couchbaselabs / java-rto-demo-load-runner Goto Github PK

View Code? Open in Web Editor NEW
2.0 23.0 0.0 13 KB

Application designed to illustrate implementation of Response Time Observability using the Couchbase Java SDK. The app also serves to generate very high load on a cluster in a flexible manner.

License: Apache License 2.0

Java 100.00%

java-rto-demo-load-runner's Introduction

Response Time Observability Exerciser

Couchbase v6.0.0 red License Apache%202.0 green

Demonstration application for understanding response time observability.

The application uses the Couchbase Java SDK. It performs random operations against a Couchbase bucket.

The design has been optimized to generate a high request rate.

Build with

mvn compile

Run with

mvn exec:java -Dexec.args="-h"

For example

mvn exec:java -Dexec.args="-c localhost -b default -u admin -p password"

Or package a jar file and run with a vanilla Java command line.

Run

mvn package

to create

target/rto-1.0.jar

Run with

java -jar target/rto-1.0.jar -c <cluster> -b <bucket> -u <user> -p <password>

Options:

See Options.java for all the options.

-r sets the number of documents taken from the bucket to use in KV operations, which includes mutations and removals. The documents are cached by the app.

-s sets the sample size logged by the threshold tracer

-K sets the KV timeout. Operations taking longer than this will get recorded by the threshold tracer. (This has no effect with other tracers.)

-q sets the number of KV ops to queue before delaying to let them drain.

-d sets the delay time to allow ops to drain. This along with -q throttles generation of ops so as not to overrun the SDK internal queue.

-e selects the operations to run. Look at the enum in App.java for the list. For example, to run just gets, use -e GET.

Examples:

java -Dcom.couchbase.operationTracingEnabled=false -jar target/rto-1.0.jar

runs with tracing completely disabled. (-D sets a system property. See the Couchbase Java SDK docs for these.)

java -jar target/rto-1.0.jar -u admin -p password -K 100 -e GET

runs against localhost using the travel-sample bucket with KV threshold tracer timeout set to 100ms, and only get operations.

java -DJAEGER_REPORTER_LOG_SPANS=true -jar target/rto-1.0.jar -c ec2-54-215-184-156.us-west-1.compute.amazonaws.com -u admin -p password -j localhost -t jaeger

runs with Jaeger tracing enabled (-t) and Jaeger on the localhost (-j localhost).

Licensed under Apache 2.0.

java-rto-demo-load-runner's People

Contributors

hodgreeley avatar

Stargazers

Jon Repp avatar Richard Smedley avatar

Watchers

Steve Yen avatar Thuan Nguyen avatar Sarath Lakshman avatar Aaron avatar Jeffry Morris avatar James Cloos avatar  avatar Brett Lawson avatar  avatar Wayne Siu avatar Sundar Sridharan avatar  avatar  avatar Dan Owen avatar Dave Finlay avatar  avatar  avatar  avatar Adam Fraser avatar  avatar Keshav Murthy avatar Laura Czajkowski avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.