From 06fa9f717f4f17e3349ab73d9ac235742ba138be Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 18 Sep 2025 08:02:59 +0200 Subject: [PATCH] MINOR: trace: don't call strlen() on the thread-id numeric encoding In __trace(), we're making an integer for the thread id but this one is passed through strlen() in the call to ist() because it's not a constant. We do know that it's exactly 3 chars long so we can manage this using ist2() and pass it the length instead in order to reduce the number of calls to strlen(). Also let's note that the thread number will no longer be numeric for thread numbers above 100. --- src/trace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trace.c b/src/trace.c index b2d763ebf..0952ed29b 100644 --- a/src/trace.c +++ b/src/trace.c @@ -285,7 +285,7 @@ void __trace(enum trace_level level, uint64_t mask, struct trace_source *src, tnum[1] = '0' + tid % 10; tnum[2] = '|'; tnum[3] = 0; - line[words++] = ist(tnum); + line[words++] = ist2(tnum, 3); line[words++] = src->name; line[words++] = ist("|"); line[words++] = ist2("012345" + level, 1); // "0" to "5" -- 2.47.3