DEBUG: opentracing: show return values of all functions in the debug output

If the OpenTracing filter is compiled using the 'OT_DEBUG=1' option, then
log messages are printed to stderr when the filter is running.  In the log
one can then find (among other things) the order in which the function is
called and the value that the function returns (if it is not a void type).

Prior to applying this patch, no value returned by a function was logged.

Log output example:
  [ 1]    0.038807 [OT]: flt_ot_init_per_thread(0x56365bd45ec0, 0x56365bd48210) {
  [ 1]    0.038807 [OT]:    ot_start(0x56365bd58920, 0x56365bd4e3a0, 0x7f561acba168:(nil)) {
  [ 1]    0.038807 [OT]:    } = 0
  [ 1]    0.038807 [OT]: } = 0

This patch must be backported as far as 2.4.

(cherry picked from commit ca09e01a137ebb557fbda3edb79dd22922753667)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 83eb076c3be8ef2eaa61c3b33f219d1decb575cb)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/addons/ot/src/filter.c b/addons/ot/src/filter.c
index 04c4a67..6c931fa 100644
--- a/addons/ot/src/filter.c
+++ b/addons/ot/src/filter.c
@@ -162,7 +162,7 @@
 	FLT_OT_FUNC("%p, %p", p, fconf);
 
 	if (conf == NULL)
-		FLT_OT_RETURN(retval);
+		FLT_OT_RETURN_INT(retval);
 
 	flt_ot_cli_init();
 
@@ -178,7 +178,7 @@
 		FLT_OT_ERR_FREE(err);
 	}
 
-	FLT_OT_RETURN(retval);
+	FLT_OT_RETURN_INT(retval);
 }
 
 
@@ -256,7 +256,7 @@
 	FLT_OT_FUNC("%p, %p", p, fconf);
 
 	if (conf == NULL)
-		FLT_OT_RETURN(++retval);
+		FLT_OT_RETURN_INT(++retval);
 
 	/*
 	 * If only the proxy specified with the <p> parameter is checked, then
@@ -421,7 +421,7 @@
 		FLT_OT_DBG_LIST(conf->tracer, ph_scope, "   ", "used", _scope, FLT_OT_DBG_CONF_PH("      ", _scope));
 	}
 
-	FLT_OT_RETURN(retval);
+	FLT_OT_RETURN_INT(retval);
 }
 
 
@@ -450,7 +450,7 @@
 	FLT_OT_FUNC("%p, %p", p, fconf);
 
 	if (conf == NULL)
-		FLT_OT_RETURN(retval);
+		FLT_OT_RETURN_INT(retval);
 
 	/*
 	 * Start the OpenTracing library tracer thread.
@@ -469,7 +469,7 @@
 		retval = FLT_OT_RET_OK;
 	}
 
-	FLT_OT_RETURN(retval);
+	FLT_OT_RETURN_INT(retval);
 }
 
 
@@ -529,7 +529,7 @@
 	if (conf->tracer->flag_disabled) {
 		FLT_OT_DBG(2, "filter '%s', type: %s (disabled)", conf->id, flt_ot_type(f));
 
-		FLT_OT_RETURN(FLT_OT_RET_IGNORE);
+		FLT_OT_RETURN_INT(FLT_OT_RET_IGNORE);
 	}
 	else if (conf->tracer->rate_limit < FLT_OT_FLOAT_U32(FLT_OT_RATE_LIMIT_MAX, FLT_OT_RATE_LIMIT_MAX)) {
 		uint32_t rnd = ha_random32();
@@ -537,7 +537,7 @@
 		if (conf->tracer->rate_limit <= rnd) {
 			FLT_OT_DBG(2, "filter '%s', type: %s (ignored: %u <= %u)", conf->id, flt_ot_type(f), conf->tracer->rate_limit, rnd);
 
-			FLT_OT_RETURN(FLT_OT_RET_IGNORE);
+			FLT_OT_RETURN_INT(FLT_OT_RET_IGNORE);
 		}
 	}
 
@@ -548,7 +548,7 @@
 	if (f->ctx == NULL) {
 		FLT_OT_LOG(LOG_EMERG, "failed to create context");
 
-		FLT_OT_RETURN(FLT_OT_RET_IGNORE);
+		FLT_OT_RETURN_INT(FLT_OT_RET_IGNORE);
 	}
 
 	/*
@@ -563,7 +563,7 @@
 	flt_ot_vars_dump(s);
 	flt_ot_http_headers_dump(&(s->req));
 
-	FLT_OT_RETURN(FLT_OT_RET_OK);
+	FLT_OT_RETURN_INT(FLT_OT_RET_OK);
 }
 
 
@@ -593,9 +593,9 @@
 	FLT_OT_FUNC("%p, %p", s, f);
 
 	if (flt_ot_is_disabled(f FLT_OT_DBG_ARGS(, -1)))
-		FLT_OT_RETURN(retval);
+		FLT_OT_RETURN_INT(retval);
 
-	FLT_OT_RETURN(flt_ot_return_int(f, &err, retval));
+	FLT_OT_RETURN_INT(flt_ot_return_int(f, &err, retval));
 }
 
 
@@ -624,11 +624,11 @@
 	FLT_OT_FUNC("%p, %p, %p", s, f, be);
 
 	if (flt_ot_is_disabled(f FLT_OT_DBG_ARGS(, -1)))
-		FLT_OT_RETURN(retval);
+		FLT_OT_RETURN_INT(retval);
 
 	FLT_OT_DBG(3, "backend: %s", be->id);
 
-	FLT_OT_RETURN(flt_ot_return_int(f, &err, retval));
+	FLT_OT_RETURN_INT(flt_ot_return_int(f, &err, retval));
 }
 
 
@@ -748,7 +748,7 @@
 	FLT_OT_FUNC("%p, %p, %p", s, f, chn);
 
 	if (flt_ot_is_disabled(f FLT_OT_DBG_ARGS(, (chn->flags & CF_ISRESP) ? FLT_OT_EVENT_RES_SERVER_SESS_START : FLT_OT_EVENT_REQ_CLIENT_SESS_START)))
-		FLT_OT_RETURN(FLT_OT_RET_OK);
+		FLT_OT_RETURN_INT(FLT_OT_RET_OK);
 
 	FLT_OT_DBG(3, "channel: %s, mode: %s (%s)", flt_ot_chn_label(chn), flt_ot_pr_mode(s), flt_ot_stream_pos(s));
 
@@ -772,7 +772,7 @@
 
 //	register_data_filter(s, chn, f);
 
-	FLT_OT_RETURN(flt_ot_return_int(f, &err, retval));
+	FLT_OT_RETURN_INT(flt_ot_return_int(f, &err, retval));
 }
 
 
@@ -808,7 +808,7 @@
 		}
 
 	if (flt_ot_is_disabled(f FLT_OT_DBG_ARGS(, event)))
-		FLT_OT_RETURN(FLT_OT_RET_OK);
+		FLT_OT_RETURN_INT(FLT_OT_RET_OK);
 
 	FLT_OT_DBG(3, "channel: %s, mode: %s (%s), analyzer: %s", flt_ot_chn_label(chn), flt_ot_pr_mode(s), flt_ot_stream_pos(s), flt_ot_analyzer(an_bit));
 
@@ -819,7 +819,7 @@
 		channel_dont_close(chn);
 	}
 
-	FLT_OT_RETURN(flt_ot_return_int(f, &err, retval));
+	FLT_OT_RETURN_INT(flt_ot_return_int(f, &err, retval));
 }
 
 
@@ -857,13 +857,13 @@
 		}
 
 	if (flt_ot_is_disabled(f FLT_OT_DBG_ARGS(, event)))
-		FLT_OT_RETURN(FLT_OT_RET_OK);
+		FLT_OT_RETURN_INT(FLT_OT_RET_OK);
 
 	FLT_OT_DBG(3, "channel: %s, mode: %s (%s), analyzer: %s", flt_ot_chn_label(chn), flt_ot_pr_mode(s), flt_ot_stream_pos(s), flt_ot_analyzer(an_bit));
 
 	retval = flt_ot_event_run(s, f, chn, event, &err);
 
-	FLT_OT_RETURN(flt_ot_return_int(f, &err, retval));
+	FLT_OT_RETURN_INT(flt_ot_return_int(f, &err, retval));
 }
 
 
@@ -891,7 +891,7 @@
 	FLT_OT_FUNC("%p, %p, %p", s, f, chn);
 
 	if (flt_ot_is_disabled(f FLT_OT_DBG_ARGS(, (chn->flags & CF_ISRESP) ? FLT_OT_EVENT_RES_SERVER_SESS_END : FLT_OT_EVENT_REQ_CLIENT_SESS_END)))
-		FLT_OT_RETURN(FLT_OT_RET_OK);
+		FLT_OT_RETURN_INT(FLT_OT_RET_OK);
 
 	FLT_OT_DBG(3, "channel: %s, mode: %s (%s)", flt_ot_chn_label(chn), flt_ot_pr_mode(s), flt_ot_stream_pos(s));
 
@@ -913,7 +913,7 @@
 		}
 	}
 
-	FLT_OT_RETURN(flt_ot_return_int(f, &err, retval));
+	FLT_OT_RETURN_INT(flt_ot_return_int(f, &err, retval));
 }
 
 
@@ -945,11 +945,11 @@
 	FLT_OT_FUNC("%p, %p, %p", s, f, msg);
 
 	if (flt_ot_is_disabled(f FLT_OT_DBG_ARGS(, -1)))
-		FLT_OT_RETURN(retval);
+		FLT_OT_RETURN_INT(retval);
 
 	FLT_OT_DBG(3, "channel: %s, mode: %s (%s), %.*s %.*s %.*s", flt_ot_chn_label(msg->chn), flt_ot_pr_mode(s), flt_ot_stream_pos(s), HTX_SL_P1_LEN(sl), HTX_SL_P1_PTR(sl), HTX_SL_P2_LEN(sl), HTX_SL_P2_PTR(sl), HTX_SL_P3_LEN(sl), HTX_SL_P3_PTR(sl));
 
-	FLT_OT_RETURN(flt_ot_return_int(f, &err, retval));
+	FLT_OT_RETURN_INT(flt_ot_return_int(f, &err, retval));
 }
 
 
@@ -978,14 +978,14 @@
 	FLT_OT_FUNC("%p, %p, %p, %u, %u", s, f, msg, offset, len);
 
 	if (flt_ot_is_disabled(f FLT_OT_DBG_ARGS(, -1)))
-		FLT_OT_RETURN(len);
+		FLT_OT_RETURN_INT(len);
 
 	FLT_OT_DBG(3, "channel: %s, mode: %s (%s), offset: %u, len: %u, forward: %d", flt_ot_chn_label(msg->chn), flt_ot_pr_mode(s), flt_ot_stream_pos(s), offset, len, retval);
 
 	if (retval != len)
 		task_wakeup(s->task, TASK_WOKEN_MSG);
 
-	FLT_OT_RETURN(flt_ot_return_int(f, &err, retval));
+	FLT_OT_RETURN_INT(flt_ot_return_int(f, &err, retval));
 }
 
 
@@ -1013,11 +1013,11 @@
 	FLT_OT_FUNC("%p, %p, %p", s, f, msg);
 
 	if (flt_ot_is_disabled(f FLT_OT_DBG_ARGS(, -1)))
-		FLT_OT_RETURN(retval);
+		FLT_OT_RETURN_INT(retval);
 
 	FLT_OT_DBG(3, "channel: %s, mode: %s (%s)", flt_ot_chn_label(msg->chn), flt_ot_pr_mode(s), flt_ot_stream_pos(s));
 
-	FLT_OT_RETURN(flt_ot_return_int(f, &err, retval));
+	FLT_OT_RETURN_INT(flt_ot_return_int(f, &err, retval));
 }
 
 
@@ -1111,7 +1111,7 @@
 	FLT_OT_FUNC("%p, %p, %p, %u, %u", s, f, chn, offset, len);
 
 	if (flt_ot_is_disabled(f FLT_OT_DBG_ARGS(, -1)))
-		FLT_OT_RETURN(len);
+		FLT_OT_RETURN_INT(len);
 
 	FLT_OT_DBG(3, "channel: %s, mode: %s (%s), offset: %u, len: %u, forward: %d", flt_ot_chn_label(chn), flt_ot_pr_mode(s), flt_ot_stream_pos(s), offset, len, retval);
 
@@ -1122,7 +1122,7 @@
 	if (retval != len)
 		task_wakeup(s->task, TASK_WOKEN_MSG);
 
-	FLT_OT_RETURN(flt_ot_return_int(f, &err, retval));
+	FLT_OT_RETURN_INT(flt_ot_return_int(f, &err, retval));
 }
 
 #endif /* DEBUG_OT */