What's supported in Harness CET
Continuous Error Tracking Agent compatibility
This article provides a list of technologies that can be used with the Continuous Error Tracking (CET) Agent. These technologies include operating systems (OS), programming languages, third-party software, and tools, along with their respective versions.
The CET Agent is a native agent, which means its compatibility with various OS and Java Virtual Machines (JVMs) may vary. Therefore, it is important to carefully consider the details of where the Agent is supported and where it is not supported.
Operating System compatibility
The CET Agent can be installed on a variety of operating systems. The Agent requires operating systems that are 64-bit and compatible with one of the following architectures: x86-64, AArch64, or PowerPC 64.
Operating System | Supported Versions |
---|---|
Linux/Centos | 6.5+ |
Linux/RedHat | 6.0+ |
Linux/Debian | 10+ |
Linux/Suse | SLES 12+ |
Linux/Ubuntu | 14+ |
Windows | 7+ |
Windows Server | 2012+ |
Alpine | 3.10+ |
Amazon Linux (Arm) | 2 (Graviton 2) |
Amazon Linux | 2+ |
AIX | 6.1+, 7.1, 7.2, 8+ |
Java
The CET Agent supports Java as well as other languages that run on top of the Java Virtual Machine (JVM).
Supported languages
Language | Minimum Version | Comments |
---|---|---|
Java | 6 | - |
Kotlin | 1.5 | Requires source attach |
Scala | 2.0 | Requires source attach |
Harness recommends using the source attach when using non-Java languages with the CET Agent. This is because if the source files are missing, CET uses decompiled sources to display your code. The decompilers only support Java, and if code generated by non-Java languages is decompiled, it may lose readability and become unusable.
Oracle HotSpot VM
Java Version | LTS | Released on | End of Life | Comments |
---|---|---|---|---|
17 | * | 2021-09-30 | - | - |
11 | * | 2018-09-30 | 2023-09-30 | - |
8 | * | 2014-03-31 | 2025-03-31 | - |
7 | 2011-07-31 | 2022-07-31 | - | |
6 | 2006-09-30 | 2018-12-31 | update 20 and above |
Make sure to include the following VM flags when attaching an Error Tracking Agent to an Oracle JVM:
-Xshare:off -XX:-UseTypeSpeculation
: This flag disables class sharing, which helps prevent potential issues that could hinder the agent's functionality.-XX:ReservedCodeCacheSize=512m
: This flag increases the reserved memory for the code cache to a minimum of 512 MB. This prevents performance problems when the application uses many classes.
OpenJDK
Java Version | LTS | Released on | End of Life | Comments |
---|---|---|---|---|
17 | * | 2021-09-30 | - | - |
11 | * | 2018-09-30 | 2024-10-30 | - |
8 | * | 2014-03-31 | 2023-06-30 | - |
7 | 2011-07-31 | 2020-06-30 | - | |
6 | 2006-12-31 | 2016-12-31 | update 20 and above |
OpenJDK support extends to other derivatives, but not all of them are thoroughly tested. Following are some examples:
- Amazon Correto
- Adopt OpenJDK
- Adopt Zulu
Make sure to include the following VM flags when attaching an Error Tracking Agent to an OpenJDK JVM:
-Xshare:off -XX:-UseTypeSpeculation
: This flag disables class sharing, which helps prevent potential issues that could hinder the agent's functionality.-XX:ReservedCodeCacheSize=512m
: This flag increases the reserved memory for the code cache to a minimum of 512 MB. This prevents performance problems when the application uses many classes.
IBM
The IBM JVM(J9) is supported only on AIX., and include the following:
Java Version | LTS | Released on | End of Life | Comments |
---|---|---|---|---|
8 | * | - | - | - |
7 | - | - | - | |
6 | - | - | - |
When attaching the CET Agent to an IBM JVM, include the VM flag -Xshareclasses:none
to ensure proper functionality. This flag disables class sharing, which could otherwise hinder the Agent's performance.
Supported application servers
Name | Version |
---|---|
Jetty | TBD |
Scala | TBD |
Eclipse | TBD |
NetBeans | TBD |
IntelliJ | TBD |
JBoss/Wildfly | TBD |
CloudFoundry | TBD |
Weblogic | TBD |
Play Framework | TBD |
Glassfish | TBD |
Mule | TBD |
WebSphere | TBD |
Tomcat | TBD |
Interaction of CET with other Java Agents
CET performs isolated machine code instrumentation, which ensures that the CET Agent doesn't interfere with the bytecode of other agents. From CET perspective, all code is treated as system code.
The majority of monitoring performed by the CET occurs in native code at a lower level compared to most other Java agents. This characteristic allows CET to seamlessly coexist with other agents at the bytecode level. Additionally, CET has minimal impact on CPU, memory, and network resources on your server, ensuring that the performance of other agents is not affected by its monitoring activities.
List of other Java Agents
- Dynatrace OneAgent
- AppDynamics
- New Relic - 3.38+
- ServiceNow
- PagerDuty
- Lightrun
When utilizing multiple Agents, Harness recommends placing the CET Agent as the last entry in the VM arguments list before specifying the main class or JAR. This order ensures proper initialization and interaction between the different agents.
Non-supported Agents
Following agents are not compatible with the CET Java Agent:
- Dynatrace AppMon Agent
- JRebel Agent
- Takipi/OverOps
Non-supported Java plugins
Following Java plugins are not compatible with the CET Java Agent:
- JaCoCo Maven plugin