GithubHelp home page GithubHelp logo

jeanbisutti / quickperf-live Goto Github PK

View Code? Open in Web Editor NEW

This project forked from quick-perf/quickperf-live

0.0 1.0 0.0 234 KB

Ease your work on Spring Boot applications: quickly generate functional non-regression tests, diagnose performance and generate non-regression tests on performance-related properties.

License: Apache License 2.0

Java 99.93% HTML 0.07%

quickperf-live's Introduction

QuickPerf live

A tool to ease your work as a developer, not only regarding performance. Make your developer job easier.


๐Ÿ“บ QuickPerf live demo (in French) ย ย  @QuickPerf ย ย  License ย ย  Build Status


Main features

Diagnose performance-related properties

GET 200 http://localhost:8080/owners?lastName=
* [WARNING] N+1 select suspicion - 453 SELECT
GET 200 http://localhost:8080/owners/2/edit
* [WARNING] Heap allocation is greater than 10 000 000 bytes: 17 509 888 bytes

๐Ÿ‘‰ Learn more

๐Ÿ’ก You can use the performance diagnostic features during development or to help you diagnose the performance of a deployed application.

Generate non-regression tests

The generated tests ensure a non-regression on:

  • functional behavior
  • performance-related properties

๐Ÿ‘‰ Learn more

Some use cases

You have many things to do or think about in your daily job. You may not have enough time to improve the following issues that would ease your daily job or improve the user experience. QuickPerf live could help you!

You work on an application lacking automated tests on business behavior

Are you not confident that your new development will not break another feature? QuickPerf live allows you to generate automated tests! More here.

You want to fix an N+1 select

QuickPerf live can generate an automatic test reproducing the N+1 select. You can use it to investigate the cause of the N+1 select. The produced test will also ensure non-regression on the absence of N+1 select as well as on the functional behavior.

Your application allocates a lot

QuickPerf live allows you to measure the heap allocation generated by each HTTP call.

You want to know how a web service handles the business data

Finding out what types of business data a web service handles may be challenging. Sometimes, as a developer, we may also be tempted to load more data than necessary to implement a business behavior, potentially impacting performance. In both cases, QuickPerf live can help you by displaying the selected columns from the database (cf. Selected columns part in Database diagnostics), or creating the database dataset of a generated web service test.

Add QuickPerf live to your project

Current limitations

QuickPerf live works today for web applications developed with Spring Boot 2.

โš  Today, we don't recommend enabling the tool in a production environment.

Add QuickPerf live dependency

<dependency>
    <groupId>org.quickperf</groupId>
    <artifactId>quick-perf-live-springboot2</artifactId>
    <version>0.12</version>
</dependency>

Enable QuickPerf live

From a yaml file:

quickperf:
  enabled: true

From a .properties file:

quickperf.enabled=true

Enable QuickPerf live features

Enable the performance diagnostic and test generation features

You can configure the performance diagnostics and the test generation with properties. You can also update the configuration after the application startup with the help of MBeans.

๐Ÿ‘‰ Performance diagnostics

๐Ÿ‘‰ Test generation

Tip

QuickPerf MBeans are unavailable? Read this.

Configuration examples

๐Ÿ‘‰ A yaml file example

๐Ÿ‘‰ A .properties file example

Export QuickPerf live information

Display info on application logs

logging.level.org.quickperf.*=INFO

Implement custom exports

Create Spring beans implementing QuickPerfHttpCallInfoWriter or QuickPerfHttpCallWarningWriter interfaces. You can use this feature to generate a performance diagnostic report or record the history of performance-related properties.

quickperf-live's People

Contributors

jeanbisutti avatar debbeca avatar loic5 avatar quick-perf avatar tal66 avatar

Watchers

James Cloos 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.