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 see a specific unique key in the array. To illustrate, let us try to build an array named
arrthat specifies the ages of three people (the unique keys):
harry. To assign them the ages (associated values) of 23, 24, and 25 respectively, we'd use the following array statements:
Example 3.11. Basic Array Statements
arr["tom"] = 23 arr["dick"] = 24 arr["harry"] = 25
,). This is useful if you wish to have a key that contains multiple pieces of information. The following line from Example 4.9, “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.