haproxy public development tree
Go to file
Willy Tarreau ad14c2681b MINOR: trace: replace the trace() inline function with an equivalent macro
The trace() function is convenient to avoid calling trace() when traces
are not enabled, but there starts to be some callers which place complex
expressions in their trace calls, which results in all of them to be
evaluated before being passed as arguments to the trace() function. This
needlessly wastes precious CPU cycles.

Let's change the function for a macro, so that the arguments are now only
evaluated when the surce has traces enabled. However having a generic
macro being called "trace()" can easily cause conflicts with innocent
code so we rename it "_trace".

Just doing this has resulted in a 2.5% increase of the HTTP/1 request rate.
2021-04-10 19:27:41 +02:00
.github CONTRIB: move src/wurfl.c and contrib/wurfl to addons/wurfl 2021-04-02 17:48:42 +02:00
addons MINOR: opentracing: register config file and line number on log servers 2021-04-08 11:10:27 +02:00
admin BUILD: makefile: build halog with the correct flags 2021-04-02 17:48:42 +02:00
contrib CONTRIB: move contrib/opentracing to addons/ot 2021-04-02 17:48:42 +02:00
dev CLEANUP: dev/flags: remove useless test in the stdin number parser 2021-04-03 15:29:10 +02:00
doc [RELEASE] Released version 2.4-dev16 2021-04-09 17:10:39 +02:00
examples
include MINOR: trace: replace the trace() inline function with an equivalent macro 2021-04-10 19:27:41 +02:00
reg-tests REGTESTS: ssl: mark set_ssl_cert_bundle.vtc as broken 2021-04-02 17:13:55 +02:00
scripts BUILD: Makefile: move REGTESTST_TYPE default setting 2021-02-05 11:41:16 +01:00
src CLEANUP: pattern: make all pattern tables read-only 2021-04-10 17:49:41 +02:00
tests TESTS: move tests/*.cfg to tests/config 2021-04-02 10:59:29 +02:00
.cirrus.yml CI: cirrus: update FreeBSD image to 12.2 2021-02-12 16:04:52 +01:00
.gitattributes MINOR: Configure the cpp userdiff driver for *.[ch] in .gitattributes 2021-02-22 18:17:57 +01:00
.gitignore CONTRIB: move halog to admin/ 2021-04-02 17:48:42 +02:00
.travis.yml CI: travis: Drastically clean up .travis.yml 2021-04-10 13:38:00 +02:00
BRANCHES DOC: fix some spelling issues over multiple files 2021-01-08 14:53:47 +01:00
CHANGELOG [RELEASE] Released version 2.4-dev16 2021-04-09 17:10:39 +02:00
CONTRIBUTING DOC: fix some spelling issues over multiple files 2021-01-08 14:53:47 +01:00
INSTALL DOC: add a few words about USE_* and the addons directory 2021-04-02 17:48:42 +02:00
LICENSE
MAINTAINERS CONTRIB: move src/wurfl.c and contrib/wurfl to addons/wurfl 2021-04-02 17:48:42 +02:00
Makefile CONTRIB: move contrib/opentracing to addons/ot 2021-04-02 17:48:42 +02:00
README
ROADMAP
SUBVERS
VERDATE [RELEASE] Released version 2.4-dev16 2021-04-09 17:10:39 +02:00
VERSION [RELEASE] Released version 2.4-dev16 2021-04-09 17:10:39 +02:00

The HAProxy documentation has been split into a number of different files for
ease of use.

Please refer to the following files depending on what you're looking for :

  - INSTALL for instructions on how to build and install HAProxy
  - BRANCHES to understand the project's life cycle and what version to use
  - LICENSE for the project's license
  - CONTRIBUTING for the process to follow to submit contributions

The more detailed documentation is located into the doc/ directory :

  - doc/intro.txt for a quick introduction on HAProxy
  - doc/configuration.txt for the configuration's reference manual
  - doc/lua.txt for the Lua's reference manual
  - doc/SPOE.txt for how to use the SPOE engine
  - doc/network-namespaces.txt for how to use network namespaces under Linux
  - doc/management.txt for the management guide
  - doc/regression-testing.txt for how to use the regression testing suite
  - doc/peers.txt for the peers protocol reference
  - doc/coding-style.txt for how to adopt HAProxy's coding style
  - doc/internals for developer-specific documentation (not all up to date)