What does the metrics c, m, r, w and b of Monetdb's Stethoscope mean?

151 Views Asked by At

Monetdb's Stethoscope is a profiling tool and has a list of trace options. In the following measured result, I get confused by some metrics.

What exactly is utime, cutime, stime and cstime? They seem to be CPU time in user and kernel space but why the 'start' state of a MAL instruction has such utime but the 'end' state does not have? And, what's its unit?

What's the unit of rss?

blk.reads blk.writes should be the speed of I/O in terms of block. Why some instructions have non-zero blk.reads or blk.writes but their rbytes (bytes read) and wbytes (bytes written) are zero?

Screenshot on part of a Stethoscope measured result

This measurement is enabled by this trace option: +SatefiITcmrwbsy which is explained below the the document online. I am not quite sure about their meanings.

The trace options (default 'ISTest'):
  S = monitor start of instruction profiling
  a = aggregate clock ticks per instruction
  e = event counter
  f = module.function name
  i = instruction counter
  I = interpreter thread number
  T = wall clock time
  t = ticks in microseconds
  c = cpu statistics (utime,ctime,stime,cstime)
  m = memory resources as provided by OS
  r = block reads
  w = block writes
  b = bytes read/written
  s = MAL statement
  y = MAL argument types
  p = process statistics, e.g. page faults, context switches
  u = user id
  D = Generate dot file upon query start
  F = Dataflow memory claims
2

There are 2 best solutions below

0
On BEST ANSWER

The markers correlate with the Linux kernel profiling structure entries. See times(2) command

Similar remarks are for the io counts taken from rusage system calls. rbytes/wbytes are estimated systems of memory processed in each call.

layout is meant to be regular structure for ease of handling later on.

0
On

The markers correlate with the Linux kernel profiling structure entries. See times(2) command

layout is meant to be regular structure for ease of handling later on.