Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

tau_register_context_event(3) [debian man page]

TAU_REGISTER_CONTEXT(3) 				      TAU Instrumentation API					   TAU_REGISTER_CONTEXT(3)

NAME
TAU_REGISTER_CONTEXT_EVENT - Registers a context event SYNOPSIS
C/C++: TAU_REGISTER_CONTEXT_EVENT(TauUserEvent variable, char *event_name); Fortran: TAU_REGISTER_CONTEXT_EVENT(int variable(2), character event_name(size)); DESCRIPTION
Creates a context event with name. A context event appends the names of routines executing on the callstack to the name specified by the user. Whenver a context event is triggered, the callstack is examined to determine the context of execution. Starting from the parent function where the event is triggered, TAU walks up the callstack to a depth specified by the user in the environment variable TAU_CALLPATH_DEPTH. If this environment variable is not specified, TAU uses 2 as the default depth. For e.g., if the user registers a context event with the name "memory used" and specifies 3 as the callpath depth, and if the event is triggered in two locations (in routine a, when it was called by b, when it was called by c, and in routine h, when it was called by g, when it was called by i), then, we'd see the user defined event information for "memory used: c() => b() => a()" and "memory used: i() => g() => h()". 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 "); TAU_CONTEXT_EVENT(event, 232+count); sleep(2); f3(); return 0; } Fortran : subroutine foo(id) integer id integer profiler(2) / 0, 0 / integer maev(2) / 0, 0 / integer mdev(2) / 0, 0 / save profiler, maev, mdev integer :: ierr integer :: h, t, u INTEGER, ALLOCATABLE :: STORAGEARY(:) DOUBLEPRECISION edata call TAU_PROFILE_TIMER(profiler, 'FOO') call TAU_PROFILE_START(profiler) call TAU_PROFILE_SET_NODE(0) call TAU_REGISTER_CONTEXT_EVENT(maev, "STORAGEARY Alloc [cubes.f:20]") call TAU_REGISTER_CONTEXT_EVENT(mdev, "STORAGEARY Dealloc [cubes.f:37]") allocate(STORAGEARY(1:999), STAT=IERR) edata = SIZE(STORAGEARY)*sizeof(INTEGER) call TAU_CONTEXT_EVENT(maev, edata) ... deallocate(STORAGEARY) edata = SIZE(STORAGEARY)*sizeof(INTEGER) call TAU_CONTEXT_EVENT(mdev, edata) call TAU_PROFILE_STOP(profiler) end subroutine foo SEE ALSO
TAU_CONTEXT_EVENT(3), TAU_ENABLE_CONTEXT_EVENT(3), TAU_DISABLE_CONTEXT_EVENT(3), TAU_REGISTER_EVENT(3), TAU_REPORT_STATISTICS(3), TAU_REPORT_THREAD_STATISTICS(3), TAU_GET_EVENT_NAMES(3), TAU_GET_EVENT_VALS(3) 08/31/2005 TAU_REGISTER_CONTEXT(3)

Check Out this Related Man Page

Data::ObjectDriver::Profiler(3pm)			User Contributed Perl Documentation			 Data::ObjectDriver::Profiler(3pm)

NAME
Data::ObjectDriver::Profiler - Query profiling SYNOPSIS
my $profiler = Data::ObjectDriver->profiler; my $stats = $profiler->statistics; my $total = $stats->{'DBI:total_queries'}; my $log = $profiler->query_log; $profiler->reset; USAGE
$Data::ObjectDriver::PROFILE To turn on profiling, set $Data::ObjectDriver::PROFILE to a true value. Alternatively, you can set the DOD_PROFILE environment variable to a true value before starting your application. Data::ObjectDriver->profiler Profiling is global to Data::ObjectDriver, so the Profiler object is a global instance variable. To get it, call Data::ObjectDriver->profiler, which returns a Data::ObjectDriver::Profiler object. $profiler->statistics Returns a hash reference of statistics about the queries that have been executed. $profiler->query_log Returns a reference to an array of SQL queries as they were handed off to DBI. This means that placeholder variables are not substituted, so you'll end up with queries in the query log like "SELECT title, difficulty FROM recipe WHERE recipe_id = ?". $profiler->query_frequency Returns a reference to a hash containing, as keys, all of the SQL statements in the query log, where the value for each of the keys is a number representing the number of times the query was executed. $profiler->reset Resets the statistics and the query log. $profiler->total_queries Returns the total number of queries currently logged in the profiler. $profiler->report_queries_by_type Returns a string containing a pretty report of information about the current number of each type of query in the profiler (e.g. "SELECT", "INSERT"). $profiler->report_query_frequency Returns a string containing a pretty report of information about the current query frequency information in the profiler. perl v5.12.4 2011-08-29 Data::ObjectDriver::Profiler(3pm)
Man Page