---
name: "TAU_CONTEXT_EVENT"
section: "3"
platform: "linux"
package: "tau"
version: "2.17.3.1.dfsg-4.2"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/TAU_CONTEXT_EVENT"
---

# TAU\_CONTEXT\_EVENT(3)

Triggers a context event

## NAME

TAU\_CONTEXT\_EVENT - Triggers a context event

## SYNOPSIS

**C/C++:**

**TAU\_CONTEXT\_EVENT(TauUserEvent** *variable***, double** *value***);**

**Fortran:**

**TAU\_CONTEXT\_EVENT(integer** *variable***(2), real** *value***);**

## DESCRIPTION

Triggers a context event. A context event associates the name with the list of routines along the callstack. A context event tracks information like a user defined event and TAU records the maxima, minima, mean, std. deviation and the number of samples for each context event. A context event helps distinguish the data supplied by the user based on the location where an event occurs and the sequence of actions (routine/timer invocations) that preceeded the event. The depth of the the callstack embedded in the context event's name is specified by the user in the environment variable TAU\_CALLPATH\_DEPTH. If this variable is not specified, TAU uses a default depth of 2.

## EXAMPLE

**C/C++ :**

```
int f2(void)
{
  static int count = 0;
  count ++;
  TAU_PROFILE("f2()", "(sleeps 2 sec, calls f3)", TAU_USER);
  TAU_REGISTER_CONTEXT_EVENT(event, "Iteration count");
/*
  if (count == 2)
    TAU_DISABLE_CONTEXT_EVENT(event);
*/
  printf("Inside f2: sleeps 2 sec, calls f3\n");
  TAU_CONTEXT_EVENT(event, 232+count);
  sleep(2);
  f3();
  return 0;
}
```

**Fortran :**

```
integer memevent(2) / 0, 0 /
save memevent
call TAU_REGISTER_CONTEXT_EVENT(memevent, "STORAGEARY mem allocated')
call TAU_CONTEXT_EVENT(memevent, SIZEOF(STORAGEARY)*sizeof(INTEGER))
```

## SEE ALSO

[TAU\_REGISTER\_CONTEXT\_EVENT(3)](/TAU_REGISTER_CONTEXT_EVENT/3.md)
