Skip to content

Commit 014b4fe

Browse files
Avoid logging to the backtrace unconditionally in hot paths.
In case of reading a large group (comparable to entire cache) it accounts for some non trivial CPU time (cca ~TODO).
1 parent f2ec85d commit 014b4fe

File tree

4 files changed

+16
-9
lines changed

4 files changed

+16
-9
lines changed

src/db/sysdb_views.c

+9-4
Original file line numberDiff line numberDiff line change
@@ -1760,7 +1760,10 @@ errno_t sysdb_add_group_member_overrides(struct sss_domain_info *domain,
17601760
}
17611761

17621762
if (memberuid == NULL) {
1763-
DEBUG(SSSDBG_TRACE_ALL, "No override name available.\n");
1763+
if (DEBUG_IS_SET(SSSDBG_TRACE_ALL)) { /* hot path */
1764+
DEBUG(SSSDBG_TRACE_ALL, "No override name available for %s.\n",
1765+
orig_name);
1766+
}
17641767
memberuid = orig_name;
17651768
} else {
17661769
/* add domain name if memberuid is a short name */
@@ -1784,9 +1787,11 @@ errno_t sysdb_add_group_member_overrides(struct sss_domain_info *domain,
17841787
ret = sysdb_error_to_errno(ret);
17851788
goto done;
17861789
}
1787-
DEBUG(SSSDBG_TRACE_ALL, "Added [%s] to [%s].\n", memberuid,
1788-
OVERRIDE_PREFIX SYSDB_MEMBERUID);
1789-
1790+
if (DEBUG_IS_SET(SSSDBG_TRACE_ALL)) { /* hot path */
1791+
DEBUG(SSSDBG_TRACE_ALL,
1792+
"Added [%s] to ["OVERRIDE_PREFIX SYSDB_MEMBERUID"].\n",
1793+
memberuid);
1794+
}
17901795
}
17911796

17921797
ret = EOK;

src/responder/common/negcache.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ static int sss_ncache_check_str(struct sss_nc_ctx *ctx, char *str)
9696
char *ep;
9797
int ret;
9898

99-
DEBUG(SSSDBG_TRACE_INTERNAL, "Checking negative cache for [%s]\n", str);
99+
if (DEBUG_IS_SET(SSSDBG_TRACE_INTERNAL)) { /* hot path */
100+
DEBUG(SSSDBG_TRACE_INTERNAL, "Checking negative cache for [%s]\n", str);
101+
}
100102

101103
data.dptr = NULL;
102104

src/util/domain_info_utils.c

+4-2
Original file line numberDiff line numberDiff line change
@@ -910,8 +910,10 @@ static const char *domain_state_str(struct sss_domain_info *dom)
910910

911911
enum sss_domain_state sss_domain_get_state(struct sss_domain_info *dom)
912912
{
913-
DEBUG(SSSDBG_TRACE_LIBS,
914-
"Domain %s is %s\n", dom->name, domain_state_str(dom));
913+
if (DEBUG_IS_SET(SSSDBG_TRACE_INTERNAL)) { /* hot path */
914+
DEBUG(SSSDBG_TRACE_INTERNAL,
915+
"Domain %s is %s\n", dom->name, domain_state_str(dom));
916+
}
915917
return dom->state;
916918
}
917919

src/util/usertools.c

-2
Original file line numberDiff line numberDiff line change
@@ -508,8 +508,6 @@ calc_flat_name(struct sss_domain_info *domain)
508508

509509
s = domain->flat_name;
510510
if (s == NULL) {
511-
DEBUG(SSSDBG_FUNC_DATA, "Domain has no flat name set,"
512-
"using domain name instead\n");
513511
s = domain->name;
514512
}
515513

0 commit comments

Comments
 (0)