Giter VIP home page Giter VIP logo

quick-perf / quickperf-live Goto Github PK

View Code? Open in Web Editor NEW
11.0 2.0 8.0 224 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%
spring-boot performance-monitoring performance performance-metrics test-generator test-generation n-plus-1 allocation nplus1 java

quickperf-live's Introduction

๐Ÿ‘‹ Welcome to

QuickPerf

Open-source projects to quickly evaluate and improve performance-related properties

quickperf-live's People

Contributors

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

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

quickperf-live's Issues

Ability to configure a warning on SQL execution number

This issue aims to display a warning if the SQL execution number is greater than a configured threshold.

A quickperf.database.sql.execution.detected boolean property will enable the detection.

A quickperf.database.sql.execution.threshold number property will allow configuring the threshold value.

The configuration could be displayed and updated after the application startup with the help of MBeans:

QuickPerf
  -- Database
      -- Operations
           -- boolean isSqlExecutionDetected()
           -- void setSqlExecutionDetected(boolean)
           -- int getSqlExecutionThreshold()
           -- void setSqlExecutionThreshold(int)

QuickPerf live for Spring Batch

Today, QuickPerf live works with Spring Boot and HTTP calls.

We may implement QuickPerf live features for Spring Batch.

We might display the INFO and WARNING reports at Spring Batch step level.

To discuss...

We may start with migrating one feature, for example the N+1 select detection.

Ability to detect SQL queries without bind parameters

Bind parameters are an essential feature to prevent SQL injections and can help improve performance (https://blogs.oracle.com/sql/improve-sql-query-performance-by-using-bind-variables, https://use-the-index-luke.com/sql/where-clause/bind-parameters, https://dzone.com/articles/why-sql-bind-variables-are-important-for-performan).

QuickPerf live could display a warning message in case of SQL queries without bind parameters. For example, QuickPerf live would raise a warning with the SELECT col1 FROM table where col2 ='VALUE' query but not with the SELECT col1 FROM table where col2 = ? query.

quickperf.database.sql.without-bind-param.detected boolean property will enable the detection of SQL queries without bind parameters.

The configuration could be displayed and updated after the application startup with the help of MBeans:

QuickPerf
  -- Database
      -- Operations
           -- boolean isQueryWithoutBindParamDetected()
           -- void setQueryWithoutBindParamDetected(boolean)

Ability to configure more the database connection profiling

This issue aims to be able to configure more the database connection profiling:

  • the profiling level
  • turn on / turn off stack trace display
  • the stack length

We should have the ability to do the configuration with properties and display/update it with MBeans.

๐Ÿ‘‰ Code entry

Don't hesitate to ask if you have any questions.

Ability to generate Karate tests

Today, QuickPerf live can generate JUnit 4 and JUnit 5 tests. These tests check the non-regression on functional behavior together with the non-regression on N+1 select.

This issue aims to generate Karate tests to ensure non-regression on functional behavior.

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.