'\" t
.\" Title: sssd-systemtap
.\" Author: The SSSD upstream - https://github.com/SSSD/sssd/
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: 01/18/2024
.\" Manual: File Formats and Conventions
.\" Source: SSSD
.\" Language: English
.\"
.TH "SSSD\-SYSTEMTAP" "5" "01/18/2024" "SSSD" "File Formats and Conventions"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
sssd-systemtap \- SSSD systemtap information
.SH "DESCRIPTION"
.PP
This manual page provides information about the systemtap functionality in
\fBsssd\fR(8)\&.
.PP
SystemTap Probe points have been added into various locations in SSSD code to assist in troubleshooting and analyzing performance related issues\&.
.PP
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Sample SystemTap scripts are provided in /usr/share/sssd/systemtap/
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Probes and miscellaneous functions are defined in /usr/share/systemtap/tapset/sssd\&.stp and /usr/share/systemtap/tapset/sssd_functions\&.stp respectively\&.
.RE
.sp
.SH "PROBE POINTS"
.PP
The information below lists the probe points and arguments available in the following format:
.PP
probe $name
.RS 4
Description of probe point
.sp
.if n \{\
.RS 4
.\}
.nf
variable1:datatype
variable2:datatype
variable3:datatype
\&.\&.\&.
.fi
.if n \{\
.RE
.\}
.RE
.SS "Database Transaction Probes"
.PP
.PP
probe sssd_transaction_start
.RS 4
Start of a sysdb transaction, probes the sysdb_transaction_start() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
nesting:integer
probestr:string
.fi
.if n \{\
.RE
.\}
.RE
.PP
probe sssd_transaction_cancel
.RS 4
Cancellation of a sysdb transaction, probes the sysdb_transaction_cancel() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
nesting:integer
probestr:string
.fi
.if n \{\
.RE
.\}
.RE
.PP
probe sssd_transaction_commit_before
.RS 4
Probes the sysdb_transaction_commit_before() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
nesting:integer
probestr:string
.fi
.if n \{\
.RE
.\}
.RE
.PP
probe sssd_transaction_commit_after
.RS 4
Probes the sysdb_transaction_commit_after() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
nesting:integer
probestr:string
.fi
.if n \{\
.RE
.\}
.RE
.SS "LDAP Search Probes"
.PP
.PP
probe sdap_search_send
.RS 4
Probes the sdap_get_generic_ext_send() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
base:string
scope:integer
filter:string
attrs:string
probestr:string
.fi
.if n \{\
.RE
.\}
.RE
.PP
probe sdap_search_recv
.RS 4
Probes the sdap_get_generic_ext_recv() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
base:string
scope:integer
filter:string
probestr:string
.fi
.if n \{\
.RE
.\}
.RE
.PP
probe sdap_parse_entry
.RS 4
Probes the sdap_parse_entry() function\&. It is called repeatedly with every received attribute\&.
.sp
.if n \{\
.RS 4
.\}
.nf
attr:string
value:string
.fi
.if n \{\
.RE
.\}
.RE
.PP
probe sdap_parse_entry_done
.RS 4
Probes the sdap_parse_entry() function\&. It is called when parsing of received object is finished\&.
.RE
.PP
probe sdap_deref_send
.RS 4
Probes the sdap_deref_search_send() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
base_dn:string
deref_attr:string
probestr:string
.fi
.if n \{\
.RE
.\}
.RE
.PP
probe sdap_deref_recv
.RS 4
Probes the sdap_deref_search_recv() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
base:string
scope:integer
filter:string
probestr:string
.fi
.if n \{\
.RE
.\}
.RE
.SS "LDAP Account Request Probes"
.PP
.PP
probe sdap_acct_req_send
.RS 4
Probes the sdap_acct_req_send() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
entry_type:int
filter_type:int
filter_value:string
extra_value:string
.fi
.if n \{\
.RE
.\}
.RE
.PP
probe sdap_acct_req_recv
.RS 4
Probes the sdap_acct_req_recv() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
entry_type:int
filter_type:int
filter_value:string
extra_value:string
.fi
.if n \{\
.RE
.\}
.RE
.SS "LDAP User Search Probes"
.PP
.PP
probe sdap_search_user_send
.RS 4
Probes the sdap_search_user_send() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
filter:string
.fi
.if n \{\
.RE
.\}
.RE
.PP
probe sdap_search_user_recv
.RS 4
Probes the sdap_search_user_recv() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
filter:string
.fi
.if n \{\
.RE
.\}
.RE
.PP
probe sdap_search_user_save_begin
.RS 4
Probes the sdap_search_user_save_begin() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
filter:string
.fi
.if n \{\
.RE
.\}
.RE
.PP
probe sdap_search_user_save_end
.RS 4
Probes the sdap_search_user_save_end() function\&.
.sp
.if n \{\
.RS 4
.\}
.nf
filter:string
.fi
.if n \{\
.RE
.\}
.RE
.SS "Data Provider Request Probes"
.PP
.PP
probe dp_req_send
.RS 4
A Data Provider request is submitted\&.
.sp
.if n \{\
.RS 4
.\}
.nf
dp_req_domain:string
dp_req_name:string
dp_req_target:int
dp_req_method:int
.fi
.if n \{\
.RE
.\}
.RE
.PP
probe dp_req_done
.RS 4
A Data Provider request is completed\&.
.sp
.if n \{\
.RS 4
.\}
.nf
dp_req_name:string
dp_req_target:int
dp_req_method:int
dp_ret:int
dp_errorstr:string
.fi
.if n \{\
.RE
.\}
.RE
.SS "MISCELLANEOUS FUNCTIONS"
.PP
The information below lists the probe points and arguments available in the following format:
.PP
function acct_req_desc(entry_type)
.RS 4
Convert entry_type to string and return string
.RE
.PP
function sssd_acct_req_probestr(fc_name, entry_type, filter_type, filter_value, extra_value)
.RS 4
Create probe string based on filter type
.RE
.PP
function dp_target_str(target)
.RS 4
Convert target to string and return string
.RE
.PP
function dp_method_str(target)
.RS 4
Convert method to string and return string
.RE
.SH "SAMPLE SYSTEMTAP SCRIPTS"
.PP
Start the SystemTap script (\fBstap /usr/share/sssd/systemtap/\&.stp\fR), then perform an identity operation and the script will collect information from probes\&.
.PP
Provided SystemTap scripts are:
.PP
dp_request\&.stp
.RS 4
Monitoring of data provider request performance\&.
.RE
.PP
id_perf\&.stp
.RS 4
Monitoring of
\fBid\fR
command performance\&.
.RE
.PP
ldap_perf\&.stp
.RS 4
Monitoring of LDAP queries\&.
.RE
.PP
nested_group_perf\&.stp
.RS 4
Performance of nested groups resolving\&.
.RE
.SH "SEE ALSO"
.PP
\fBsssd\fR(8),
\fBsssd.conf\fR(5),
\fBsssd-ldap\fR(5),
\fBsssd-ldap-attributes\fR(5),
\fBsssd-krb5\fR(5),
\fBsssd-simple\fR(5),
\fBsssd-ipa\fR(5),
\fBsssd-ad\fR(5),
\fBsssd-files\fR(5),
\fBsssd-sudo\fR(5),
\fBsssd-session-recording\fR(5),
\fBsss_cache\fR(8),
\fBsss_debuglevel\fR(8),
\fBsss_obfuscate\fR(8),
\fBsss_seed\fR(8),
\fBsssd_krb5_locator_plugin\fR(8),
\fBsss_ssh_authorizedkeys\fR(8), \fBsss_ssh_knownhostsproxy\fR(8),
\fBsssd-ifp\fR(5),
\fBpam_sss\fR(8)\&.
\fBsss_rpcidmapd\fR(5)
\fBsssd-systemtap\fR(5)
.SH "AUTHORS"
.PP
\fBThe SSSD upstream \- https://github\&.com/SSSD/sssd/\fR