이 콘텐츠는 선택한 언어로 제공되지 않습니다.
Chapter 4. Probe points
4.1. General syntax 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
The general probe point syntax is a dotted-symbol sequence. This divides the event namespace into parts, analogous to the style of the Domain Name System. Each component identifier is parameterized by a string or number literal, with a syntax analogous to a function call.
The following are all syntactically valid probe points.
Probes may be broadly classified into synchronous or asynchronous. A synchronous event occurs when any processor executes an instruction matched by the specification. This gives these probes a reference point (instruction address) from which more contextual data may be available. Other families of probe points refer to asynchronous events such as timers, where no fixed reference point is related. Each probe point specification may match multiple locations, such as by using wildcards or aliases, and all are probed. A probe declaration may contain several specifications separated by commas, which are all probed.
4.1.1. Prefixes 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Prefixes specify the probe target, such as
kernel
, module
, timer
, and so on.
4.1.2. Suffixes 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Suffixes further qualify the point to probe, such as
.return
for the exit point of a probed function. The absence of a suffix implies the function entry point.
4.1.3. Wildcarded file names, function names 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
A component may include an asterisk (*) character, which expands to other matching probe points. An example follows.
kernel.syscall.* kernel.function("sys_*)
kernel.syscall.*
kernel.function("sys_*)
4.1.4. Optional probe points 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
A probe point may be followed by a question mark (?) character, to indicate that it is optional, and that no error should result if it fails to expand. This effect passes down through all levels of alias or wildcard expansion.
The following is the general syntax.
kernel.function("no_such_function") ?
kernel.function("no_such_function") ?