Managing Oracle Coherence
Managing Oracle Coherence
Managing Oracle Coherence
12c (12.2.1.4.0)
E90864-12
February 2023
Oracle Fusion Middleware Managing Oracle Coherence, 12c (12.2.1.4.0)
E90864-12
This software and related documentation are provided under a license agreement containing restrictions on
use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your
license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license,
transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse
engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is
prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If
you find any errors, please report them to us in writing.
If this is software, software documentation, data (as defined in the Federal Acquisition Regulation), or related
documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S.
Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software,
any programs embedded, installed, or activated on delivered hardware, and modifications of such programs)
and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end
users are "commercial computer software," "commercial computer software documentation," or "limited rights
data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental
regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation
of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated
software, any programs embedded, installed, or activated on delivered hardware, and modifications of such
programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and
limitations specified in the license contained in the applicable contract. The terms governing the U.S.
Government's use of Oracle cloud services are defined by the applicable contract for such services. No other
rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications.
It is not developed or intended for use in any inherently dangerous applications, including applications that
may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you
shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its
safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this
software or hardware in dangerous applications.
Oracle®, Java, and MySQL are registered trademarks of Oracle and/or its affiliates. Other names may be
trademarks of their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are
used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc,
and the AMD logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered
trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products,
and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly
disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise
set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be
responsible for any loss, costs, or damages incurred due to your access to or use of third-party content,
products, or services, except as set forth in an applicable agreement between you and Oracle.
Contents
Preface
Audience viii
Documentation Accessibility viii
Diversity and Inclusion viii
Related Documents ix
Conventions ix
iii
Configuring Management Refresh 2-6
Setting the Management Refresh Expiry 2-6
Setting the Management Refresh Policy 2-7
Setting the Management Refresh Timeout 2-7
Using an Existing MBean Server 2-8
Accessing Oracle Coherence MBeans 2-9
Accessing MBeans Locally Using VisualVM 2-9
Accessing MBeans Locally Using the JConsole Utility 2-10
Allowing Remote Access to Oracle Coherence MBeans 2-12
Accessing MBeans Using the HTML Adapter Application 2-13
Accessing Coherence MBeans by Using WLST 2-14
Setting Up the Oracle Coherence MBean Connector 2-14
Accessing Management Information Using REST 2-15
Enabling the HTTP Management Server 2-16
Connecting to Management Resources 2-17
Changing the HTTP Management Server Address 2-19
Using the Coherence-JVisualVM Plug-In 2-20
Install the Coherence-JVisualVM Plug-In 2-21
Monitor a Coherence Cluster Using the Coherence-JVisualVM Plug-in 2-21
Overview of Coherence-JVisualVM Plug-in Tabs 2-22
Configure the Coherence-JVisualVM Plug-In to Use REST 2-24
Monitoring Managed Coherence Servers with the Coherence-JVisualVM Plug-in 2-25
Changing the Coherence-JVisualVM Plug-in Refresh Interval 2-26
iv
Using Metrics System Properties 4-3
Coherence Metrics System Properties 4-3
Other Metrics System Properties 4-4
Configuring Prometheus to Scrape Coherence Metrics Endpoint 4-4
Visualizing Metrics in Grafana 4-4
Querying for Coherence Metrics 4-5
Basic Querying 4-5
Querying for Specific Metrics 4-5
Adding Custom Metrics 4-6
Creating a Web Application to Access Coherence Metrics in Fusion Middleware Domains 4-7
v
Function Examples 6-10
Using Aggregates in Reports 6-12
Constructing Delta Functions 6-13
Delta Function Examples 6-13
Creating Custom Report Group Configuration Files 6-14
Specifying the Report Refresh Frequency 6-14
Specifying the Output Directory for Reports 6-14
Specifying the Report List 6-15
Configuring Custom Reports to Generate 6-16
vi
ConnectionManager MBean A-13
Connection MBean A-14
Destination MBean A-16
FederationManager MBean A-20
FlashJournalRM MBean A-21
Management MBean A-23
Origin MBean A-24
PersistenceManager MBean A-25
PointToPoint MBean A-27
RamJournalRM A-30
Reporter MBean A-31
Service MBean A-33
SimpleStrategy MBean A-39
StorageManager MBean A-41
Topology MBean A-45
TransactionManager MBean A-45
vii
Preface
Preface
Managing Oracle Coherence describes how to manage Oracle Coherence using Java
Management Extensions (JMX) Managed Beans (MBeans) and Oracle Coherence
reports.
This preface includes the following sections:
• Audience
• Documentation Accessibility
• Diversity and Inclusion
• Related Documents
• Conventions
Audience
This guide is intended for the following audiences:
• Primary Audience – Application developers and administrators who want to learn
how to manage an Oracle Coherence Environment
• Secondary Audience – System architects who want to understand the options and
architecture for managing Oracle Coherence
The audience must be familiar with Java and JMX to use this guide effectively. In
addition, the examples in this guide require the installation and use of the Oracle
Coherence product.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle
Accessibility Program website at http://www.oracle.com/pls/topic/lookup?
ctx=acc&id=docacc.
viii
Preface
initiative to build a more inclusive culture that positively impacts our employees, customers,
and partners, we are working to remove insensitive terms from our products and
documentation. We are also mindful of the necessity to maintain compatibility with our
customers' existing technologies and the need to ensure continuity of service as Oracle's
offerings and industry standards evolve. Because of these technical constraints, our effort to
remove insensitive terms is ongoing and will take time and external cooperation.
Related Documents
For more information, see the following documents in the Oracle Coherence documentation
set:
• Administering HTTP Session Management with Oracle Coherence*Web
• Administering Oracle Coherence
• Developing Applications with Oracle Coherence
• Developing Remote Clients for Oracle Coherence
• Installing Oracle Coherence
• Integrating Oracle Coherence
• Securing Oracle Coherence
• Java API Reference for Oracle Coherence
• C++ API Reference for Oracle Coherence
• .NET API Reference for Oracle Coherence
• Release Notes for Oracle Coherence
Conventions
The following text conventions are used in this document:
Convention Meaning
boldface Boldface type indicates graphical user interface elements associated with an
action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for which
you supply particular values.
monospace Monospace type indicates commands within a paragraph, URLs, code in
examples, text that appears on the screen, or text that you enter.
ix
What's New in This Guide
x
What's New in This Guide
xi
What's New in This Guide
• Updated the Cache Usage report to include new report metrics. See
Understanding the Cache Usage Report.
• Updated the Service report to include new report metrics. See Understanding the
Service Report.
xii
1
Introduction to Oracle Coherence
Management
Oracle Coherence management is critical to the success of developing and deploying
Coherence solutions. Understanding how Coherence management is implemented and what
capabilities it offers is an important first step when learning how to manage a Coherence
solution.
Coherence management is implemented using Java Management Extensions (JMX). JMX is
a Java standard for managing and monitoring Java applications and services. If you are new
to JMX, see Introduction to JMX Technology in Java Management Extensions (JMX)
Technology Overview.
This chapter includes the following sections:
• Conceptual Overview of Oracle Coherence Management
• Management Reporting in Oracle Coherence
• Overview of Management Configuration
• Managing Oracle Coherence with Oracle WebLogic Server
Oracle WebLogic Server includes an Oracle Coherence integration which standardizes
how Oracle Coherence is managed within an Oracle WebLogic Server domain. The
integration makes Oracle Coherence a subsystem of Oracle WebLogic Server and allows
Oracle Coherence environments to be managed using Oracle WebLogic Server tools.
• Managing Oracle Coherence with Fusion Middleware Control
• Managing Oracle Coherence with Oracle Enterprise Manager
Oracle Enterprise Manager Cloud Control includes the Management Pack for Oracle
Coherence, which is used to manage and monitor Oracle Coherence clusters. The
management pack helps administrators actively monitor the performance of their clusters
and reduces the time needed to identify and diagnose performance problems within their
application environments.
• Managing Oracle Coherence with Oracle Command-Line Interface
The Oracle Coherence command-line interface (CLI), cohctl, is a lightweight tool using
that can be scripted or used interactively to manage and monitor Coherence clusters.
1-1
Chapter 1
Conceptual Overview of Oracle Coherence Management
Custom MBeans
Custom MBeans can be managed and monitored within the management framework.
Custom MBeans are any dynamic or standard MBeans that are specific to an
application. The MBeans are registered either declaratively in an XML file or
programmatically using the Registration interface. Registering custom MBeans
allows application MBeans to be managed or monitored from any JVM, member, or
end-point within the cluster. See Registering Custom MBeans.
MBean Consoles
Any MBean-capable console can interact with Oracle Coherence MBeans. The Java
VisualVM console and the Java Monitoring & Management Console (JConsole) that
are distributed with the JDK are common choices. Support is also provided for the
JMX HTML Adapter Web Application that is included as part of the JMX reference
implementation. See Accessing Oracle Coherence MBeans.
1-2
Chapter 1
Management Reporting in Oracle Coherence
Many predefined reports are provided. See Analyzing Report Contents. The predefined
reports can be customized or new reports can be created as required. Reporting functionality
is disabled by default and must be explicitly enabled. In addition, only a subset of the reports
are initially configured to be generated. See Using Oracle Coherence Reporting.
1-3
Chapter 1
Managing Oracle Coherence with Oracle WebLogic Server
descriptor specifies the operational and run-time settings for a cluster and includes
management services. The management settings are defined within the
<management-config> node. See management-config in Developing Applications
with Oracle Coherence.
• MBean configuration override File – The custom-mbeans.xml file is the default
MBean configuration override file. It declaratively defines custom MBeans. Custom
MBeans can also be defined within the operational override file. However, the
MBean configuration override file is typically used instead.
• Report configuration files – A report configuration file defines a report and results
in the creation of a report file that displays management information for a particular
set of metrics. Report configuration files must be referenced in a report group
configuration file to be used at run time. The default report configuration files are
located in the /reports directory of the coherence.jar library file and are
referenced by the default report group configuration file. Custom report
configuration files can be created as required. See Report File Configuration
Elements for details about the report file configuration elements.
• Report group configuration file – A report group configuration file lists the name
and location of report definition files and the output directory where reports are
written. The name and location of this file is defined in the operational deployment
descriptor. By default, the report-group.xml file is used and is located in the /
reports directory of the coherence.jar library file. Additional report group
configuration files are provided. In addition, custom report group files can be
created as required. See Report Group Configuration Elements for details about
the report group configuration elements.
• Management invocation service file – The management-config.xml file configures
the management invocation service instance that is used by the Oracle Coherence
JMX management framework. The file is located in the root of the coherence.jar
library file and can be overridden by placing another management-config.xml file
in the classpath before the coherence.jar library file. This configuration file is not
defined by an XSD. The file must have a <config> root element and supports the
same subelements that are available for an <invocation-scheme> element. See
invocation-scheme in Developing Applications with Oracle Coherence.
To learn more about Coherence configuration, see Understanding Configuration in
Developing Applications with Oracle Coherence.
1-4
Chapter 1
Managing Oracle Coherence with Oracle WebLogic Server
mkdir CohManagement
2. Go to the web application directory, and then create META-INF and WEB-INF directories.
3. Add the following web.xml and weblogic.xml to WEB-INF. You may rename the
<context-root>, if required. In this example, cohmgmt is the <context-root>.
web.xml
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>coherence.management.rest.Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-
class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-
value>com.tangosol.coherence.management.internal.ManagementResourceConfig<
/param-value>
</init-param>
</servlet>
<servlet-mapping>
1-5
Chapter 1
Managing Oracle Coherence with Fusion Middleware Control
<servlet-name>coherence.management.rest.Application</servlet-
name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
weblogic.xml
<weblogic-web-app
xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-
app">
<context-root>cohmgmt</context-root>
</weblogic-web-app>
4. Build the web application .war file. Go to the parent directory of the web
application and use the following command to create the .war file:
5. Deploy the .war file to a managed Coherence server that has an MBean proxy
server running.
To query the Coherence MBeans through the web application, use the managed
Coherence server's (WebLogic server) listening port.
For example, if the WebLogic server is listening on port 7010, the URL to query the
stats for all the caches will be:
http://<Host>:7010/cohmgmt/management/coherence/cluster/caches
1-6
Chapter 1
Managing Oracle Coherence with Oracle Enterprise Manager
1-7
2
Using JMX to Manage Oracle Coherence
JMX management is enabled and configured using cluster operational settings. Once
configured, you can access Oracle Coherence MBeans using tools such as VisualVM and
JConsole. Management information is also accessible using REST.
This chapter includes the following sections:
• Configuring JMX Management
• Accessing Oracle Coherence MBeans
• Accessing Management Information Using REST
You can use HTTP to access Coherence MBeans that are exposed as REST resources.
REST enables a broad range of clients to access management information.
• Using the Coherence-JVisualVM Plug-In
2-1
Chapter 2
Configuring JMX Management
You can find the JMX service URL by querying the NameService service on any cluster
member using the com.tangosol.discovery.NSLookup class. The class has a
command line interface or you can call the lookupJMXServiceURL method. For
example:
All cluster members can potentially be selected as the JMX cluster member. To specify
that a cluster member should be excluded from being selected as the JMX member,
set the <managed-nodes> element to none. For example:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-
config
coherence-operational-config.xsd">
<management-config>
<managed-nodes system-property="coherence.management">none
</managed-nodes>
</management-config>
</coherence>
The default value if no value is specified is dynamic and indicates that a cluster
member can become the JMX cluster member.
The coherence.management system property also excludes a cluster member from
being selected as the JMX cluster member. For example:
-Dcoherence.management=none
2-2
Chapter 2
Configuring JMX Management
Note:
By default, Coherence is configured to use dynamic management mode and a JMX
cluster member is automatically selected. Dynamic management is a recommended
best practice. See Using Dynamic Management Mode. These instructions allow you
to explicitly configure JMX cluster members. However, cluster members that are not
configured as the JMX cluster member must be explicitly disabled from being
dynamically selected as the JMX cluster member. See Disabling JMX Management.
In smaller clusters, a common practice is to have dedicated JMX JVMs on two existing
cluster members to ensure fault tolerance. In very large clusters, it is often practical to have
two computers that are dedicate solely for JMX; however, this is not always necessary.
To enable remote JMX management on a cluster member, set the <managed-nodes> element
to all or remote-only. For example:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
coherence-operational-config.xsd">
<management-config>
<managed-nodes system-property="coherence.management">all
</managed-nodes>
</management-config>
</coherence>
The remote-only setting starts an MBean server that manages only remote MBeans. The
all setting starts an MBean server that manages remote MBeans and local (within the same
JVM) MBeans.
The coherence.management system property also enables remote JMX management. For
example:
-Dcoherence.management=all
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
coherence-operational-config.xsd">
<management-config>
2-3
Chapter 2
Configuring JMX Management
<managed-nodes system-property="coherence.management">local-only
</managed-nodes>
</management-config>
</coherence>
The coherence.management system property also enables local JMX management. For
example:
-Dcoherence.management=local-only
The argument automatically sets the management system properties, which can be
changed as required within the script. The default settings are the following:
-Dcoherence.management=all
-Dcoherence.management.remote=true
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-
config
coherence-operational-config.xsd">
<management-config>
<allow-remote-management
system-property="coherence.management.remote">false
</allow-remote-management>
</management-config>
</coherence>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2-4
Chapter 2
Configuring JMX Management
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
coherence-operational-config.xsd">
<management-config>
<managed-nodes system-property="coherence.management">none</managed-nodes>
</management-config>
</coherence>
Disabling JMX management on a member does not stop the member from being remotely
managed. You must also set the <allow-remote-management> to false. The following
example disables JMX management and stops the member from being remotely managed:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
coherence-operational-config.xsd">
<management-config>
<managed-nodes system-property="coherence.management">none</managed-nodes>
<allow-remote-management
system-property="coherence.management.remote">false
</allow-remote-management>
</management-config>
</coherence>
Filtering MBeans
The Oracle Coherence management framework provides the ability to filter MBeans before
they are registered in the MBean server. An out-of-the-box MBean filter is provided, and
custom filters can be created as required. The included MBean filter
(com.tagosol.net.management.ObjectNameExcludeFilter) excludes MBeans from being
registered based on their JMX object name using standard regex patterns. For example, the
pattern .*type=Service,name=Management,.* excludes MBeans with type=Service and
name=Management. As configured out of the box, the filter excludes some platform MBeans
from being registered in the management framework. MBean filters are defined using the
<mbean-filter> element.
2-5
Chapter 2
Configuring JMX Management
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-
config
coherence-operational-config.xsd">
<management-config>
<refresh-policy
system-property="coherence.management.refresh.policy">
refresh-ahead</refresh-policy>
<refresh-expiry
system-property="coherence.management.refresh.expiry">1s
</refresh-expiry>
<refresh-timeout
system-property="coherence.management.refresh.timeout">300ms
</refresh-timeout>
</management-config>
</coherence>
The first non-digits (from left to right) indicate the unit of time duration:
• MS or ms (milliseconds)
• S or s (seconds)
• M or m (minutes)
• H or h (hours)
2-6
Chapter 2
Configuring JMX Management
• D or d (days)
A unit of milliseconds is assumed if the value does not contain a unit. The default value is 1s.
Setting Description
refresh-ahead (default) Refreshes MBeans before they are requested based on prior
usage patterns after the expiry delay has passed. This setting can
reduce latency of the management information with a minor
increase in network consumption. This setting is best when
MBeans are accessed in a repetitive or programmatic pattern.
refresh-behind Refreshes each MBean after the data is accessed. This method
ensures optimal response time. However, the information returned
is offset by the last refresh time.
refresh-expired Refreshes each MBean from the remote member when the
MBean is accessed and the expiry delay has passed from the last
refresh. This setting is best used when MBeans are accessed in a
random pattern.
The first non-digits (from left to right) indicate the unit of time duration:
• MS or ms (milliseconds)
• S or s (seconds)
• M or m (minutes)
• H or h (hours)
• D or d (days)
2-7
Chapter 2
Configuring JMX Management
A unit of milliseconds is assumed if the value does not contain a unit. The default
value is 250ms.
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-
config
coherence-operational-config.xsd">
<management-config>
<managed-nodes system-property="coherence.management">all
</managed-nodes>
<default-domain-name>MyDomainName</default-domain-name>
</management-config>
</coherence>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-
config
coherence-operational-config.xsd">
<management-config>
<managed-nodes system-property="coherence.management">all
</managed-nodes>
<default-domain-name>MyDomainName</default-domain-name>
<server-factory>
<class-name
system-property="coherence.management.serverfactory">
2-8
Chapter 2
Accessing Oracle Coherence MBeans
package.MyMBeanServerFinder</class-name>
<init-params>
<init-param>
<param-type>int</param-type>
<param-value>0</param-value>
</init-param>
</init-params>
</server-factory>
</management-config>
</coherence>
2-9
Chapter 2
Accessing Oracle Coherence MBeans
2-10
Chapter 2
Accessing Oracle Coherence MBeans
4. Click Connect.
5. From the Java Monitoring & Management Console window, select the MBeans tab and
expand the Coherence node to access the MBeans.
2-11
Chapter 2
Accessing Oracle Coherence MBeans
2-12
Chapter 2
Accessing Oracle Coherence MBeans
3. After the cache factory instance starts, enter jmx 8082 at the command prompt. This
starts an HTTP adapter at port 8082 on the cluster member.
4. Using a Web browser, access the adapter by using the host name and port 8082 for the
address as shown in the following screen:
2-13
Chapter 2
Accessing Oracle Coherence MBeans
2-14
Chapter 2
Accessing Management Information Using REST
To allow access by using JMX RMI, include the -rmi argument. To allow access by using
HTTP and a Web browser, include the -http argument. Both arguments may be included;
however, at least one must be present for the member to start.
Table 2-2 describes optional properties for JMX RMI configuration.
Table 2-2 Optional Properties That Can Be Used for JMX RMI Configuration
Property Description
tangosol.coherence.management.remote.ho The host to which the JMX server binds. The
st default value is localhost. On Linux, the value
may have to be changed to the host name or IP
address.
tangosol.coherence.management.remote.re The port used for the JMX RMI registry. The
gistryport default value is 9000.
tangosol.coherence.management.remote.co The port used for the JMX RMI connection. The
nnectionport default value is 3000.
Table 2-3 Optional Properties That Can Be Used for Http Configuration
Property Description
tangosol.coherence.management.remote.ht The port used for the HTTP connection. The
tpport default value is 8888.
To connect to the MBean server using JConsole with the default settings, use the following
command:
jconsole service:jmx:rmi://localhost:3000/jndi/rmi://localhost:9000/server
To connect to the MBean server using HTTP with the default settings, use the following URL:
http://localhost:8888
Note:
See the JMX Agent documentation to set up secure access using authentication
and Secure Socket Layer (SSL):
Monitoring and Management Using JMX Technology in Java SE Monitoring and
Management Guide.
2-15
Chapter 2
Accessing Management Information Using REST
<artifactId>management</artifactId>
<groupId>management</groupId>
<version>12.2.1-4-0</version>
<name>Coherence Management Over REST dependencies</name>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>com.oracle.coherence</groupId>
<artifactId>coherence-management</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>jdk11</id>
<properties>
<com.sun.xml.bind.version>2.3.0</com.sun.xml.bind.version>
2-16
Chapter 2
Accessing Management Information Using REST
<javax.activation.version>1.1.1</javax.activation.version>
</properties>
<dependencies>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>${com.sun.xml.bind.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>${com.sun.xml.bind.version}</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>${javax.activation.version}</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${com.sun.xml.bind.version}</version>
</dependency>
</dependencies>
</profile>
</profiles>
</project>
All the required libraries are automatically downloaded. To see the complete list of libraries,
run the following Maven command:
mvn dependency:list
2-17
Chapter 2
Accessing Management Information Using REST
Response:
{
"links": [{
"rel": "parent",
"href": "http://127.0.0.1:63660/management/coherence"
}, {
"rel": "self",
"href": "http://127.0.0.1:63660/management/coherence/cluster"
}, {
"rel": "canonical",
"href": "http://127.0.0.1:63660/management/coherence/cluster"
}, {
"rel": "services",
"href": "http://127.0.0.1:63660/management/coherence/cluster/
services"
}, {
"rel": "caches",
"href": "http://127.0.0.1:63660/management/coherence/cluster/
caches"
}, {
"rel": "members",
"href": "http://127.0.0.1:63660/management/coherence/cluster/
members"
}, {
"rel": "management",
"href": "http://127.0.0.1:63660/management/coherence/cluster/
management"
}, {
"rel": "journal",
"href": "http://127.0.0.1:63660/management/coherence/cluster/
journal"
}, {
"rel": "hotcache",
"href": "http://127.0.0.1:63660/management/coherence/cluster/
hotcache"
}, {
"rel": "webApplications",
"href": "http://127.0.0.1:63660/management/coherence/cluster/
webApplications"
}],
"refreshTime": "2018-12-12T18:04:34.225-05:00",
"licenseMode": "Development",
"clusterSize": 1,
"localMemberId": 1,
2-18
Chapter 2
Accessing Management Information Using REST
"version": "19.1.0.0.0",
"running": true,
"clusterName": "MyCluster",
"membersDeparted": [],
"memberIds": [1],
"membersDepartureCount": 0,
"members": ["Member(Id=1, Timestamp=2018-12-12 18:01:38.132,
Address=127.0.0.1:63621, MachineId=46461,
Location=site:Burlington,rack:100A,process:12124,member:COH-001, Role=Cache
Server)"],
"oldestMemberId": 1,
"type": "Cluster"
}
For a detailed reference of the REST API, see REST API for Managing Oracle Coherence.
Note:
If multiple coherence cache servers with HTTP management server configured with
<http-managed-nodes> element set to all and are started on same machine, the
coherence.management.http.port must be unique for each server. Otherwise, the
subsequent ones with same coherence.management.http.port value will get an
address which is already in use resulting in an error in starting up the HTTP
management server. The coherence cache server will start up, but the HTTP
management server will only be available on one coherence cache server on that
machine.
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-
operational-config
coherence-operational-config.xsd">
<management-config>
<http-managed-nodes system-property="coherence.management.http">all
</http-managed-nodes>
2-19
Chapter 2
Using the Coherence-JVisualVM Plug-In
</management-config>
</coherence>
-Dcoherence.management.http=all
Specify the address and port of the HTTP management server using the following
system properties:
-Dcoherence.management.http.address
-Dcoherence.management.http.port
Note:
2-20
Chapter 2
Using the Coherence-JVisualVM Plug-In
Note:
Enlarge the VisualVM window to at least 1280x800 in order to view all data. In
addition, you can use the zoom system property to enable zooming of all
graphs. Zooming allows closer inspection of a timeframe on a graph after
VisualVM has been running for a long period of time. To enable zooming,
specify the following system property when starting VisualVM:
-J-Dcoherence.jvisualvm.zoom.enabled=true
2-21
Chapter 2
Using the Coherence-JVisualVM Plug-In
Tab Description
Cluster Overview Displays high-level information about the cluster including the cluster name, version,
member count, and high availability status. Summary graphs are aggregated from the
other tabs and show the total cluster memory available and used, load averages for
cluster machines, and packet publisher and receiver success rates.
Use the Cluster Overview tab to get a quick snapshot of how the cluster is operating
and to identify potential performance and high availability issues.
Machines Displays a list of the physical servers that are in the cluster and includes a memory
profile for each server. A summary graph shows the average load on these servers.
Use the Machine tab to monitor the load on each server and to identify any servers
that are in danger of using all of their available memory.
Members Displays a list of all cluster members, their address and role in the cluster, and
includes both publisher and receiver success rates, heap memory usage, and send
queue sizes. A summary graph shows the total cluster memory available and used.
Right-click a member row and select Show details to view a complete list of statistics
or select Report node state to get a full thread dump for the node.
Use the Members tab to monitor cluster membership and to identify and diagnose
potential memory issues for both a member and the cluster as a whole.
2-22
Chapter 2
Using the Coherence-JVisualVM Plug-In
Tab Description
Services Displays information about cluster services including service partition counts and
statusHA values. Select a service to see detailed thread information for each node of
the service as well as graphs of that information after the next data refresh. Right-
click a service to view service partition statistics.
Raw data for service thread performance is included to the left of the graph. Right-
click a node row and select Show details to view a complete list of statistics.
Use the Services tab to monitor services in the cluster and to identify potential
performance issues with service threads.
Caches Displays information about cluster caches including size and memory usage. To get
the correct information to be displayed for memory usage, the backing map scheme
for a cache must be configured to use the Binary unit calculator. The default unit
calculator is Fixed if no unit calculator is defined. Select a cache to see detailed
information on the next data refresh. If a near cache is selected, then additional
statistics are available for the front cache. Right-click a node row and select Show
details to view a complete list of either cache size and access statistics or cache
storage statistics depending on which tab is active, respectively.
Use the Caches tab to get a detailed view of cache statistics and to identify potential
performance issues with cache queries.
Federation Displays information about federated services in the context of the current participant
cluster of the federated service. Each participant cluster to which the current
participant cluster is connected is listed. Select a cluster participant to view
performance statistics related to the members of the current cluster participant. Both
outbound and inbound statistics are provided depending on whether the current
participant is configured to send, receive, or send and receive data. Select a specific
cluster member to see its bandwidth utilization and its replication statistics.
Use the Federation tab to monitor federated participants and to identify potential
performance issues among federated participants.
The Federation tab supports performing federation operations. Right-click a cluster
participant to view a list of operations that can be selected.
Persistence Displays information about cache persistence including available and used storage,
latency introduced by persistence operations, and the number of cache snapshots.
Performance statistics are only applicable for active persistence mode.
Use the Persistence tab to get a detailed view of active persistence and to identify
potential issues with performance and space consumption.
The Persistence tab supports performing persistence operations. Right-click a service
to view a list of operations that can be selected.
Elastic Data Displays information about RAM and flash journal memory usage. Select each
progress bar to view details for RAM and flash journal, respectively. Journal statistics
include internal usage of elastic data that is required by the federated caching feature.
Use the Elastic Data tab to monitor elastic data memory usage and to identify when
memory may potentially be exhausted
Proxy Servers Displays information about proxy servers in the cluster including the number of
connections across each proxy server and total messages that were sent and
received. A summary graph shows the total number of proxy server connections.
Use the Proxy Servers tab to monitor Coherence*Extend clients that are connecting
to a proxy and to identify potential performance issues on the proxy.
Note: This tab is only available if a proxy server is configured in the cluster. Also, you
may need to reconnect to a Coherence JVM process if a proxy server was started
after other Coherence JVM processes.
2-23
Chapter 2
Using the Coherence-JVisualVM Plug-In
Tab Description
HTTP Servers Displays information for HTTP acceptors that are configured on a proxy server.
Information includes the number of connections across each server, total connections
and graphs of response codes, and errors and requests over time for a selected
service.
Use the HTTP Servers tab to monitor resource utilization and identify potential
performance issues.
Note: This tab is only available if an HTTP acceptor is configured on a proxy server.
Also, you may need to reconnect to a Coherence JVM process if a proxy server was
started after other Coherence JVM processes.
Coherence*Web Displays information about HTTP session storage in the cluster including the number
of applications deployed, the number of HTTP sessions being stored, as well as other
information regarding session reaping.
Use the Coherence*Web tab to monitor HTTP session storage and to identify
potential performance issues with session storage.
Note: This tab is only available if a Coherence cluster is being used for HTTP session
storage.
JCache Displays configuration information and performance statistic information for JCache
caches.
Use the JCache tab to troubleshoot configuration and performance issues.
Note: This tab is only available if a Coherence cluster is being used to store JCache
caches.
2-24
Chapter 2
Using the Coherence-JVisualVM Plug-In
Note:
The cluster entry is persisted during VisualVM restarts. If the port of the HTTP
management server changes, you must create a new cluster entry and enter the
new management REST URL.
Note:
3. From the VisualVM Applications tree, right-click Local and select Add JMX Connection.
The Add JMX Connection dialog box displays.
4. Enter the following connection URL and replace hostname and port with your WebLogic
Server host name and port:
service:jmx:iiop://hostname:port/jndi/weblogic.management.mbeanservers.
domainruntime
2-25
Chapter 2
Using the Coherence-JVisualVM Plug-In
5. Click Use security credentials and enter the WebLogic Server username and
password.
6. Click OK.
7. Double-click the new connection.
8. From the selected process tab, click the Oracle Coherence tab to monitor the
Coherence cluster.
To view VisualVM logs in the console, select Help | About and then from the About
VisualVM screen, click Logfile.
2-26
3
Registering Custom MBeans
The Oracle Coherence management framework can manage custom MBeans together with
Coherence MBeans. Custom MBeans must be registered with the Coherence MBean
servers.
This chapter includes the following sections:
• Overview of Registering Custom MBeans
• Registering Custom MBeans Declaratively
• Registering Custom MBeans Programmatically
• Registering Custom MBeans in Managed Coherence Servers
Note:
A dead lock might occur when constructors of global custom MBeans access
Coherence distributed services. Constructors of global custom mbeans are not
allowed to access Coherence Distributed services.
At run time, the first custom-mbeans.xml file that is found in the classpath is used. MBeans
are declared in the configuration file using a class name, class factory name, or a query string
that is executed against an MBean server.
Note:
Custom MBeans must be found at run time. Make sure to place the MBeans (or the
library that contains the MBeans) in the classpath of a cluster member, including the
JMX management-enabled member.
3-1
Chapter 3
Registering Custom MBeans Declaratively
The preceding configuration registers the MBean and allows remote management.
Therefore, the MBean's name automatically includes the cluster member's node ID
and domain namespace as part of the object name. For example:
Coherence:type=application,nodeId=<nodeId>
3-2
Chapter 3
Registering Custom MBeans Declaratively
The preceding configuration registers the MBean and allows remote management. Therefore,
the MBean's name automatically includes the cluster member's node ID and domain
namespace as part of the object name. For example:
Coherence:type=java,SubSystem=Memory,nodeId=<nodeId>
See Registering Custom MBeans Programmatically for changing the default registration
behavior.
To specify an MBean server other than the member's default MBean server, enter the name
of a domain for the MBean server using the <mbean-server-domain> element. For example:
<mbeans>
<mbean id="3">
<mbean-query>java.lang:*</mbean-query>
<mbean-server-domain>MyDomain</mbean-server-domain>
<mbean-name>type=Platform</mbean-name>
<enabled>true</enabled>
</mbean>
</mbeans>
3-3
Chapter 3
Registering Custom MBeans Programmatically
Ensure that the classpath includes the location of the file, or enter the full (or relative)
path to the file in addition to the file name. The system property also supports the use
of a URL when you specify the location of an MBean configuration override file.
registry.register(sName, bean);
The preceding configuration registers the MBean and enables remote management.
Therefore, the MBean's name automatically includes the cluster member's node ID
and domain namespace as part of the object name. For example:
Coherence:type=custom,nodeId=<nodeId>
3-4
Chapter 3
Registering Custom MBeans in Managed Coherence Servers
registry.register(sName, bean);
To perform JMX operations on the custom MBeans, use the object name as returned by
Registry.ensureGlobalName() API.
Note:
Ensure that an environment is set up properly to access the local MBean server.
See Monitoring and Management Using JMX Technology in Java SE Monitoring
and Management Guide.
3-5
Chapter 3
Registering Custom MBeans in Managed Coherence Servers
-Dtangosol.coherence.mbeans=my-mbeans.xml
Classes that are associated with custom MBeans must be added to the classpath.
• Use the CoherenceClusterSystemResources MBean: Users can define custom
MBeans in an operational override file and specify that file in the
CustomClusterConfigurationFileName attribute of the
CoherenceClusterSystemResources MBean. The specified configuration file is
loaded on startup. See Registering Custom MBeans Declaratively.
3-6
4
Using Oracle Coherence Metrics
Oracle Coherence Metrics enables an alternative means to monitor a running Coherence
cluster than JMX MBeans.
This chapter includes the following sections:
• About Coherence Metrics
• Enabling Coherence Metrics Endpoint
• Using Metrics System Properties
• Configuring Prometheus to Scrape Coherence Metrics Endpoint
• Visualizing Metrics in Grafana
• Querying for Coherence Metrics
• Adding Custom Metrics
• Creating a Web Application to Access Coherence Metrics in Fusion Middleware Domains
If you want to access Coherence metrics when running Coherence on WebLogic
Managed Server by using the HTTP endpoint, you have to deploy a web application.
To secure Oracle Coherence Metrics endpoint, see Securing Oracle Coherence Metrics in
Securing Oracle Coherence.
4-1
Chapter 4
Enabling Coherence Metrics Endpoint
Note:
The Coherence distribution does not include the third-party dependencies.
If running with JDK 11, add -P jdk11 to the mvn command line to get additional
libraries that are no longer part of JDK 11.
pom.xml
4-2
Chapter 4
Using Metrics System Properties
<version>${javax.activation.version}</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${com.sun.xml.bind.version}</version>
</dependency>
</dependencies>
</profile>
</profiles>
</project>
You can override the default metrics-http-config.xml by placing an override file with same
file name in classpath before the coherence-metrics.jar.
4-3
Chapter 4
Configuring Prometheus to Scrape Coherence Metrics Endpoint
Note:
If multiple Coherence cache servers with metrics endpoint enabled are
started on same machine, the coherence.metrics.http.port must be
unique for each server. If not, the subsequent ones with same
coherence.metrics.http.port value will get an address already in use and
will result in an error with starting up the MetricsHttpProxy service.
The Coherence cache server will start up but the Coherence Metrics
endpoint will only be available on one Coherence cache server.
The extended information for Prometheus metrics is #Help, which contains the metrics
name. If more data follows, the #Help is considered the docstring for that metric name.
For Coherence Metrics, the docstring is typically the JMX MBean attribute description
from which the metric value was derived. There is one or no #Help per metrics value in
a Prometheus response.
4-4
Chapter 4
Querying for Coherence Metrics
For more information about the dashboards and how to load them, see the Coherence
Operator documentation.
For an example of the Coherence Summary Dashboard, see Use dashboards.
Note:
Oracle recommends you to use the minimum Grafana version 8.5.13 to view the
dashboards. At this point, due to the many issues with Grafana 9.x, do not use this
version yet.
Basic Querying
The coherence.metrics.http.port is assumed to be set to 9612 for the below listed basic
querying examples.
http://localhost:9612/metrics
By default, this will produce Prometheus' simple text-based exposition format. If the caller
uses the Accepts: application/json header, then JSON is returned. The endpoint also
supports content negotiation by appending the required type to the url.
http://localhost:9612/metrics/.txt returns Prometheus data whereas http://localhost:9612/
metrics/.json returns JSON data.
The coherence.metrics.extended system property controls the inclusion of additional help
or descriptions. By default, the coherence.metrics.extended is set to false and additional
information is not included. By adding the extended=true query parameter, additional data
can be included.
http://localhost:9612/metrics?extended=true (this applies to both Prometheus and JSON
formats).
4-5
Chapter 4
Adding Custom Metrics
http://localhost:9612/metrics/Coherence.Cache.Size?name=cache_name
Additionally, if the cache (for example near cache) is included so that there are front
and back tiers, then the request could be further restricted.
http://localhost:9612/metrics/Coherence.Cache.Size?name=cache_name&tier=back
http://localhost:9612/metrics/Coherence.Cache.Size?name=cache_name&tier=front
@MetricsValue
long getValueTwo();
long getValueThree();
@MetricsTag("custom_tag")
String getTagValueOne();
@MetricsTag
String getTagValueTwo();
}
For example:
4-6
Chapter 4
Creating a Web Application to Access Coherence Metrics in Fusion Middleware Domains
The code above will register the Mbean with the Object name similar to
Coherence:type=Custom,name=bar,nodeId=1
The metrics name produced will be prefixed with the value from the type key in the
ObjectName, in this case Custom. This will produce the following metrics:
• Custom_custom_value from method getValueOne
• Custom_value_two from method getValueTwo
Both metrics will have common tags such as cluster name, nodeId, machine, role, site, and
so on, as well as the custom tags name=bar from the ObjectName, custom_tag from the
annotated method getTagValueOne and tag_value_two from the annotated method
getTagValueTwo. The method getTagValueTwo is annotated with @MetricTag. Hence it will be
a metric tag. The annotation does not specify a name and the name will be generated from
the attribute name (in this case tag_value_two).
$ mkdir coherence-metrics-resource
2. Go to the web application directory, and then create the WEB-INF directories.
$ cd coherence-metrics-resource
$ mkdir WEB-INF
3. Add the following web.xml and weblogic.xml files under the WEB-INF directory. You
may rename the <context-root> in weblogic.xml, if required.
WEB-INF/web.xml
<servlet>
<servlet-name>coherence.metrics.rest.Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-
4-7
Chapter 4
Creating a Web Application to Access Coherence Metrics in Fusion Middleware Domains
class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-
value>com.tangosol.coherence.metrics.internal.MetricsResourceConfig<
/param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>coherence.metrics.rest.Application</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
WEB-INF/weblogic.xml
<weblogic-web-app
xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-
app">
<context-root>/coherence/metrics</context-root>
</weblogic-web-app>
4. Build the web application .war file. Go to the parent directory of the web
application and use the following command to create the .war file:
http://<Host>:7002/coherence/metrics
4-8
5
Using Oracle Coherence Reporting
Oracle Coherence provides a reporting feature that collects management data and generates
a series of reports that are updated at regular intervals. Reporting supports many
configuration options, such as controlling which reports get generated, where the reports are
saved, and how often the report data is refreshed.
This chapter includes the following sections:
• Overview of Oracle Coherence Reporting
• Enabling Oracle Coherence Reporting on a Cluster Member
• Switching the Default Report Group Configuration File
• Overriding the Report Group Output Directory
• Changing the Report Timestamp Format
• Administering Oracle Coherence Reporting Using the Reporter MBean
• Running Oracle Coherence Reporting in a Distributed Configuration
Viewing Reports
The default reporting behavior creates ten reports each hour and refreshes them every
minute. The reports are saved to the directory from which the cluster member starts. Each file
includes a prefix with a report timestamp in a YYYYMMDDHH format. The format allows for easy
location and purging of unwanted information.Table 5-1 summarizes the reports.
5-1
Chapter 5
Enabling Oracle Coherence Reporting on a Cluster Member
Customizing Reports
You can customize reporting configuration files or create new configuration files as
required. A report can include data from any MBeans (including custom MBeans). See
Creating Custom Reports.
Note:
Decide on a plan for archiving reports before you enable reporting.
5-2
Chapter 5
Switching the Default Report Group Configuration File
To enable reporting, edit the operational override file and within the <reporter> element, add
an <autostart> element that is set to true. For example:
<?xml version='1.0'?>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
coherence-operational-config.xsd">
<management-config>
<reporter>
<autostart
system-property="coherence.management.report.autostart">true
</autostart>
</reporter>
</management-config>
</coherence>
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
coherence-operational-config.xsd">
<management-config>
<reporter>
<configuration
system-property="coherence.management.report.configuration">
reports/report-all.xml</configuration>
</reporter>
</management-config>
</coherence>
5-3
Chapter 5
Overriding the Report Group Output Directory
The path can be absolute or relative to the directory where the cluster member starts
(./). The user name that the member is executing must have read/write access to the
path.
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-
config
coherence-operational-config.xsd">
<management-config>
<reporter>
<timezone
system-property="coherence.management.report.timezone">
US/Eastern
</timezone>
<timeformat
system-property="coherence.management.report.timeformat">
MMM dd, yyyy hh:mm:ss a
</timeformat>
</reporter>
</management-config>
</coherence>
5-4
Chapter 5
Administering Oracle Coherence Reporting Using the Reporter MBean
Note:
Changes that are made with the ReporterMBean MBean are not persistent. Settings
revert to their original values when the cluster member restarts.
• Starting reporting – Use the start operation to start reporting if it is currently stopped.
• Stopping reporting – Use the stop operation to stop reporting. Reporting restarts when
the cluster member restarts if the cluster member is configured to automatically start
reporting.
• Running on-demand reports – Use the runReport operation to run either a single report
or a report group one time. Specify the full or relative path of a report configuration file or
a report group configuration file that is located on the classpath. Ensure that reporting is
enabled before you run the report. For example, enter reports/report-memory-
summary.xml to run the memory summary report that is located in the coherence.jar file.
• Running on-demand tabular reports – Use the runTabularReport operation to run either
a single report or a report group one time. The results are returned in a table format and
display in a separate window. Ensure that reporting is enabled before you run the report.
Specify the full or relative path of a report configuration file or a report group configuration
file that is located on the classpath. For example, enter reports/report-memory-
summary.xml to run the memory summary report that is located in the coherence.jar file.
The runTabularReport operation also supports entering the XML syntax of a report or
report group configuration file. Entering the XML syntax allows you to run a reports that
are not on the classpath, which saves the steps of having to deploy the report or report
group to all cache servers and performing a rolling restart. If you enter the XML of a
report group, the individual reports must still be found on the classpath.
• Running on-demand tabular group reports – Use the runTabularGroupReport operation
to run a report group one time and pass in the reports' XML syntax. The results are
returned in a table format and display in a separate window. Ensure that reporting is
enabled before you run the report.
• Changing the output path – Use the OutputPath attribute to change the location where
reports are saved.
• Changing the refresh interval – Use the IntervalSeconds attribute to change how often
the report data is refreshed.
5-5
Chapter 5
Running Oracle Coherence Reporting in a Distributed Configuration
• Changing the report configuration file – Use the ConfigFile attribute to change
which report group configuration file to use.
• Changing the batch number – Use the CurrentBatch attribute to change the
current batch number. The next refresh of the reports increments from the new
batch number.
Figure 5-1 shows the ReporterMBean MBean attributes and operations within
JConsole. See also Reporter MBean.
5-6
Chapter 5
Running Oracle Coherence Reporting in a Distributed Configuration
To enable distributed configuration, start the managing member using the following system
properties:
-Dcoherence.management.report.autostart=false
-Dcoherence.management.report.distributed=true
-Dcoherence.management=all
Start the cluster member to be managed using the following system properties:
-Dcoherence.management.report.autostart=true
-Dcoherence.management.report.distributed=true
-Dcoherence.management=local-only
-Dcoherence.management.remote=true
5-7
6
Creating Custom Reports
You can create your own reports in addition to using the predefined reports that are included
with Coherence. Custom reports allow you to decide what management data to display and
how the data is organized and processed.
This chapter includes the following sections:
• Overview of Creating Custom Reports
• Constructing Report Configuration Files
• Creating Custom Report Group Configuration Files
• Configuring Custom Reports to Generate
The reporter configuration includes the option to select a custom report group
configuration file. All the reports that are listed in the report group configuration file are
generated at run time.
Tip:
Extract the predefined reporting configuration files from the coherence.jar/reports
directory before creating custom reports. Use the files as a starting point for
creating custom reports.
Oracle Coherence reporting utilizes two types of configuration files: a report configuration file
and a report group configuration file.
• Report configuration file – A report configuration file constructs a report at run time. The
file includes the name of the report, the MBean data to extract, and the organization of
the data. Each report has a corresponding report configuration file. Report configuration
files are XML documents that are defined by the coherence-report-config.xsd schema
file, which is packaged in the root directory of the coherence.jar library.
• Report group configuration file – A report group configuration file configures which reports
to generate at run time. The file includes the name and location of each report
configuration file, the output directory where to save the reports, and how often to refresh
the reports. Report group configuration files are XML documents that are defined by the
6-1
Chapter 6
Constructing Report Configuration Files
file-name Macros
Table 6-2 describes the macros predefined for use with the file-name element. These
macros add a member name, a batch number, or a date to the file name.
6-2
Chapter 6
Constructing Report Configuration Files
Macro Description
batch Adds a sequence number to the file name of the report
date Adds the date (in the YYYYMMDDHH format) to the file name of the report. Use a
date when the report is kept for a short time and then discarded.
node Adds the member ID to the file name. The node setting is helpful when many
members are executing the same report and the output files are integrated for
analysis.
The following example creates a file named 00012_network_status.txt when the report is
executed on member 12. Due to the volatile nature of the node ID, only use this macro during
short-term analysis.
<file-name>{node}_network_status.txt</file-name>
Queries can use a filter definition and can also use column and filter references. See Using
Filters in Reports. Example 6-2 demonstrates how to reference a filter in a query and
illustrates how to list all the node IDs and role names in the cluster where RoleName equals
CoherenceServer.
Example 6-2 Including a List of the Cluster's Node IDs and Role Names in a Report
<filters>
<filter id="equalsRef">
<type>equals</type>
<params>
6-3
Chapter 6
Constructing Report Configuration Files
<column-ref>RoleRef</column-ref>
<column-ref>StringRef</column-ref>
</params>
</filter>
</filters>
<query>
<pattern>Coherence:type=Node,*</pattern>
<filter-ref>equalsRef</filter-ref>
</query>
<row>
<column id ="NodeRef">
<type>key</type>
<name>nodeId</name>
<header>Node Id</header>
</column>
<column id ="RoleRef">
<name>RoleName</name>
<header>Role</header>
</column>
<column id = "StringRef">
<type>constant</type>
<name>ConstString</name>
<hidden>true</hidden>
<data-type>string</data-type>
<value>CoherenceServer</value>
</column>
</row>
6-4
Chapter 6
Constructing Report Configuration Files
<column id="LastGCStart">
<type>attribute</type>
<name>LastGcInfo/startTime</name>
<header>Last GC Start Time</header>
</column>
6-5
Chapter 6
Constructing Report Configuration Files
reporter does not check for cyclical references and fails during execution if a cycle is
configured.
Note:
The major limitation of join attributes is that the result of the join must have
only one value.
For example, if a report requires the TotalGets from the Cache MBean
(Coherence:type=cache,*) and RoleName from the Node MBean
(Coherence:type=Node,*), then use a join attribute.
Because more MBeans come from the Cache MBean than other MBeans,
Coherence:type=Cache,* is the primary query and RoleName is the join attribute. The
foreign key for this join is the nodeId key part from the Cache MBean, and it must be
included in the report. Example 6-6 shows the configuration for this scenario.
Example 6-6 Including Information from Multiple MBeans in a Report
<column id="RoleName">
<type>attribute</type>
<name>RoleName</name>
<header>Role Name</header>
<query>
<pattern>Coherence:type=Node,nodeId={NodeFK}</pattern>
</query>
</column>
<column id ="NodeFK">
<type>key</type>
<name>nodeId</name>
<header>Node Id</header>
</column>
6-6
Chapter 6
Constructing Report Configuration Files
Example 6-11 illustrates how to include the constant string dist-Employee in a report.
6-7
Chapter 6
Constructing Report Configuration Files
Composite filters evaluate the Boolean results from one or two filters. Composite filter
types are and, or, and not. Each composite filter evaluates the filter parameters first to
last and applies standard Boolean logic. Composite filter evaluation uses standard
short-circuit logic. The use of cyclic references creates a run-time error.
Example 6-12 illustrates how to define an equals filter where RoleRef and StringRef
are defined columns.
Example 6-12 Using an Equals Filter for a Report
<filters>
<filter id="equals">
<type>equals</type>
<params>
<column-ref>RoleRef</column-ref>
<column-ref>StringRef</column-ref>
</params>
</filter>
</filters>
Example 6-13 illustrates how to define a filter in which the value of PacketsResent is
greater than the value of PacketsSent (assuming that PacketsResent and
PacketsSent are valid column references).
Example 6-14 illustrates how to define a filter in which the value of PacketsResent is
less than the value of PacketsSent (assuming that PacketsResent and PacketsSent
are valid column references).
Example 6-14 Defining a "Less Than" Filter for a Report
<filters>
<filter id="greaterRef">
<type>less</type>
<params>
<column-ref>PacketsResent</column-ref>
<column-ref>PacketsSent</column-ref>
</params>
</filter>
</filters>
6-8
Chapter 6
Constructing Report Configuration Files
Example 6-15 illustrates how to define an and filter (assuming that all column-ref values are
valid).
Example 6-15 Defining an "And" Filter for a Report
<filters>
<filter id="equalsRef">
<type>equals</type>
<params>
<column-ref>RoleRef</column-ref>
<column-ref>StringRef</column-ref>
</params>
</filter>
<filter id="greaterRef">
<type>greater</type>
<params>
<column-ref>PacketsResent</column-ref>
<column-ref>PacketsSent</column-ref>
</params>
</filter>
<filter>
<type>and</type>
<params>
<filter-ref>greaterRef</filter-ref>
<filter-ref>equalsRef</filter-ref>
</params>
</filter>
</filters>
Example 6-16 illustrates how to define an or filter (assuming that all column-ref values are
valid).
Example 6-16 Defining an "Or" Filter for a Report
<filters>
<filter id="equalsRef">
<type>equals</type>
<params>
<column-ref>RoleRef</column-ref>
<column-ref>StringRef</column-ref>
</params>
</filter>
<filter id="greaterRef">
<type>greater</type>
<params>
<column-ref>PacketsResent</column-ref>
<column-ref>PacketsSent</column-ref>
</params>
</filter>
<filter>
<type>or</type>
<params>
<filter-ref>greaterRef</filter-ref>
<filter-ref>equalsRef</filter-ref>
</params>
</filter>
</filters>
6-9
Chapter 6
Constructing Report Configuration Files
Example 6-17 illustrates how to define a not equals filter, where RoleRef and
StringRef are defined columns.
<filter id = "Not">
<type>not</type>
<params>
<filter-ref>equals</filter-ref>
</params>
</filter>
</filters>
Function Examples
Example 6-18 illustrates how to add two column values (Attribute1 and Attribute2)
and place the results into a third column (Addition).
<column id="AttributeID2">
<name>Attribute2</name>
</column>
<column id="Addition">
<type>function</type>
<name>Add2Columns</name>
<header>Adding Columns</header>
<function-name>add</function-name>
<params>
<column-ref>AttributeID1</column-ref>
<column-ref>AttributeID2</column-ref>
</params>
</column>
6-10
Chapter 6
Constructing Report Configuration Files
Example 6-19 illustrates how to subtract one column value (Attribute2) from another column
value (Attribute1) and place the results into a third column (Subtraction).
<column id="AttributeID2">
<name>Attribute2</name>
</column>
<column id="Subtraction">
<type>function</type>
<name>Subtract2Columns</name>
<header>Difference</header>
<function-name>subtract</function-name>
<params>
<column-ref>AttributeID1</column-ref>
<column-ref>AttributeID2</column-ref>
</params>
</column>
Example 6-20 illustrates how to multiply two column values (Attribute1 and Attribute2)
and place the results into a third column (Multiplication).
Example 6-20 Multiplying Column Values and Including Results in a Different Column
<column id="AttributeID1">
<name>Attribute1</name>
</column>
<column id="AttributeID2">
<name>Attribute2</name>
</column>
<column id="Multiplication">
<type>function</type>
<name>Multiply2Columns</name>
<header>Multiply Columns</header>
<function-name>multiply</function-name>
<params>
<column-ref>AttributeID1</column-ref>
<column-ref>AttributeID2</column-ref>
</params>
</column>
Example 6-21 illustrates how to divide one column value (Attribute1) by another
(Attribute2) and place the results into a third column (Division). The result of all division is
a Double data type.
Example 6-21 Dividing Column Values and Including Results in a Different Column
<column id="AttributeID1">
<name>Attribute1</name>
</column>
<column id="AttributeID2">
<name>Attribute2</name>
6-11
Chapter 6
Constructing Report Configuration Files
</column>
<column id="Division">
<type>function</type>
<name>Dividing2Columns</name>
<header>Division</header>
<function-name>divide</function-name>
<params>
<column-ref>AttributeID1</column-ref>
<column-ref>AttributeID2</column-ref>
</params>
</column>
Type Description
avg Calculate the mean value for all values in the column.
max Return the maximum value for all values in the column.
min Return the minimum value for all values in the column.
sum Add all the values from a column.
Example 6-22 illustrates how to sum the values in the size column.
Example 6-23 illustrates how to average the values in the size column.
Example 6-24 illustrates how to find the maximum value in the size column.
6-12
Chapter 6
Constructing Report Configuration Files
<function-name>max</function-name>
</column>
Example 6-25 illustrates how to find the minimum value in the size column.
Note:
Delta functions are only correct when the report is running as part of a report batch.
Example 6-27 illustrates how to include a delta calculation of an attribute with an alternate
delta key. (Assume that PacketsSent, NodeID, and TimeStamp are defined columns.)
6-13
Chapter 6
Creating Custom Report Group Configuration Files
Example 6-27 Delta Calculation for an Attribute with an Alternate Delta Key
<column id="DeltaPacketsSent">
<type>function</type>
<name>PacketsSent</name>
<header>Delta Sent</header>
<column-ref>PacketsSent</column-ref>
<function-name>delta</function-name>
<params>
<column-ref>NodeID</column-ref>
<column-ref>TimeStamp</column-ref>
</params>
</column>
<report-group xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-report-group-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-report-group-
config
coherence-report-group-config.xsd">
<frequency>5m</frequency>
...
6-14
Chapter 6
Creating Custom Report Group Configuration Files
<?xml version="1.0"?>
<report-group xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-report-group-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-report-group-config
coherence-report-group-config.xsd">
<frequency>5m</frequency>
<output-directory system-property=
"coherence.reporter.output.directory">/output</output-directory>
...
<report-group xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-report-group-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-report-group-config
coherence-report-group-config.xsd">
<frequency>1m</frequency>
<output-directory system-property=
"coherence.reporter.output.directory">./</output-directory>
...
At runtime, specify the system property and include a path for the value. For example:
-Dcoherence.reporter.output.directory=/mydirectory
<report-group xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-report-group-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-report-group-config
coherence-report-group-config.xsd">
<frequency>5m</frequency>
<output-directory>/output</output-directory>
<report-list>
<report-config>
<location>/config/myReport.xml</location>
</report-config>
<report-config>
<location>config/aSecondReport.xml</location>
</report-config>
</report-list>
</report-group>
6-15
Chapter 6
Configuring Custom Reports to Generate
<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-
config
coherence-operational-config.xsd">
<management-config>
<reporter>
<configuration
system-property="coherence.management.report.configuration">
my-report-group.xml</configuration>
<autostart
system-property="coherence.management.report.autostart">true
</autostart>
</reporter>
</management-config>
</coherence>
6-16
7
Analyzing Report Contents
Oracle Coherence includes many predefined reports. Developers and system administrators
use the reports to monitor and analyze operational statistics and troubleshoot potential
problems.
An additional set of predefined reports are provided for Oracle Coherence*Web. The
Coherence*Web reports are not discussed in this chapter. See Running Performance Reports
in Administering HTTP Session Management with Oracle Coherence*Web.
This chapter includes the following sections:
• Understanding the Cache Size Report
• Understanding the Cache Usage Report
• Understanding the Federation Destination Report
• Understanding the Federation Origin Report
• Understanding the Federation Status Report
• Understanding the Flash Journal Report
• Understanding the JCache Configuration Report
• Understanding the JCache Statistics Report
• Understanding the Management Report
• Understanding the Memory Status Report
• Understanding the Network Health Detail Report
• Understanding the Network Health Report
• Understanding the Node List Report
• Understanding the Persistence Detail Report
• Understanding the Persistence Report
• Understanding the Proxy Report
• Understanding the Proxy HTTP Report
• Understanding the Ram Journal Report
• Understanding the Service Report
• Understanding the Proxy Connections Report
• Understanding the Cache Storage Report
• Understanding the Transaction Manager Report
• Understanding the Service Partitions Report
7-1
Chapter 7
Understanding the Cache Size Report
7-2
Chapter 7
Understanding the Cache Usage Report
7-3
Chapter 7
Understanding the Federation Destination Report
7-4
Chapter 7
Understanding the Federation Origin Report
7-5
Chapter 7
Understanding the Federation Status Report
7-6
Chapter 7
Understanding the Flash Journal Report
7-7
Chapter 7
Understanding the JCache Configuration Report
7-8
Chapter 7
Understanding the JCache Statistics Report
7-9
Chapter 7
Understanding the Management Report
7-10
Chapter 7
Understanding the Memory Status Report
7-11
Chapter 7
Understanding the Network Health Detail Report
7-12
Chapter 7
Understanding the Network Health Report
7-13
Chapter 7
Understanding the Node List Report
7-14
Chapter 7
Understanding the Persistence Detail Report
7-15
Chapter 7
Understanding the Persistence Report
7-16
Chapter 7
Understanding the Proxy Report
7-17
Chapter 7
Understanding the Proxy HTTP Report
7-18
Chapter 7
Understanding the Ram Journal Report
7-19
Chapter 7
Understanding the Service Report
7-20
Chapter 7
Understanding the Proxy Connections Report
7-21
Chapter 7
Understanding the Cache Storage Report
7-22
Chapter 7
Understanding the Cache Storage Report
Note:
This report is not included in report-group.xml but is available by running
report-all.xml.
7-23
Chapter 7
Understanding the Cache Storage Report
7-24
Chapter 7
Understanding the Transaction Manager Report
7-25
Chapter 7
Understanding the Service Partitions Report
7-26
Chapter 7
Understanding the Service Partitions Report
Note:
This report is not included in report-group.xml but is available by running
report-all.xml after you have installed the Cumulative Patch Update (CPU)
34845927 or later.
7-27
Chapter 7
Understanding the Service Partitions Report
7-28
A
Oracle Coherence MBeans Reference
The MBean reference provides a detailed description of all Coherence MBeans including
their attributes and operations. In addition to the MBean reference, the Registration
interface provides descriptions of the MBeans. In addition, an MBean-capable agent (such as
JConsole) also shows MBean information. See Using JMX to Manage Oracle Coherence .
This reference includes the following MBeans:
• Cache MBean
• Cluster MBean
• ClusterNode MBean
• ConnectionManager MBean
• Connection MBean
• Destination MBean
• FederationManager MBean
• FlashJournalRM MBean
• Management MBean
• Origin MBean
• PersistenceManager MBean
• PointToPoint MBean
• RamJournalRM
• Reporter MBean
• Service MBean
• SimpleStrategy MBean
• StorageManager MBean
• Topology MBean
• TransactionManager MBean
Cache MBean
The Cache MBean represents a cache and provides operational and performance statistics.
Some MBean attributes are writable and allow the behavior of a cache to be changed in real
time. A cluster member includes zero or more instances of this managed bean depending on
the number of caches that are configured for each data service type (distributed, replicated,
and so on).
The object name of the MBean is:
type=Cache,service=service name,name=cache name,nodeId=cluster node id,tier=tier tag
A-1
Appendix A
Cache MBean
Note:
The Cache MBean contains many attributes that are not applicable to
transactional caches. A transactional cache returns a -1 value if attributes
are invoked that do not apply. See Cache MBeans for Transactional Caches
in Developing Applications with Oracle Coherence.
Attributes
Table A-1 describes the attributes for the Cache MBean.
A-2
Appendix A
Cache MBean
A-3
Appendix A
Cache MBean
A-4
Appendix A
Cache MBean
Operations
The Cache MBean includes a resetStatistics operation that resets all cache statistics.
A-5
Appendix A
Cluster MBean
Cluster MBean
The Cluster MBean represents a cluster and provides operational statistics. Each
cluster member includes a single instance of this managed bean.
The object name of the MBean is:
type=Cluster
Attributes
Table A-2 describes the attributes for Cluster MBean.
A-6
Appendix A
ClusterNode MBean
Operations
Table A-3 describes the operations for the Cluster MBean.
ClusterNode MBean
The ClusterNode MBean represents a cluster member and provides operational and
performance statistics. Many of the attributes are writable and allow the behavior of the
member to be changed in real time. Each cluster member includes a single instance of this
managed bean.
The object name of the MBean is:
type=Node,nodeId=cluster node id
A-7
Appendix A
ClusterNode MBean
Attributes
Table A-4 describes the attributes for ClusterNode MBean.
A-8
Appendix A
ClusterNode MBean
A-9
Appendix A
ClusterNode MBean
A-10
Appendix A
ClusterNode MBean
A-11
Appendix A
ClusterNode MBean
Operations
Table A-5 describes the operations for the ClusterNode MBean.
A-12
Appendix A
ConnectionManager MBean
ConnectionManager MBean
The ConnectionManager MBean represents an Oracle Coherence*Extend proxy and provides
statistics for throughput and connection information. A cluster member includes zero or more
instances of this managed bean depending on the number of configured proxies.
The object name of the MBean is:
type=ConnectionManager,name=service name,nodeId=cluster node id
Attributes
Table A-6 describes the attributes for the ConnectionManager MBean.
A-13
Appendix A
Connection MBean
Operations
The ConnectionManager MBean includes a resetStatistics operation that resets
destination statistics.
Connection MBean
The Connection MBean represents a remote client connection through Oracle
Coherence*Extend and provides performance and usage statistics for the connection.
A cluster member includes zero or more instances of this managed bean depending
on the number of active remote connections to the cluster.
The object name of the MBean is:
A-14
Appendix A
Connection MBean
Attributes
Table A-7 describes the attributes for the Connection MBean.
Operations
Table A-8 describes the operations for the Connection MBean.
A-15
Appendix A
Destination MBean
Destination MBean
The Destination MBean represents a federation participant and provides
performance statistics. One or more managed beans is registered depending on the
number of federation participants that can receive data.
The object name of the MBean is:
Coherence:type=Federation,service=federated,subType=Destination,name=participant
name,nodeId=cluster node id
Attributes
Table A-9 describes the attributes for the Destination MBean.
A-16
Appendix A
Destination MBean
A-17
Appendix A
Destination MBean
A-18
Appendix A
Destination MBean
A-19
Appendix A
FederationManager MBean
Operations
The Destination MBean includes a resetStatistics operation that resets
destination statistics.
FederationManager MBean
The FederationManager MBean represents a FederatedCache service instance and
provides operations that control replication of data to service participants. One or more
managed beans is registered depending on the number of service instances.
The object name of the MBean is:
Coherence:type=Federation,service=service name,responsibility=Coordinator
Attributes
Table A-10 describes the attributes for the FederationManager MBean.
Operations
Table A-11 describes the operations for FederationManager MBean.
A-20
Appendix A
FlashJournalRM MBean
FlashJournalRM MBean
The Journal MBean provides an interface for the flash journal resource manager
(FlashJournalRM) and provides operational statistics. The resource manager stores data to
flash memory. Each cluster member includes a single instance of this managed bean.
The object name of the MBean is:
type=Journal,name=FlashJournalRM,nodeId=cluster node id
Attributes
Table A-12 describes the attributes for the Journal MBean that pertain to the flash journal
resource manager.
A-21
Appendix A
FlashJournalRM MBean
A-22
Appendix A
Management MBean
Operations
The Journal MBean has no operations.
Management MBean
The Management MBean represents the grid JMX infrastructure and provides operational
settings. Some of the attributes are writable and allow management behavior to be changed
in real time. Each cluster member includes a single instance of this managed bean.
The object name of the MBean is:
type=Management
Attributes
Table A-13 describes the attributes for Management MBean.
A-23
Appendix A
Origin MBean
Operations
The Management MBean includes a resetStatistics operation that resets the
RefreshCount, RefreshExcessCount, and RefreshPredictionCount statistics.
Origin MBean
The Origin MBean represents a federation participant and provides performance
statistics. One or more managed beans is registered depending on the number of
federation participants that can send data.
The object name of the MBean is:
Coherence:type=Federation,service=federated,subType=Origin,name=participant
name,nodeId=cluster node id
Attributes
Table A-14 describes the attributes for Origin MBean.
A-24
Appendix A
PersistenceManager MBean
Operations
The Origin MBean includes a resetStatistics operation that resets destination statistics.
PersistenceManager MBean
The PersistenceManager MBean provides attributes and operations related to persisting and
recovering the contents of distributed cache services. Each service instance includes a single
instance of this managed bean.
The object name of the MBean is:
type=Persistence,service=service name,responsibility=PersistenceCoordinator
A-25
Appendix A
PersistenceManager MBean
Attributes
Table A-15 describes the attributes for PersistenceManager MBean.
Operations
Table A-16 describes the operations for PersistenceManager MBean.
A-26
Appendix A
PointToPoint MBean
Notifications
Table A-17 describes the notifications for PersistenceManager MBean.
Notification Description
ARCHIVE_SNAPSHOT_BEGIN Indicates the start of archiving a snapshot
ARCHIVE_SNAPSHOT_END Indicates the end of archiving a snapshot
CREATE_SNAPSHOT_BEGIN Indicates the start of snapshot creation
CREATE_SNAPSHOT_END Indicates the end of snapshot creation
RECOVER_BEGIN Indicates the start of recovery
RECOVER_DISALOWED Indicates recovery being disallowed by the quorum
RECOVER_END Indicates the end of recovery
RECOVER_SNAPSHOT_BEGIN Indicates the start of recovering to a snapshot
RECOVER_SNAPSHOT_END Indicates the end of recovering to a snapshot
REMOVE_ARCHIVED_SNAPSHOT_BEGIN Indicates the start of removing an archived
snapshot
REMOVE_ARCHIVED_SNAPSHOT_END Indicates the end of removing an archived
snapshot
REMOVE_SNAPSHOT_BEGIN Indicates the start of removing a snapshot
REMOVE_SNAPSHOT_END Indicates the end of removing a snapshot
RETRIEVE_ARCHIVED_SNAPSHOT_BEGIN Indicates the start of retrieving an archived
snapshot
RETRIEVE_ARCHIVED_SNAPSHOT_END Indicates the end of retrieving an archiving
snapshot
PointToPoint MBean
The PointToPoint MBean represents the network status between two cluster members and
provides network statistics from the perspective of the current viewing member to a specified
viewed member. To specify the member, enter its ID using the ViewedMemberId attribute.
Each cluster member includes a single instance of this managed bean.
The object name of the MBean is:
type=PointToPoint,nodeId=cluster node id
Attributes
Table A-18 describes the attributes for PointToPoint MBean.
A-27
Appendix A
PointToPoint MBean
A-28
Appendix A
PointToPoint MBean
Operations
Table A-19 describes the operations for PointToPoint MBean.
A-29
Appendix A
RamJournalRM
RamJournalRM
The Journal MBean provides an interface for the RAM journal resource manager
(RamJournalRM) and provides operational statistics. The resource manager is
responsible for storing data to RAM memory. Each cluster member includes a single
instance of this managed bean.
The object name of the MBean is:
type=Journal,name=RamJournalRM,nodeId=cluster node id
Attributes
Table A-20 describes the attributes for JournalMBean that pertain to the RAM journal
resource manager.
A-30
Appendix A
Reporter MBean
Operations
The Journal MBean has no operations.
Reporter MBean
The Reporter MBean represents the Oracle Coherence Reporter and provides settings and
statistics for Oracle Coherence reporting. Many of the attributes are writable and change
reporting behavior in real time. In addition, the MBean contains operations that start and stop
reporting and run reports in real time. Each cluster member includes a single instance of this
managed bean.
The object name of the MBean is:
type=Reporter
Attributes
Table A-21 describes the attributes for Reporter MBean.
A-31
Appendix A
Reporter MBean
Operations
Table A-22 describes the operations for Reporter MBean.
A-32
Appendix A
Service MBean
Service MBean
The Service MBean represents a clustered service and provides usage and performance
statistics. Some of the attributes are writable and change the behavior of a service in real
time. In addition, the MBean contains operations to start and stop a service in real time. A
cluster member includes zero or more instances of this managed bean depending on the
number of clustered services that are started.
The object name of the MBean is:
type=Service,name=service name,nodeId=cluster node id
Terminology
The terms task and request have unique definitions within Oracle Coherence. Understand the
terms before setting the task-related and request-related attributes for Service MBean.
• Task – A task is an invoked object that executes on one or more members. The objects
include filters, invocation agents (entry processors and aggregators), or single-pass
agents (Invocable objects).
• Request – A request is the round-trip required to complete a task. A request begins the
moment a task is sent for execution by a client and includes the following:
– The time it takes to deliver the request to an executing member (server)
– The interval between the time the task is received and placed into a service queue
until the execution starts
– The task execution time
– The time it takes to deliver a result back to the client
A-33
Appendix A
Service MBean
Attributes
Table A-23 describes the attributes for Service MBean.
A-34
Appendix A
Service MBean
A-35
Appendix A
Service MBean
A-36
Appendix A
Service MBean
A-37
Appendix A
Service MBean
A-38
Appendix A
SimpleStrategy MBean
Operations
Table A-24 describes the operations for Service MBean.
SimpleStrategy MBean
The SimpleStrategy MBean represents a simple partition assignment strategy and provides
operational statistics. Each partitioned service registers a single instance of this managed
bean. The MBean is attached to a single instance of the PartitionAssignmentStrategy
object which exists on the member that is the distribution coordinator for the service. The
associated MBean is not explicitly unregistered, but its name is rebound to a new MBean
instance if and when a different service member becomes the distribution coordinator.
The object name of the MBean is:
A-39
Appendix A
SimpleStrategy MBean
Coherence:type=PartitionAssignment,service=service name,
responsibility=DistributionCoordinator
Attributes
Table A-25 describes the attributes for SimpleStrategy MBean.
A-40
Appendix A
StorageManager MBean
Operations
Table A-26 describes the operations for SimpleStrategy MBean.
StorageManager MBean
The StorageManager MBean represents a storage instance for a storage-enabled distributed
cache service and provides usage statistics for the storage-enabled cache and also includes
statistics for queries. A storage instance manages all index, listener, and lock information for
the portion of the distributed cache managed by the local member. A cluster member includes
zero or more instances of this managed bean depending on the number of configured
distributed caches.
The object name of the MBean is:
type=StorageManager,service=service name,cache=cache name,nodeId=cluster node id
Attributes
Table A-27 describes the attributes for StorageManager MBean.
A-41
Appendix A
StorageManager MBean
A-42
Appendix A
StorageManager MBean
A-43
Appendix A
StorageManager MBean
Operations
The StorageManager MBean includes a resetStatistics operation that resets
storage manager statistics. This operation does not reset the EvictionCount,
InsertCount, or RemoveCount attributes.
A-44
Appendix A
Topology MBean
Topology MBean
The Topology MBean represents federation participants in the context of a topology. A
federation topology defines how data is synchronized among federation participants. An
instance of this managed bean is registered for each topology being used by a federated
cache service.
The object name of the MBean is:
Coherence:type=Federation,subType=Topology,name=topology name nodeId=cluster node id
Attributes
Table A-28 describes the attributes for Topology MBean.
Operations
The Topology MBean has no operations.
TransactionManager MBean
The TransactionManager MBean represents a transaction manager in the transactional
framework and provides global transaction manager statics by aggregating service-level
statistics from all transaction service instances. A cluster member includes zero or more
instances of this managed bean depending on the number of configured transactional
caches. Each cluster member has one instance of the transaction manager MBean for each
service.
The object name of the MBean is:
type=TransactionManager,service=service name,nodeId=cluster node id
Note:
For certain transaction manager attributes, the coordinator member for the
transaction maintains the count even though multiple members participate in the
transaction. For example, a transaction may include modifications to entries stored
on multiple members, but the TotalCommitted attribute only increments on the
MBean on the member that coordinated the commit of that transaction.
A-45
Appendix A
TransactionManager MBean
Attributes
Table A-29 describes the attributes for TransactionManager MBean.
Operations
The TransactionManager MBean includes a resetStatistics operation that resets all
transaction manager statistics.
A-46
B
Report File Configuration Elements
The report file configuration reference provides a detailed description of the report file
deployment descriptor elements.
<report-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-report-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-report-config
coherence-report-config.xsd">
Note:
• The schema that is located in the coherence.jar library is always used at run
time even if the xsi:schemaLocation attribute references the Web URL.
• Omit the xsi:schemaLocation attribute to disable schema validation.
• When deploying Oracle Coherence into environments where the default
character set is EBCDIC rather than ASCII, ensure that the deployment
descriptor file is in ASCII format and is deployed into its run-time environment in
the binary format.
B-1
Appendix B
Report File Element Reference
column
Used in: row
Description
The column element contains information to generate a report column. The column
element supports the use of an id attribute to uniquely identify the column. The ID is
used within the column-ref subelement.
Elements
Table B-1 describes the subelements of the column element.
B-2
Appendix B
Report File Element Reference
B-3
Appendix B
Report File Element Reference
filter
Used in: filters
Description
The filter element defines a filter to use in the report. The filter element supports the
use of an id attribute to uniquely identify the filter. Use the ID when referring to a filter
with the filter-ref element. Filters can be referenced from within a params element
and a query element.
B-4
Appendix B
Report File Element Reference
Elements
Table B-2 describes the subelements of the filter element.
filters
Used in: report
Description
The filters element contains any number of filter elements.
Elements
Table B-3 describes the subelements of the filters element.
B-5
Appendix B
Report File Element Reference
params
Used in: column, filter, query
Description
The params element identifies an argument column or a filter reference.
Elements
Table B-4 describes the subelements of the params element.
query
Used in: column, report
Description
The query element contains information necessary to construct a JMX query to find all
MBeans contributing to the report or column. Enter queries within a <pattern>
element.
Examples
The following example includes all node MBeans in the report or column:
<query>
<pattern>Coherence:type=Node,*</pattern>
</query>
The following example that includes only the Cluster MBean in the report or column:
<query>
<pattern>Coherence:type=Cluster</pattern>
</query>
The pattern string allows macro substitutions with run-time values that come from
report columns. For example, to provide a cache name in the query pattern, define a
reporter.cacheName system property and use the following construct:
<report>
...
<query>
<pattern>Coherence:type=Cache,name={CacheName},*</pattern>
B-6
Appendix B
Report File Element Reference
</query>
<row>
<column id="CacheName">
<type>property</type>
<name>reporter.cacheName</name>
</column>
</row>
</report>
Sometimes a query pattern is known to result in a list of MBean names that have a well-
known key attribute. Use the key attribute to retrieve an attribute from a related (joined)
MBean. For example, because the Coherence:type=Service,* pattern is known to result in
MBeans in the Coherence:type=Service,nodeId=NNN format, the following configuration
below prints the MemberName attribute from a corresponding NodeMBean along with the
ServiceName attribute for the ServiceMBean.
<report>
...
<query>
<pattern>Coherence:type=Service,*</pattern>
<params>
<column-ref>MemberName</column-ref>
<column-ref>NodeId</column-ref>
<column-ref>ServiceName</column-ref>
</params>
</query>
<row>
<column id="MemberName">
<type>attribute</type>
<name>MemberName</name>
<query>
<pattern>Coherence:type=Node,nodeId={NodeId}</pattern>
</query>
</column>
<column id="NodeId">
<type>key</type>
<name>nodeId</name>
</column>
<column id="ServiceName">
<type>key</type>
<name>name</name>
</column>
</row>
</report>
Elements
Table B-5 describes the subelements of the query element.
B-7
Appendix B
Report File Element Reference
report
Used in: report-config
Description
The report element contains information necessary to generate a JMX-based report.
A report can include any number of report elements; however, a report file typically
contains a single report definition.
Elements
Table B-6 describes the subelements of the report element.
B-8
Appendix B
Report File Element Reference
report-config
Root Element
Description
The report-config element is the root element of the report configuration deployment
descriptor and contains the report definition.
Elements
Table B-7 describes the subelements of the report-config element.
row
Used in: report-config
Description
The row element contains a list of columns to include in the report.
Elements
Table B-8 describes the subelements of the row element.
B-9
C
Report Group Configuration Elements
The report group configuration reference provides a detailed description of the report group
deployment descriptor elements.
This appendix includes the following sections:
• Report Group Configuration Deployment Descriptor
• Report Group Element Reference
Note:
• The schema that is located in the coherence.jar library is always used at run
time even if the xsi:schemaLocation attribute references the Web URL.
• Omit the xsi:schemaLocation attribute to disable schema validation.
• When deploying Oracle Coherence into environments where the default
character set is EBCDIC rather than ASCII, ensure that the deployment
descriptor file is in ASCII format and is deployed into its run-time environment in
the binary format.
C-1
Appendix C
Report Group Element Reference
init-param
Used in: init-params
Description
The init-param element contains an initialization parameter for a report. The
parameter consists of either a parameter name or type and its value.
Elements
Table C-1 describes the subelements of the init-param element.
init-params
Used in: report-config
C-2
Appendix C
Report Group Element Reference
Description
The init-params element contains a list of initialization parameters.
Elements
Table C-2 describes the subelements of the init-params element.
report-config
Used in: report-group
Description
The report-config contains the configuration file name and the initialization parameters for
the report.
Elements
Table C-3 describes the subelements of the report-config element.
report-group
Used in: root element
Description
The report-group element describes the report list, the frequency, the report parameters,
and the output directory for the batch.
Elements
Table C-4 describes the subelements of the report-group element.
C-3
Appendix C
Report Group Element Reference
report-list
Used in: report-group
Description
The report-list element contains the list of reports to include in the batch.
Elements
Table C-5 describes the subelements of the report-list element.
C-4