Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 4 additions & 16 deletions .github/workflows/test-against-released.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,42 +44,30 @@ jobs:
version:
- 14.1.1-0-9
- 14.1.1-0-8
- 20.06.1
- 20.12.2
- 21.06.1
- 21.12.3
- 21.12.4
- 21.12.2
- 22.06

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Set up JDK 1.8 for NetBeans Dependencies build
uses: actions/setup-java@v1
with:
java-version: 1.8

- name: Print Versions
run: mvn -version && ant -version

- name: Cache Maven packages
uses: actions/cache@v1
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2

- name: Generate NetBeans Dependencies
shell: bash
run: |
bin/install-artifacts.sh /tmp/install/${{ matrix.version }}

- name: Set up JDK 11 for Build
uses: actions/setup-java@v1
with:
java-version: '11'

- name: Print Versions
run: mvn -version && ant -version

- name: Build
shell: bash
run: |
Expand Down
16 changes: 3 additions & 13 deletions .github/workflows/test-against-snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,31 +52,21 @@ jobs:
- name: Checkout
uses: actions/checkout@v2

- name: Set up JDK 1.8 for NetBeans Dependencies build
uses: actions/setup-java@v1
with:
java-version: 1.8

- name: Print Versions
run: mvn -version && ant -version

- name: Cache Maven packages
uses: actions/cache@v1
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2-snapshots

- name: Generate NetBeans Dependencies
shell: bash
run: |
bin/install-artifacts.sh /tmp/install/${{ matrix.branch }}

- name: Set up JDK 11 for Build
uses: actions/setup-java@v1
with:
java-version: '11'

- name: Print Versions
run: mvn -version && ant -version

- name: Build Coherence Snapshot
shell: bash
env:
Expand Down
108 changes: 15 additions & 93 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,19 @@ questions.
image::https://oracle.github.io/coherence/assets/images/logo-red.png[Coherence CE]

image:https://github.com/oracle/coherence-visualvm/workflows/Java%20CI%20-%20Released%20versions/badge.svg[CI Build]
image:https://img.shields.io/github/v/release/oracle/coherence-visualvm[Release]
image:https://sonarcloud.io/api/project_badges/measure?project=oracle_coherence-visualvm&metric=alert_status[Sonarcloud]

The Coherence-VisualVM Plugin (the Plugin) provides management and monitoring of a single Coherence cluster using the VisualVM management utility.

The Plugin aggregates Coherence MBean data and shows a concise operational view of a single Coherence cluster.
Some management information is presented over time, which allows real-time analysis and troubleshooting.
You can connect to clusters via JMX or via management over REST with Coherence versions 14.1.1 or above.
You can connect to clusters via JMX or via management over REST with Coherence versions 12.2.1.4 or above.

The Plugin is an ideal tool for monitoring and managing Coherence clusters during the development and testing lifecycle and supports connecting to both
Community Edition and Commercial versions of Coherence.

NOTE: This version of the Plugin requires VisualVM release 2.0.6 or later which is available from https://visualvm.github.io/.
NOTE: This version of the Plugin requires VisualVM release 2.1 or later which is available from https://visualvm.github.io/.

image::assets/coherence-visualvm.png[Coherence VisualVM Plugin,800,479]

Expand All @@ -56,9 +58,9 @@ image::assets/coherence-visualvm.png[Coherence VisualVM Plugin,800,479]

The Plugin will connect to and display data for the following Coherence versions:

**Community Editions**: 14.1.1.0.x, 20.06.x, 20.12.x, 21.06.x and 21.12.x
**Community Editions**: 14.1.1.0.x, 20.06.x, 20.12.x, 21.06.x, 21.12.x and 22.06.x

**Commercial Editions**: 14.1.1.0.x, 12.2.1.5.x, 12.2.1.4.x, 12.1.3.x, 12.1.2.x and 3.7.1.x
**Commercial Editions**: 14.1.1.0.x, 12.2.1.5.x, 12.2.1.4.x, 12.1.3.x, 12.1.2.x and 3.7.1.x (Support will be dropped for versions 12.1.3.x and older in an upcoming release)

NOTE: If you wish to connect to Coherence version 12.2.1.4.x via REST you should have Coherence version 12.2.1.4.7 or greater.

Expand All @@ -85,7 +87,7 @@ Other useful resources:
* https://coherence.community/[The Coherence Community - All things Coherence]
* https://visualvm.github.io/[VisualVM Home Page]
* https://github.com/oracle/coherence[Coherence Community Edition on GitHub]
* https://github.com/oracle/coherence/tree/master/examples[Various Coherence Examples]
* https://coherence.community/latest/22.06/docs/#/examples/README[Various Coherence Examples]
* https://github.com/oracle/coherence-operator[The Coherence Operator - Run your clusters in Kubernetes]

[#connect]
Expand Down Expand Up @@ -186,7 +188,7 @@ There are tool tips for each of the preferences, but a summary is shown below.
| Enable Zoom on Graphs | false | Enables additional zoom function for all graphs.
| Enable Cluster Snapshot tab | false | Enables experimental Cluster Snapshot tab. This tab is useful for seeing all the relevant cluster information on one pae in a text format.
| Enable Cluster Heap Dump | false | Enables the cluster heap dump button on the Cluster Overview tab.
| Analyze Unavailable Time in LogFile| | Provides the ability to analyze log files where Partition Events Logging has been enabled for logs generated from Coherence versions 21.06 and above. See https://coherence.community/21.06/docs/#/docs/core/07_partition_events_logging[here] for more details. Note: You select a Coherence log file to analyze and don't need to be connected to a running cluster.
| Analyze Unavailable Time in LogFile| | Provides the ability to analyze log files where Partition Events Logging has been enabled for logs generated from Coherence versions 21.06 and above. See https://docs.oracle.com/pls/topic/lookup?ctx=en/middleware/standalone/coherence/14.1.1.2206/release-notes&id=COHDG-GUID-41F5341C-0318-41B2-AEBF-B9DB7FBF25E7[here] for more details. Note: You select a Coherence log file to analyze and don't need to be connected to a running cluster.
!===

[#capabilities]
Expand All @@ -213,26 +215,21 @@ Depending upon the edition and functionality you are using, the following option
* **Elastic Data** - If your cluster is configured with Elastic Data, this tab displays graphs and information about RAM Journal and Flash Journal usage. You can click on each of the usage bars to show detailed node information
* **JCache** - If your cluster is being used to store JCache caches, this tab displays JCache "Management" and "Statistics" MBean information regarding the configured caches.
* **HotCache** - If your cluster contains HotCache node(s), then this tab lists the running HotCache instances. If you select an instance, on the next data refresh the console will display statistics and graphs for the operations performed. You may click on tabs and cache-ops to see further fine-grained information.
* **gRPC Proxies** – If you cluster is configured with gRPC Proxies, this tab displays information about the requests sent and received as well as successful and failed requests. A Graph of message rates and durations is also displayed. This tab will only show when connected via JMX and is not supported for REST connections.
* **gRPC Proxies** – If your cluster is configured with gRPC Proxies, this tab displays information about the requests sent and received as well as successful and failed requests. A Graph of message rates and durations is also displayed. This tab will only show when connected via JMX and is not supported for REST connections.
* **Health** – If your cluster supports the Health Check API, this tab displays information regarding the status of all health endpoints.

[#build]
== Building the Plugin

If you wish to build the Plugin from scratch you need to build the VisualVM dependencies first.
To build the plugin is a two-step process:

1. Generate the VisualVM dependencies
2. Build the Coherence VisualVM Plugin
If you wish to build the Plugin from scratch please follow the instructions below.

=== Pre-requisites

You must have the following:

1. Java JDK 1.8 - To build VisualVM dependencies
2. Java JDK 11+ - To build and test the plugin
3. Ant version >= 1.9.9
4. Maven 3.6.3+
5. Git
1. Java JDK 11+ - To build and test the plugin
2. Maven 3.6.3+
3. Git

=== Clone the Repository

Expand All @@ -243,81 +240,6 @@ You must have the following:
$ git clone https://github.com/oracle/coherence-visualvm.git
----

=== Generate the VisualVM dependencies

NOTE: These instructions have been summarized from https://github.com/oracle/visualvm/blob/release204/README.md.

NOTE: A Script `install-artifacts.sh` is available in the `bin` directory to run this for a Linux/Mac environment.

1. Ensure you have JDK8 in you PATH.

2. Checkout the VisualVM repository
+
[source,shell]
----
$ git clone https://github.com/oracle/visualvm.git

Cloning into 'visualvm'...
----

3. Checkout the `release204` branch
+
[source,shell]
----
$ cd visualvm

$ git checkout release204

Switched to a new branch 'release204'
----

4. Unzip the NetBeans Platform 11.3
+
[source,shell]
----
$ cd visualvm

$ unzip nb113_platform_19062020.zip
----

5. Build the Plugins
+
[source,shell]
----
$ ant build-zip
----

6. Unzip the artefacts
+
[source,shell]
----
$ cd dist

$ unzip visualvm.zip

$ cd ..
----

7. Generate the NBM's
+
[source,shell]
----
$ ant nbms
----

8. Install into the local repository
+
[source,shell]
----
$ mvn -DnetbeansInstallDirectory=dist/visualvm \
-DnetbeansNbmDirectory=build/updates \
-DgroupIdPrefix=org.graalvm.visualvm \
-DforcedVersion=RELEASE204 org.apache.netbeans.utilities:nb-repository-plugin:populate
----

NOTE: See https://github.com/oracle/visualvm/blob/release204/README.md[here] for instructions on how to
push the artefacts to a remote Maven repository.

==== Build the VisualVM Plugin

1. Ensure you have JDK11 or above in your PATH.
Expand All @@ -335,7 +257,7 @@ If you wish to run the Community Edition tests then leave out the `-DskipTests`.

3. Install the Plugin
+
The plugin will be available in the location `coherence-visualvm-plugin/target/coherence-visualvm-plugin-{version}`
The plugin will be available in the location `coherence-visualvm-plugin/target/coherence-visualvm-plugin-{version}.nbm`

Follow the instructions https://docs.oracle.com/en/middleware/standalone/coherence/14.1.1.0/manage/using-jmx-manage-oracle-coherence.html[here]
to install the plugin manually.
Binary file added assets/coherence-visualvm-health.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 7 additions & 7 deletions coherence-visualvm-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
<parent>
<groupId>com.oracle.coherence.plugin.visualvm</groupId>
<artifactId>coherence-visualvm-main</artifactId>
<version>1.3.1-SNAPSHOT</version>
<version>1.4.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand All @@ -55,7 +55,7 @@
<artifactId>org-graalvm-visualvm-uisupport</artifactId>
</dependency>
<dependency>
<groupId>org.graalvm.visualvm.api</groupId>
<groupId>org.netbeans.api</groupId>
<artifactId>org-openide-awt</artifactId>
</dependency>
<dependency>
Expand All @@ -79,23 +79,23 @@
<artifactId>org-graalvm-visualvm-tools</artifactId>
</dependency>
<dependency>
<groupId>org.graalvm.visualvm.api</groupId>
<groupId>org.netbeans.api</groupId>
<artifactId>org-openide-modules</artifactId>
</dependency>
<dependency>
<groupId>org.graalvm.visualvm.api</groupId>
<groupId>org.netbeans.api</groupId>
<artifactId>org-openide-util</artifactId>
</dependency>
<dependency>
<groupId>org.graalvm.visualvm.api</groupId>
<groupId>org.netbeans.api</groupId>
<artifactId>org-openide-dialogs</artifactId>
</dependency>
<dependency>
<groupId>org.graalvm.visualvm.api</groupId>
<groupId>org.netbeans.api</groupId>
<artifactId>org-openide-windows</artifactId>
</dependency>
<dependency>
<groupId>org.graalvm.visualvm.api</groupId>
<groupId>org.netbeans.api</groupId>
<artifactId>org-netbeans-modules-options-api</artifactId>
</dependency>
<dependency>
Expand Down
Loading