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, 2011, Oracle and/or its affiliates. All rights reserved.