Git Product home page Git Product logo

perfcorder's Introduction

Try Restcomm Cloud NOW for FREE! Zero download and install required.

All Restcomm docs and downloads are now available at Restcomm.com.

#PerfCorder

Join the chat at https://gitter.im/RestComm/PerfCorder

PerfCorder allows you to record and analyse data during performance testing using Sipp tool. It is specifically oriented to monitor a Java process that is processing the SIP signalling.

The tool is based on Bash scripts, that allows you to start and stop the recording whenever you like.

The recording will include performance information about the system (io, cpu, VM, net) and the java process (GC....).

Since the environment you are using to do the performance testing is as important as the performance data, several meta data is also saved (java opts,start/end timestamp..).

Analyse target will create stats and graphs about the recorded data to help you interpreting the performance test results.

Finally the tool will package all the collected and analysed data into a single zip file.

The tool encourages a default directory layout following Maven convention over configuration principles. This is the current dir layout:

target

--->data

    --->meta (decicated to save information about the performance test itself)

        ---><start/endTime>

        ---><copyOfsippScript>

        ---><jar files mounted by java process>

        ---><JVM options used to start the java process>

    --->conf (save files that change java process behavior)

    --->periodic (save perf data every N seconds)

        --->sys

            --->iostat/vmstat/netstat

        --->java
            ---> GCCollection

            ---> jstat

            ---> CPU/Mem/GC CPU
        --->sip

            ---> sipp_stat.csv

            ---> sipp_rtt.csv

perfcorder's People

Contributors

deruelle avatar gitter-badger avatar ivelin avatar jaimecasero avatar knosach avatar leftyb avatar yulianoifa-mobius avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

perfcorder's Issues

Introduce CapturePID mode

In this mode instead of an existing PID, an expression/command to find a PID will be passed. PerfCorder will try to find a PID using this command for a period of time. If found, regular collection will be started.

Add wireshark capturing option

It wuold be great to have an option to enable netwrok capture option to the compressed file. It should be optional, so a performance test is not greatly impacted.

add start/stop hooks

user may want to extend the tool with external scripts. Those scripts will be called during perfcorder lifecycle....

potentially provide beforeStart/AfterStart beforeStop/AfterStop

Allow to suggests per measurement y-axis scale

Now depending on actual samples defined the y-axis scale is fixed to accomodate the values. This behavior makes harder to compare same graph from different collections, where sample values differ a lot...

Remove configurable warmpUp/end set

Allow configurable number of samples to truncate at the beginnig and end. Potentially delivering both stats with and without these samples....

Specify collection interval on graph

This should be a caption on graph to indicate the x-axis scale. This will allow to identify possible deviation on comparing graphs from different collections..

Fix html graphs timescale

The graphs doesnt show the samples in graphs properly, with respec to Meas collection interval. Since the default interval is 4 seconds, graphs appear as if the run was too short....

allow external files to be added to the perfcorder collection

Configuration must allow to define local/remote files to be included in the zip file during stop. Assuming an external entity has collected those files.

Support for scp copy transfer should be allowed

This is to support files coming from other areas not related to the monitored java process, but related to the overall performance test

Allow csv columns to be configured using name

Some CSV files are not fixed in terms of columns (sipp stats depends on response time configuration), so the column index may mistmatch the intented values. Assuming the first row contains column names, it would be useful to check the column index by name, and then use that index.

Allow different processes to be monitored

Sometimes we need to monitor several process, during the test, current version just allow one PID....

ideally support the same measurement by adding a sequenced suffix _

Allow use of PERFCORDER_HOME env var

Optionally support a HOME var to allow execution from any directory,instead of perfcorder dir as current dir. If var exists will be used, if not revert to current behavior...

Create web version to have a cloud deployment

Publish REST API allowing:
-Push collected ZIP files.
-Request analysis of collected files.
-Test analysis files against Perf Goals (input xsl, output Juni XML report XML)
-Request diff of different collected files

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.