How to enable on demand loading of Statically Defined User Applications Dtrace Probes
(Doc ID 1355081.1)
Last updated on AUGUST 16, 2023
Applies to:
Solaris Operating System - Version 10 and laterSolaris x64/x86 Operating System - Version 10 and later
Information in this document applies to any platform.
Dtrace Probes embedded in Applications of Libraries
Goal
Enable on demand loading of user level Dtrace probes to avoid performance penalties with probe registration on process startup, fork, and exit.
How bad is the performance impact?
For more of a worst case situation you can reference this document: <Doc ID 1355119.1>
User Processes with static Dtrace probes can cause Performance issues or System Hangs
More generally, in the simple attached test case where a small process includes a single probe forks 2000 times, with each child just exiting here are some timing samples:
Single CPU System | |||
No Probes | Standard Probe Registration | Demand Loading of Probes | |
Real Time | 12.3 seconds | 1 minute 05.5 seconds | 12.6 seconds |
User Time | 0.1 seconds | 0.1 seconds | 0.1 seconds |
System Time | 2.9 seconds | 3.0 seconds | 2.9 seconds |
Two CPU System | |||
No Probes |
Standard Probe Registration | Demand Loading of Probes | |
Real Time | 2.5 seconds | 33.4 seconds | 2.5 seconds |
User time | 0.0 seconds | 0.0 seconds | 0.0 seconds |
System Time | 0.6 seconds | 0.6 seconds | 0.5 seconds |
Eight CPU system | |||
No Probes | Standard Probe Registration | Demand Loading of Probes | |
Real Time | 1.9 seconds | 2.6 seconds | 1.9 seconds |
User time | 0.1 seconds | 0.1 seconds | 0.1 seconds |
System Time | 1.8 seconds | 2.4 seconds | 1.7 seconds |
##
## The above times were produced with attached test case, actual performance impact
## will vary based on too many factors to list.
##
What are the draw backs from not registering the probes?
They will not show up when someone tries to list available probes and any potential user would need to find out about them though some other method. That the probes are still there and can still be used can be verified by using the attached test case.
Solution
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |