Why can't I dtrace processes running in a jail from the host?
Patrick M. Hausen
hausen at punkt.de
Fri Aug 10 07:15:23 UTC 2018
Hi!
> Am 09.08.2018 um 16:52 schrieb Mark Johnston <markj at freebsd.org>:
> For userland static probes to be globally visible, the process needs to
> register them with the kernel when it starts. This is done
> automatically using a constructor which issues ioctls to
> /dev/dtrace/helper, hence the requirement for /dev/dtrace/* in the jail.
I figured as much. Enabling /dev/dtrace/* in the jail and restarting
the jail made the probes visible in the host system
I'm still somewhat stuck. What I'm trying to do is track down some
performance problems in a large complex PHP web application.
I have done this in the past on "regular" setups without jails
and with PHP 5.6 compiled with dtrace support using
/usr/local/share/dtrace-toolkit/Php/* ...
This setup is jailed with PHP 7.2, dtrace support seems to be the
default for the port.
I'm specifically after
php-fpm dtrace_execute_ex function-entry
php-fpm dtrace_execute_ex function-return
of course, to see where the application spends it's CPU cycles.
But regardless if I'm doing this on the host or in the jail, I only get
these results:
dtrace -m php\*
ZEND_CATCH_SPEC_CONST_CV_HANDLER:exception-caught
php_request_shutdown:request-shutdown
php_request_startup:request-startup
zend_error:error
zend_throw_exception_internal:exception-thrown
Nothing else. Still `dtrace -m php\* -l` does show all the probes.
Any ideas?
Thanks
Patrick
--
punkt.de GmbH Internet - Dienstleistungen - Beratung
Kaiserallee 13a Tel.: 0721 9109-0 Fax: -100
76133 Karlsruhe info at punkt.de http://punkt.de
AG Mannheim 108285 Gf: Juergen Egeling
More information about the freebsd-dtrace
mailing list