Operations | Monitoring | ITSM | DevOps | Cloud

Java

13 Best Performance Monitoring Tools for Java

The Java programming language is simple to learn and use, and it is frequently used by web developers to create applications. However, monitoring the performance of a Java-based application might be difficult because it is not a simple process. Implementing multiple monitoring tools to track Java logs, metrics, infrastructure data, and other operational factors is necessary for troubleshooting inefficiencies.

Debugging the Java Message Service (JMS) API using Lightrun

The Java Message Service API (JMS) was developed by Sun Microsystems in the days of Java EE. The JMS API provides us with simple messaging abstractions including Message Producer, Message Consumer, etc. Messaging APIs let us place a message on a “queue” and consume messages placed into said queue. This is immensely useful for high throughput systems – instead of wasting user time by performing a slow operation in real-time, an enterprise application can send a message.

Java vs Python

Computer science is crucial to our lives today, and programming languages play a fundamental role. These languages act as a programmer’s toolbox. However, choosing a language can be challenging, especially when deciding between the two most popular options. These options include Java and Python. Java and Python are widely used as general-purpose programming languages for desktop and web applications. There are many similarities when comparing the two, but there are also significant differences.

Spring Transaction Debugging in Production with Lightrun

Spring makes building a reliable application much easier thanks to its declarative transaction management. It also supports programmatic transaction management, but that’s not as common. In this article, I want to focus on the declarative transaction management angle, since it seems much harder to debug compared to the programmatic approach. This is partially true. We can’t put a breakpoint on a transactional annotation. But I’m getting ahead of myself.

Troubleshooting Spring Boot applications with Sentry

Some months ago we wrote a quick guide on how to use Sentry with Spring Boot and Logback. Since then, we’ve continued working on improving the development experience, added several features for error reporting and, most importantly, implemented the performance feature in Sentry Java SDK with a dedicated integration with Spring MVC. If you haven’t yet used Sentry in a Spring Boot application - nothing to worry about - you will find all the necessary steps below.

Debugging jsoup Java Code in Production Using Lightrun

Scraping websites built for modern browsers is far more challenging than it was a decade ago. jsoup is a convenient API that makes scraping websites trivial via DOM traversal, CSS Selectors, JQuery-Like methods and more. But it isn’t without its caveat. Every scraping API is a ticking time bomb.

How to get started with OpenTelemetry auto-instrumentation for Java

If you’re new to OpenTelemetry, like I was, you might be wondering how to quickly get started. OpenTelemetry is becoming the gold standard to collect all of your machine data and is changing observability as we know it. Instead of learning multiple technologies to collect all data, you can leverage a single cloud-native framework to complete your observability.

Debugging JAXB Production Issues

Java Architecture for XML Binding (AKA JAXB API) is a popular API for marshaling XML data. It’s a framework for mapping between XML documents and Java POJOs (Plain Old Java Objects, AKA regular Java classes) almost seamlessly. The API is very easy to use and many frameworks leverage it to provide their XML support. JAXB2.0 has gained popularity both in desktop applications (Java SE) and in application server code (Spring Boot, Java EE/Jakarta EE, Microprofile etc.).

Debugging Java Equals and Hashcode Performance in Production

I wrote a lot about the performance metrics of the equals method and hash code in this article. There are many nuances that can lead to performance problems in those methods. The problem is that some of those things can be well hidden. To summarize the core problem: the hashcode method is central to the java collection API. Specifically, with the performance of hash tables (specifically the Map interface hash table). The same is true with the equals method.