Oracle Coherence for C++ API


ObjectCountHeapAnalyzer Class Reference

#include <coherence/lang/ObjectCountHeapAnalyzer.hpp>

Inherits Object, and HeapAnalyzer.

List of all members.

Detailed Description

ObjectCountHeapAnalyzer provides simple heap analysis based solely on the count of the number of live objects in the system.

This heap analyzer has low CPU and memory costs. It is well suited for performance sensitive production environments.

See also:
ClassBasedHeapAnalyzer for more detailed heap analysis
mf 2008.04.27

Public Types

typedef spec::Handle  Handle
  ObjectCountHeapAnalyzer Handle definition.
typedef spec::View  View
  ObjectCountHeapAnalyzer View definition.
typedef spec::Holder  Holder
  ObjectCountHeapAnalyzer Holder definition.

Public Member Functions

capture () const
  Capture a Snapshot of the current state of the heap.

Note, when performing captures in a loop, and assigning the captured snapshot to a handle referencing a snapshot, it is advisable to NULL out the handle first, so as to avoid the new snapshot including the "cost" of snapshot it is about to replace.

a Snapshot of the current state of the heap.

delta (HeapAnalyzer::Snapshot::View vSnap) const
  Compute the delta between the supplied Snapshot and the current heap state.
vThat  the snapshot to compare against.
a snapshot containing the delta

virtual int64_t  getObjectCount () const
  Return the number of registered objects.
the number of registered objects

virtual void  toStream (std::ostream &out) const
  Output a human-readable description of this Object to the given stream.

coherence::lang::operator<<(std::ostream, Object::View) is defined and will call into the toStream method, to output Objects. If a managed String object is desired, the COH_TO_STRING macro can be used to build up a String from streamable contents.

 Object::View vKey   = ...
 Object::View vValue = ...
 std::cout << vKey << " = " << vValue << std::endl;

 String::Handle hs = COH_TO_STRING(vKey << " = " << vValue);
out  the stream used to output the description

Protected Member Functions

  ObjectCountHeapAnalyzer ()
  Create a new ObjectCountHeapAnalyzer.
virtual void  registerObject (const Object &o)
  Register a newly created Object with the system.

This method is called automatically by coherence::lang::Object once the Object has finished construction.

o  the newly created Object.

virtual void  unregisterObject (const Object &o)
  Unregister an Object with the system.

This method is called automatically by coherence::lang::Object just prior to the deletion of the Object. No new handles or views may be created to the object.

o  the Object to unregister

Protected Attributes

coherence::native::NativeAtomic64  m_acObjects [s_cCount]
  Array of object counts.

Static Protected Attributes

static const size_t  s_cCount
  The size of the array of counters.


class   Snapshot
  Snapshot containing the object count. More...

Constructor & Destructor Documentation

ObjectCountHeapAnalyzer (  )  [protected]

Create a new ObjectCountHeapAnalyzer.

the analyzer

The documentation for this class was generated from the following file:
Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.