Hi Masha, PHP doesn't offer Dtrace probes other then function-entry and function-return at the moment. We are currently working on adding additional probes to PHP and it's extensions.
The only, and frankly clumsy way, that I'm aware of, is tracing the underlying C functions. Depending on the current PHP MySQL extension you are using (either PDO-MySQL, MySQLi, MySQL or MySQLND), there are different functions you have to trace. For example if you use the PHP MySQL bindings. A extremely simple PHP script would be: <?php $conn = mysql_connect("localhost"); mysql_select_db("test"); $res = mysql_query("select username from test"); if (!$res) { fprintf(STDERR, mysql_error()); return -1; } while ($row = mysql_fetch_assoc($res)) { printf("%s\n", $row['username']); } ?> You can then trace the zif_mysql_query function which is the underlying C function in PHP. Maybe the most effective way would be to directly trace the libmysql call to mysql_real_query(). pid$target::mysql_real_query:entry { trace(copyinstr(arg1)); } would print the query you are executing. But in case you want to have additional information, such as thread_id, etc you have to check how the functions and MySQL structs work. I know that this is kind of tricky, and you have to know the PHP codebase. There is no other way I'm aware of at the moment. -- David Soria Parra - Software Engineer Sun Microsystems GmbH Sonnenallee 1 85551 Heimstetten Germany www.sun.de mailto: david.soriaparra at sun.com Amtsgericht Muenchen: HRB 161028 Geschaeftsfuehrer: Wolfgang Engels, Dr. Roland Boemer, Thomas Schroeder Vorsitzender des Aufsichtsrates: Martin Haering -- This message posted from opensolaris.org