Prodfiler

How should I get function names with PHP application

Hi Prodfiler team,

This is a great product, but I am having trouble with getting PHP flamegraph with actual function stack, names etc… I’ve tried with Python, it works like a charm and I know how to upload a Golang binary for the symbols. But for PHP, I got no clue how to let Prodfiler know my functions.

Thanks in advance

Hi!
Glad to hear you like prodfiler and give it a try!
Looking at the flamegraph of your project it seems like, we consider frames named php-fpm as native frames instead of the expected PHP type.
This can have various reasons. One might be that the PHP version you are using is not supported at the moment. Or a custom compiled PHP interpreter is used.
Can you share the used PHP version, where this package is from and some information about the environment you are testing in? If you don’t want to share this information in a public way in this thread, feel free to write a message to support@optimyze.cloud.

Cheers,
Florian

PHP Version => 5.6.38

System => Linux php-svc-qloapi 5.4.0-1038-aws #40~18.04.1-Ubuntu SMP Sat Feb 6 01:56:56 UTC 2021 x86_64

Build Date => Nov 16 2018 08:06:39

Configure Command => ‘./configure’ ‘–build=x86_64-linux-musl’ ‘–with-config-file-path=/usr/local/etc/php’ ‘–with-config-file-scan-dir=/usr/local/etc/php/conf.d’ ‘–enable-option-checking=fatal’ ‘–with-mhash’ ‘–enable-ftp’ ‘–enable-mbstring’ ‘–enable-mysqlnd’ ‘–with-curl’ ‘–with-libedit’ ‘–with-openssl’ ‘–with-zlib’ ‘–enable-fpm’ ‘–with-fpm-user=www-data’ ‘–with-fpm-group=www-data’ ‘–disable-cgi’ ‘build_alias=x86_64-linux-musl’ ‘CFLAGS=-fstack-protector-strong ‘-fpic’ ‘-fpie’ ‘-O2’’ ‘LDFLAGS=-Wl,-O1 ‘-Wl,–hash-style=both’ ‘-pie’’ ‘CPPFLAGS=-fstack-protector-strong ‘-fpic’ ‘-fpie’ ‘-O2’’

PHP API => 20131106

PHP Extension => 20131226

Zend Extension => 220131226

Zend Extension Build => API220131226,NTS

PHP Extension Build => API20131226,NTS

Debug Build => no

Thread Safety => disabled

Zend Signal Handling => disabled

Zend Memory Manager => enabled

Zend Multibyte Support => provided by mbstring

IPv6 Support => enabled

DTrace Support => disabled

Not sure above can clear the situation here, we do run very very old, obsolete PHP :joy:

1 Like

Thanks for providing the information!
Unfortunately PHP 5.6.38 is not supported (yet) and I can’t give a timeline when it will be added. We have a list of currently supported runtimes at Frequently Asked Questions | prodfiler-documentation