HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.33
System: Linux li317-225.members.linode.com 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64
User: apache (48)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //usr/share/systemtap/examples/general/measureinterval.stp
#!/usr/bin/stap

# General interval measurement / monitor.  Gives a report of event interval measurement on a
# per-process or systemwide basis.
# 
# Invoke with a list of probe point patterns as script command-line arguments:
# stap measureinterval.stp 'measurement' 'match' 'accumulation' 'start_event(s)' 'end_event(s)'
#

global interval%, acc%

probe $4
{
  measure = $1
  if ($2 in interval) {
    acc[%($# >= 6 %? $6 %: 0 %)] <<< measure - interval[$2]
  }
  interval[$2] = measure;
}

# optional end of pipeline probe
probe %($# >= 5 %? $5 %: never %)
{
  measure = $1
  if ($2 in interval) {
    acc[%($# >= 6 %? $6 %: 0 %)] <<< measure - interval[$2]
    delete interval[$2]
  }
}

function report()
{
  print("\n");
  foreach(i+ in acc){
     printdln("=", "id", i)
     println($3(acc[i]))
  }
}

probe end {report()}