3.4. Associative Arrays
globalvariables in the SystemTap script. The syntax for accessing an element in an associative array is similar to that of
awk, and is as follows:
array_nameis any arbitrary name the array uses. The
index_expressionis used to refer to a specific unique key in the array. To illustrate, let us try to build an array named
foothat specifies the ages of three people (that is the unique keys):
harry. To assign them the ages (that is associated values) of 23, 24, and 25 respectively, we can use the following array statements:
Example 3.11. Basic Array Statements
foo["tom"] = 23 foo["dick"] = 24 foo["harry"] = 25
,). This is useful if you wish to have a key that contains multiple pieces of information. The following line from disktop.stp uses 5 elements for the key: process ID, executable name, user ID, parent process ID, and string "W". It associates the value of
devnamewith that key.
device[pid(),execname(),uid(),ppid(),"W"] = devname
global, regardless of whether the associate array is used in one or multiple probes.