summaryrefslogtreecommitdiff
path: root/addons/ot/include/parser.h
Commit message (Collapse)AuthorAgeFilesLines
* CLEANUP: opentracing: added FLT_OT_PARSE_INVALID_enum enumMiroslav Zagorac2022-04-081-22/+30
| | | | | | | | It's always good to replace "hard-coded" values with something that looks less "hard-coded" (even though that doesn't change anything in the code). This is done here using FLT_OT_PARSE_INVALID_enum enum. This patch must be backported as far as 2.4.
* BUILD: opentracing: exclude the use of haproxy variables for the OpenTracing ↵Miroslav Zagorac2021-09-121-2/+17
| | | | | | | | | | | | | | | | | | | | | | context Due to a recent change in the handling of haproxy variables, their use for OpenTracing context transfer has been excluded from the compilation process. The use of variables can be re-enabled if the newly defined variable OT_USE_VARS is set to 1 when calling the 'make' utility. However, this should not be used for now as the compilation will end in error. This change prevents the use of haproxy variables to convey the OpenTracing context. This means that the 'use-vars' parameter cannot be used in the OpenTracing filter configuration for 'inject' and 'extract' operations. An example configuration that uses this feature is in the test/ctx directory, while the script to run that test is test/run-ctx.sh. Then, the 'sess.ot.uuid' variable is no longer set when initializing the OpenTracing session. This means that this variable can still be used in the OpenTracing configuration, but its contents will be empty.
* MINOR: opentracing: transfer of context names without prefixMiroslav Zagorac2021-04-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to enable the assignment of a context name, and yet exclude the use of that name (prefix in this case) when extracting the context from the HTTP header, a special character '-' has been added, which can be specified at the beginning of the prefix. So let's say if we look at examples of the fe-be configuration, we can transfer the context via an HTTP header without a prefix like this: fe/ot.cfg: .. span "HAProxy session" inject "" use-headers event on-backend-http-request Such a context can be read in another process using a name that has a special '-' sign at the beginning: be/ot.cfg: ot-scope frontend_http_request extract "-ot-ctx" use-headers span "HAProxy session" child-of "-ot-ctx" root .. This means that the context name will be '-ot-ctx' but it will not be used when extracting data from HTTP headers. Of course, if the context does not have a prefix set, all HTTP headers will be inserted into the OpenTracing library as context. All of the above will only work correctly if that library can figure out what is relevant to the context and what is not.
* CONTRIB: move contrib/opentracing to addons/ot20210402-contrib-cleanup-3Willy Tarreau2021-04-021-0/+148
This one is the last optional module to build with haproxy, so let's move it to addons/. It was renamed to "ot" as it was the only one whose USE_* option did not match the directory name, now this is consistent. Few changes were required, only the Makefile, and doc were adjusted, as the directory was already self-contained and relocatable.