jdk/src/share/classes/sun/management/snmp/jvminstr/README
author mchung
Tue, 17 Jan 2012 15:55:40 -0800
changeset 11530 a9d059c15b80
parent 2 90ce3da70b43
permissions -rw-r--r--
7117570: Warnings in sun.mangement.* and its subpackages Reviewed-by: mchung, dsamersoff Contributed-by: kurchi.subhra.hazra@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
#==============================================================================
90ce3da70b43 Initial load
duke
parents:
diff changeset
     2
#          JVM Management MIB - Instrumentation Classes
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
#==============================================================================
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
In this directory:
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
------------------
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
README:              this file
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
commands.env:        a file containing some ksh variables & functions
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
                     that I have used to generate & compile all the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
                     stuff. Probably only valid in my own environment.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
logging.properties:  logging.properties file that can be used to obtain
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
                     trace information.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
*.java:              utility and custom classes for the JVM Management MIB.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
                     These classes show how to provide instrumentation for
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
                     a mibgen generated MIB, how to simulate virtual tables,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
		     and how to make use of the SnmpUserDataFactory.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
		     Only the jvmMemory group and its tables are instrumented.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
Dependency
90ce3da70b43 Initial load
duke
parents:
diff changeset
    21
----------
90ce3da70b43 Initial load
duke
parents:
diff changeset
    22
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
    jvmManagementMib.txt : the JVM Management MIB module in compilable form.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
    Tiger SNMP Runtime   : SNMP Runtime classes for Tiger. We assume these
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
                           classes could be part of the JMX delivery
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
                           (classes in com.sun.jmx.snmp.*)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
    JDMK 5.1 : The jdmktk.jar contains the com.sun.jdmk.tools.MibGen class
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
               used to compile the MIB. JDMK also has a mibgen.sh script
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
               to start mibgen. By default mibgen generates code that can
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
               integrate with JDMK SNMP runtime. In order to generate
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
               code that integrate with Tiger SNMP runtime, you need to
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
	       start mibgen with a non-default resource file. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
               JDMK 5.1 workspace contains a mibgen resource file
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
               specific for tiger: mibgen.property.tiger 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
    Custom Instrumentation Code: the files in this directory.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
How to proceed:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
---------------
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
Get mibgen from JDMK 5.1. Start mibgen with mibgen resource file for
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
tiger (add -Dcom.sun.jdmk.tools.mibgen.config.file=<mibgen.properties.tiger>)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
on the Java command line.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
Use mibgen to generate code for the jvmManagementMib.txt file. Note that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
the custom classes provided in this directory are all in the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
sun.management.snmp.jvminstr package, and expect the generated classes to
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
be in another sun.management.snmp.jvmmib package (use mibgen option 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
-tp sun.management.snmp.jvmmib)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
If this package name does not suit you, simply change it to something else,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
both in the custom classes below (you might use 'sed' or do it manually) 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
and in the -tp option that you will pass to mibgen.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
It is recommended to generate all classes in a different directory (if
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
you read command.env you will see that I have put the custom classes
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
in a "custom" directory, and the generated classes in a "parsed" 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
directory. This makes it easier to cleanup the mib. You can safely
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
do a rm -rf <parsed> and call mibgen again.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
Then compile the generated classes - you will need JMX and Tiger SNMP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
runtime classes in your classpath - if you compile with a tiger build that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
already have them then you don't need to specify anything special.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
Then make your classpath point to the compiled generated classes, and
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
compile the custom code in this directory.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
Then you can use the SnmpDaemonTest class to start a JVM with the
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
intsrumented MIB, and you can use e.g. the easymanager contrib of
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
JDMK to view the MIB through SNMP. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
#==============================================================================
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
#  Classes Details
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
#==============================================================================
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
Utility Classes developped for the JVM Management MIB:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
------------------------------------------------------
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
JvmContextFactory.java        : The context factory allocates a Map that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
                                serves as request contextual cache.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
                                Values obtained from JSR 163 API can be
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
                                cached in this object.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
                                A request contextual cache is allocated
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
                                each time a request is being processed,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
                                and is released at the end of processing.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
				Object: 1) preserve atomicity
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
                                        2) minimize API calls
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
					3) ensure consistency of the
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
					   various pieces of data returned.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
MibLogger.java                : Send traces to java.util.logging
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
SnmpTableHandler.java         : an interface used to access table data.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
SnmpCachedData.java           : This object can be use to cache a snapshot
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
                                of the data contained in a table. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
SnmpTableCache.java           : A weak cache for table data. The data is
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
                                computed on demand and cached in a 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
                                weakreference. Makes it possible to specify
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
                                a validity period for the cache data.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
SnmpListTableCache.java       : Extends SnmpTableCache - for tables whose
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
                                data is returned in a List object.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
SnmpNamedListTableCache.java  : Extends SnmpListTableCache - for tables whose
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
                                elements can be named by a unique string.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
SnmpDaemonTest.java           : A dummy standalone SNMP agent that registers
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
                                the JVM Managemnt MIB in Tiger's SNMP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
                                adaptor.  This is the "main". Note that
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
                                this not the class that will be used to
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
			        start the adaptor in the final Tiger - it is
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
                                just a dummy test main.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
JVM Management MIB
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
------------------
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
JVM_MANAGEMENT_MIB_IMPL.java  : subclasses the generated JVM_MANAGEMENT_MIB
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
                                class. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
				Object: overriding factory method in order
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
                                        to instantiate custom code instead
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
				        of generated code.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
JVM Memory Group
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
----------------
90ce3da70b43 Initial load
duke
parents:
diff changeset
   126
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
JvmMemoryImpl.java            : Provides instrumentation for the jvmMemory
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
                                group. Replaces the generated JvmMemory class,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
                                which is not used and can be thrown away.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
                                Implements the generated JvmMemoryMBean 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
                                interface (which was also implemented by
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
                                the generated JvmMemory skeleton class)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
                                Use  the request contextual cache
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
				in order to ensure consistency when
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
				returning MemoryUsage datas. Note that all
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
                                tables in this group have been implemented
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
                                as virtual tables. As a consequence, the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
                                generated TableJvmMemXXXXXTable.java classes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
                                are not needed.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
JvmMemoryMetaImpl.java        : Custom MetaData class for the jvmMemory group.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
			        Subclasses the generated JvmMemoryMeta class.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
                                Object: overrides the factory methods in order
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
                                        to instantiate custom meta data classes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
                                        for the jvmMemManagerTable,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
						jvmMemGCTable,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
						jvmMemPoolTable,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
						jvmMemMgrPoolRelTable.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
JVM Memory Manager Table
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
------------------------
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
JvmMemManagerTableMetaImpl.java : Custom MetaData class for the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
                                  jvmMemManagerTable. This MetaData traps
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
				  all the SNMP Runtime calls made to the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
                                  table - in order to make the Memory Manager
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
				  table virtual: i.e. the table does not have
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
				  to be maintained permanently in memory.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
				  Instead, the table is computed "on demand",
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
                                  and the data is cached in a weak cache
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
                                  (see SnmpNamedListTableCache) which remains
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
				  valid for a few ms. If the data is found
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
				  to be obsolete, or was garbage collected,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
				  the table is recomputed.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
JvmMemManagerEntryImpl.java     : Custom Entry class for jvmMemManagerTable.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
				  Entries are created on the fly when it
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
				  becomes necessary to get data from a 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
				  Memory Managers. They are temporary objects
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
				  that wrap the MemoryManager just for the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
			          call duration - and are released just after. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
JVM Memory GC Table
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
-------------------
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
JvmMemGCTableMetaImpl.java     : Custom MetaData class for the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
                                 jvmMemGCTable. This MetaData traps
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
				 all the SNMP Runtime calls made to the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
                                 table - in order to make the GC
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
				 table virtual: the GC table reuses the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
			         cached data computed for the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
                                 jvmMemManagerTable - simply acting as a 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
                                 filter that only shows those elements that
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
                                 are instance of GarbageCollectorMetrics. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   185
                                 In other words it implements a fitered view
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
                                 of the jvmMemManagerTable.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
JvmMemGCEntryImpl.java         : Provide access to the data specific to
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
				 GarbageCollectorMetrics objects. Objects
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
				 of this classes are created on the fly,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
				 when data needs to be returned from a 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   192
				 GarbageCollectorMetrics object, and are
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
                                 released just after. They are not kept in
90ce3da70b43 Initial load
duke
parents:
diff changeset
   194
				 memory.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
JVM Memory Pool Table
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
---------------------
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
JvmMemPoolTableMetaImpl.java   : Custom MetaData class for the jvmMemPoolTable.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
			         This is quite similar to what was done for
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
                                 the jvmMemManagerTable in 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
                                 JvmMemManagerTableMetaImpl. Most of the code
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
                                 here was obtain by cut&paste-ing from
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
                                 JvmMemManagerTableMetaImpl and replacing
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
                                 "Manager" with "Pool".
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
JvmMemPoolEntryImpl.java       : Provide access to the data specific to
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
				 MemoryPoolMetrics objects. Objects
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
				 of this classes are created on the fly,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
				 when data needs to be returned from a 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
				 MemoryPoolMetrics object, and are
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
                                 released just after. They are not kept in
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
				 memory. Use  the request contextual cache
90ce3da70b43 Initial load
duke
parents:
diff changeset
   214
				 in order to ensure consistency when
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
				 returning MemoryUsage datas. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
90ce3da70b43 Initial load
duke
parents:
diff changeset
   217
JVM Memory Manager / Memory Pool Relation  Table
90ce3da70b43 Initial load
duke
parents:
diff changeset
   218
------------------------------------------------
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
90ce3da70b43 Initial load
duke
parents:
diff changeset
   221
JvmMemMgrPoolRelTableMetaImpl.java : Custom MetaData class for the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
                                 jvmMemMgrPoolRelTable. This meta data
90ce3da70b43 Initial load
duke
parents:
diff changeset
   223
			         uses the JvmMemManagerTableMetaImpl and
90ce3da70b43 Initial load
duke
parents:
diff changeset
   224
                                 JvmMemPoolTableMetaImpl in order to 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   225
                                 find out the content of the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   226
			         jvmMemManagerTable and the mapping between 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   227
				 Memory Pool Name and Memory Pool Index.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   228
				 For each element of the jvmMemManagerTable
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
                                 it calls the JSR 163 APIs to find the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
				 related Memory Pool, then finds out their
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
				 index, and then creates the corresponding
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
				 row in the jvmMemMgrPoolRelTable cached data.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   233
				 Like all the other tables, this table is
90ce3da70b43 Initial load
duke
parents:
diff changeset
   234
				 virtual: the data is kept on a weak cache
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
				 and recomputed on demand, if its validity
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
				 as expired or if it has been gc'ed.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
JvmMemMgrPoolRelEntryImpl.java : A simple couple MemoryManager/MemoryPool.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   239
                                 Models a row in the jvmMemMgrPoolRelTable.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   240
				 Objects of this type are cached in the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   241
				 jvmMemMgrPoolRelTable cached data.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   242
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
#==============================================================================
90ce3da70b43 Initial load
duke
parents:
diff changeset
   244
#==============================================================================