Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

The following are examples of php_flow.d.

This is a simple script to trace the flow of PHP functions.
Here it traces the example program, Code/Php/func_abc.php

# php_flow.d 
  C TIME(us)         FILE             -- FUNC
  0 3645535409575    func_abc.php     -> func_a
  0 3645535409653    func_abc.php       -> sleep
  0 3645536410511    func_abc.php       <- sleep
  0 3645536410536    func_abc.php       -> func_b
  0 3645536410557    func_abc.php         -> sleep
  0 3645537420627    func_abc.php         <- sleep
  0 3645537420652    func_abc.php         -> func_c
  0 3645537420673    func_abc.php           -> sleep
  0 3645538430106    func_abc.php           <- sleep
  0 3645538430125    func_abc.php         <- func_c
  0 3645538430134    func_abc.php       <- func_b
  0 3645538430143    func_abc.php     <- func_a
^C

The fourth column is indented by 2 spaces to show when a new function begins.
This shows which function is calling which - the output above begins by
showing that func_a() began; slept, and returned from sleep; and then called
func_b().

The TIME(us) column shows time from boot in microseconds.

The FILE column shows the file that was being executed. 

If the output looks strange, check the CPU "C" column - if it changes,
then the output is probably shuffled. See Notes/ALLsnoop_notes.txt for
details and suggested workarounds.

See Notes/ALLflow_notes.txt for important notes about reading flow outputs.