# Timeprobe.h File Reference

`#include "ace/ACE_export.h"`
`#include "ace/Malloc_Allocator.h"`
`#include "ace/OS_NS_time.h"`
`#include "ace/OS_NS_Thread.h"`
`#include "ace/Timeprobe.inl"`
`#include "ace/Synch_Traits.h"`
`#include "ace/Null_Mutex.h"`
`#include "ace/Singleton.h"`
`#include "ace/Timeprobe_T.h"`

Include dependency graph for Timeprobe.h:

This graph shows which files directly or indirectly include this file:

## Classes

class | ACE_Event_Descriptions
| Event Descriptions. More...
class | ACE_timeprobe_t
| Time probe record. More...
union | ACE_timeprobe_t::event
| Events are record as strings or numbers. More...

## Defines

#define | ACE_TIMEPROBE_SINGLETON_TYPE ACE_Singleton
#define | ACE_TIMEPROBE_SINGLETON_LOCK_TYPE ACE_SYNCH_MUTEX
#define | ACE_TIMEPROBE_RESET
#define | ACE_TIMEPROBE(id)
#define | ACE_TIMEPROBE_PRINT
#define | ACE_TIMEPROBE_PRINT_ABSOLUTE
#define | ACE_TIMEPROBE_EVENT_DESCRIPTIONS(descriptions, minimum_id)
#define | ACE_FUNCTION_TIMEPROBE(X)

## Typedefs

typedef ACE_New_Allocator | ACE_TIMEPROBE_ALLOCATOR
typedef ACE_Timeprobe_Ex< ACE_TIMEPROBE_MUTEX, ACE_TIMEPROBE_ALLOCATOR > | ACE_TIMEPROBE_WITH_LOCKING

## Functions

| ACE_SINGLETON_DECLARE (ACE_TIMEPROBE_SINGLETON_TYPE,\ACE_TIMEPROBE_WITH_LOCKING,\ACE_TIMEPROBE_SINGLETON_LOCK_TYPE) typedef ACE_TIMEPROBE_SINGLETON_TYPE< ACE_TIMEPROBE_WITH_LOCKING

## Variables

ACE_END_VERSIONED_NAMESPACE_DECL ACE_BEGIN_VERSIONED_NAMESPACE_DECL typedef ACE_SYNCH_NULL_MUTEX | ACE_TIMEPROBE_MUTEX
ACE_TIMEPROBE_SINGLETON_LOCK_TYPE | ACE_TIMEPROBE_SINGLETON

## Detailed Description

Id
  Timeprobe.h,v 4.47 2005/11/24 09:48:55 ossama Exp

Author:
  Irfan Pyarali

If users want to use time probes, the ACE_COMPILE_TIMEPROBES flag must be defined when compiling ACE. This can be achieved by doing one of the following:

. Use make probe = 1, if you are using the make utility.

. Define ACE_COMPILE_TIMEPROBES in config.h

. Define ACE_COMPILE_TIMEPROBES in the VC project file.

. Other regular methods will also work.

It is not necessary to define ACE_COMPILE_TIMEPROBES when using time probes, you simply need ACE_ENABLE_TIMEPROBES. You can use the ACE_TIMEPROBE_* macros to program the time probes, and use the ACE_ENABLE_TIMEPROBE to enable the time probes. If you define ACE_ENABLE_TIMEPROBE in your code, but forget to compile ACE with ACE_COMPILE_TIMEPROBES, you will end up with linker errors.

Remember that ACE_COMPILE_TIMEPROBES means that the ACE library will contain code for time probes. This is only useful when compiling ACE. ACE_ENABLE_TIMEPROBES means that the ACE_TIMEPROBE_* macros should spring to life.

## Define Documentation

#define ACE_FUNCTION_TIMEPROBE | ( | X |  | ) |

#define ACE_TIMEPROBE | ( | id |  | ) |

#define ACE_TIMEPROBE_EVENT_DESCRIPTIONS | ( | descriptions,
|  | minimum_id |  | ) |

#define ACE_TIMEPROBE_PRINT

#define ACE_TIMEPROBE_PRINT_ABSOLUTE

#define ACE_TIMEPROBE_RESET

#define ACE_TIMEPROBE_SINGLETON_LOCK_TYPE ACE_SYNCH_MUTEX

#define ACE_TIMEPROBE_SINGLETON_TYPE ACE_Singleton

## Typedef Documentation

typedef ACE_New_Allocator ACE_TIMEPROBE_ALLOCATOR

typedef ACE_Timeprobe_Ex<ACE_TIMEPROBE_MUTEX, ACE_TIMEPROBE_ALLOCATOR> ACE_TIMEPROBE_WITH_LOCKING

## Function Documentation

ACE_SINGLETON_DECLARE | ( | ACE_TIMEPROBE_SINGLETON_TYPE | ,
|  | \ | ACE_TIMEPROBE_WITH_LOCKING,
|  | \ | ACE_TIMEPROBE_SINGLETON_LOCK_TYPE
| ) |

## Variable Documentation

ACE_END_VERSIONED_NAMESPACE_DECL ACE_BEGIN_VERSIONED_NAMESPACE_DECL typedef ACE_SYNCH_NULL_MUTEX ACE_TIMEPROBE_MUTEX

ACE_TIMEPROBE_SINGLETON_LOCK_TYPE ACE_TIMEPROBE_SINGLETON