What Are Java Agents and How to Profile With Them

Java agents are a special type of class which, by using the Java Instrumentation API, can intercept applications running on the JVM, modifying their bytecode. Java agents aren’t a new piece of technology. On the contrary, they’ve existed since Java 5. But even after all of this time, many developers still have misconceptions about this feature—and others don’t even know about it. In this post, we remedy this situation by giving you a quick guide on Java agents.


AppDynamics Introduces Enhanced Amazon CloudWatch Integration and Support for Serverless APM

We're delighted to announce our CloudWatch Integration for Elastic Load Balancer and AppDynamics Serverless APM, which now supports the instrumentation of AWS Lambda applications and microservices in both Node.js and Java.

eg innovations

Top 9 WebLogic Performance Metrics to Monitor

Oracle WebLogic Server (WLS) is one of the leading Java Enterprise Edition (Java EE) application servers in the market today. Offering a robust, mature, and scalable implementation of the J2EE specification, the WebLogic Platform is a unified, extensible platform for developing and deploying applications based on Service-Oriented Architectures (SOA).


Here's How to Calculate Elapsed Time in Java

Many things in programming sound like they should be easy, but are quite hard. Calculating elapsed time in Java is one of those. How hard could that be? As it turns out, it can be tricky. For starters, we have the fact that time itself is a tricky concept. For a quick example, remember that many places around the world observe Daylight Savings Time. Failing to take DST into account when you should, can and often does result in incorrect calculations.


Wavefront Introduces Java Tracing Agent Delivering Out-of-the-Box Application Observability

Distributed tracing is a critical piece of application observability. But instrumenting your applications with traces is not always easy. Whether you are an SRE or a developer, you need application observability. But you might not prefer to instrument code. That is where the Wavefront Tracing Agent for Java comes in handy, as it provides application observability without needing any code change.

eg innovations

Top 7 Tomcat Metrics for Java Performance Monitoring

The Apache Tomcat software is an open-source implementation of the ava Servlet, JavaServer Pages (JSPs), Java Expression Language and Java WebSocket technologies. Tomcat is often used as a backend application server that connects to other web-facing servers like Apache and Microsoft IIS. Tomcat also includes its own native HTTP connector that allows it to be used as a standalone HTTP server.


Gradle Build Files: Consistency Over Cute, Every Time

In the Java ecosystem, two build tools dominate the landscape: Maven and Gradle. Whereas Maven is XML oriented and therefore trades human readability for consistency, Gradle's DSL approach allows for more concise and human-readable build definitions. While there are certainly benefits to human readability, it also involves a risk which can, quite insidiously, invade your organization.


The Top 100 Java Libraries of 2019 - Based on 30,073 Source Files

The 2019 edition of the Top 100 Java Libraries. It’s been almost 25 years since Java first launched, and it’s still the most popular programming language out there (according to TIOBE, October 2019). Just because it’s been around for a while, doesn’t mean that it’s not changing and adapting to answer its developers’ needs. Just this year, Oracle launched both Java 12 and Java 13, adding more features and abilities to the language.


JVM Tuning: How to Prepare Your Environment for Performance Tuning

When it comes to Java applications, to make sure they run at peak performance, it’s critical to close the resource gap between the code and the virtual machine it’s running on – if there is one. The way to do that is by peaking into and fine-tuning the Java Virtual Machine (JVM). However, that’s easier said than done. Many factors can influence JVM performance, and during tuning, you must consider all of them. Though, there are ways around that to make it not be such a pain.


Monitor Java memory management with runtime metrics, APM, and logs

The Java Virtual Machine (JVM) dynamically manages memory for your applications, ensuring that you don’t need to manually allocate and release memory in your code. But anyone who’s ever encountered a java.lang.OutOfMemoryError exception knows that this process can be imperfect—your application could require more memory than the JVM is able to allocate.