HEX
Server: nginx/1.16.1
System: Linux ecs-04358622 4.19.90-2107.6.0.0100.oe1.bclinux.x86_64 #1 SMP Wed Dec 1 19:59:44 CST 2021 x86_64
User: nginx (994)
PHP: 8.0.0
Disabled: NONE
Upload Files
File: //usr/share/systemtap/examples/general/stopwatches.stp
#!/usr/bin/stap
# Copyright (C) 2012-2018 Red Hat, Inc.
# by William Cohen <wcohen@redhat.com>
#
# exercise the stopwatch tapset

probe begin
{
  start_stopwatch("wall");
  /* The next two lines assumes that target is running and in user-space. */
  start_stopwatch("user");
  stop_stopwatch("system")
}

probe syscall_any
{
  if (pid() != target()) next
  stop_stopwatch("user")
  start_stopwatch("system")
}

probe syscall_any.return
{
  if (pid() != target()) next
  start_stopwatch("user")
  stop_stopwatch("system")
}

probe end
{
  stop_stopwatch("wall")
  stop_stopwatch("user")
  stop_stopwatch("system")

  w = read_stopwatch_us("wall")
  u = read_stopwatch_us("user")
  s = read_stopwatch_us("system")
  printf ("wall clock                 %12dus\n", w);
  printf ("wall clock in user-space   %12dus\n", u);
  printf ("wall clock in kernel-space %12dus\n", s);

  delete_stopwatch("wall")
  delete_stopwatch("user")
  delete_stopwatch("system")
}