Java Micro-Agent Compatibility and Requirements

This article lists the technologies (third-party software and tools and their versions) that can be used with the OverOps Java Agent. This list changes, so check back to see what's changed.

Operating Systems

The OverOps Java Agent is a highly flexible agent that can be installed on many different types of operating systems (although all OSs must be 64-bit).

This section lists the supported operating systems and new ones are added on a regular basis.


{
  "data": {
    "h-0": "Operating System",
    "h-1": "Supported JVMs",
    "h-2": "Supported Containers",
    "h-3": "Notes",
    "0-0": "**Windows Operating Systems**  \nPC: Windows Vista SP2  - Windows 10  \nServer: Windows Server 2008 and later",
    "0-1": "HotSpot:  \nOracle:  \n6u20 - 6u45  \n7 - 7u80  \n8 - 8u221  \n8 - 8u232  \n9 - all updates  \n10/11/17/21 - all updates with our new Micro-Agent (see [Using a JVM Running Java 10, 11, 17 or 21](doc:supported-third-party-software-and-tools#section-using-a-jvm-running-java-10-or-11) below for details).",
    "0-2": "Jetty  \nScala  \nEclipse  \nNetBeans  \nIntelliJ  \nJBoss/Wildfly  \nCloudFoundry  \nWeblogic  \nPlay Framework  \nGlassfish  \nMule  \nTomcat",
    "0-3": "OverOps supports a large number of Java frameworks, such as  Spark, Hadoop, JSP, Akka, Nashorn, Rhino, and more.",
    "1-0": "**Linux Operating Systems**  \nUbuntu: 14+  \nDebian:  \nCentOS: 6.5+  \nRedHat: 5.0 +  \nSuse: SLES12+  Arm: Graviton V2+",
    "1-1": "HotSpot:  \nOracle:  \n6u20 - 6u45  \n7 - 7u80  \n8 - 8u221  \n8 - 8u232  \n9 - all updates  \n10/11 - all updates with our new Micro-Agent (see [Using a JVM Running Java 10, 11, 17 or 21](doc:supported-third-party-software-and-tools#section-using-a-jvm-running-java-10-or-11) below for details).  \n  \nOpenJDK:  \n6u20 - 6u45  \n7 - 7u80  \n8 - 8u222  \n8 - 8u232  \n9 - all updates  \n10/11/17/21 - all updates with our new Micro-Agent (see [Using a JVM Running Java 10, 11, 17 or 21](doc:supported-third-party-software-and-tools#section-using-a-jvm-running-java-10-or-11) below for details).",
    "1-2": "Jetty  \nScala  \nEclipse  \nNetBeans  \nIntelliJ  \nJBoss/Wildfly  \nCloudFoundry  \nWeblogic  \nPlay Framework  \nGlassfish  \nMule  \nWebSphere  \nTomcat",
    "1-3": "The OverOps solutions requires Linux versions that support Bash 4 and higher.",
    "2-0": "**Unix Operating Systems**  \nAIX 6+, 7+, 8+",
    "2-1": "J9: 6, 7, 8 - all versions",
    "2-2": "WebSphere 7, 8",
    "2-3": "",
    "3-0": "**Mac Operating Systems**",
    "3-1": "N/A",
    "3-2": "",
    "3-3": "[Discontinued]",
    "4-0": "**Alpine** : Versions 3.6 to 3.12",
    "4-1": "HotSpot:  \nOpenJDK based on MUSL libc:  \n8 - 8u222  \n8 - 8u232  \n11 - 11.0.9",
    "4-2": "Docker",
    "4-3": "libstdc++"
  },
  "cols": 4,
  "rows": 5,
  "align": [
    "left",
    "left",
    "left",
    "left"
  ]
}

Using a JVM Running Java 10, 11, 17 or 21

When attaching an OverOps Agent to a JVM that is running Java 10, 11, 17 or 21 or any IBM java versions, follow these guidelines:

  1. Turn off Class Sharing: This can be done using the following flags:
    for IBM Java ‑Xshareclasses:none for HotSpot -Xshare:off -XX:-UseTypeSpeculation

  2. Increase ReservedCodeCache to at least 512mb by adding the following flag
    -XX:ReservedCodeCacheSize=512m

  3. The Agent should appear last in the VM arguments list before specifying the main class or jar.

  4. When adding/removing 3rd party packages, the Agent should be restarted.

Additionally, if you wish to upgrade your own compiler to target Java 10/11/16/17, then you'll have to upgrade your Collector (SaaS) or Collector + backend (On-Premises) to support it.

OverOps Components
An application running on Java 10, 11, 16 or 17 requires all OverOps components to be on version 4.36 or later:

  • Agent(s)
  • Collector(s)
  • On-Premises Server (where applicable)

Additionally, if you wish to upgrade your own compiler to target Java 10/11/16/17, then you'll have to upgrade your Collector (SaaS) or Collector + backend (On-Premises) to support it.

Containers

A container is a standard unit of software that packages code and all its dependencies. This enables the application to run quickly and reliably from one computing environment to another.

Container TechnologyNote
Docker
CloudFoundryCloudFoundry - Cloud Foundry is an open source, multi-cloud application platform as a service governed by the Cloud Foundry Foundation, a 501 organization. The software was originally developed by VMware and then transferred to Pivotal Software, a joint venture by EMC.
Kubernetes

Programming Languages

The OverOps Java Agent supports only JVM-based languages. Non JVM-based languages such as Python, C, C++, C#, PHP, Ruby, etc. are not supported.

Aspect's (e,g., AspectJ) is also not supported in the OverOps solution.

The OverOps Java Micro-Agent works with languages that work on JVM; however, only the languages below have been formally tested.

LanguageVersion
JavaVersion 1.6.0_20 and higher, 1.7, 1.8, 9, 10, 11, 17, 21
ScalaVersion 2.0 and up with source-attach required
ClojureVersion 1.2 and up with source-attach required