Skip to main content

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 SystemSupported Versions
Linux/Centos6.5+
Linux/RedHat6.0+
Linux/Debian10+
Linux/SuseSLES 12+
Linux/Ubuntu14+
Windows7+
Windows Server2012+
Alpine3.10+
Amazon Linux (Arm)2 (Graviton 2)
Amazon Linux2+
AIX6.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 VersionComments
Java6-
Kotlin1.5Requires source attach
Scala2.0Requires source attach
note

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 VersionLTSReleased onEnd of LifeComments
17*2021-09-30--
11*2018-09-302023-09-30-
8*2014-03-312025-03-31-
72011-07-312022-07-31-
62006-09-302018-12-31update 20 and above
note

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 VersionLTSReleased onEnd of LifeComments
17*2021-09-30--
11*2018-09-302024-10-30-
8*2014-03-312023-06-30-
72011-07-312020-06-30-
62006-12-312016-12-31update 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
note

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 VersionLTSReleased onEnd of LifeComments
8*---
7---
6---
note

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

NameVersion
JettyTBD
ScalaTBD
EclipseTBD
NetBeansTBD
IntelliJTBD
JBoss/WildflyTBD
CloudFoundryTBD
WeblogicTBD
Play FrameworkTBD
GlassfishTBD
MuleTBD
WebSphereTBD
TomcatTBD

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
note

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