Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Tools to Power Every Phase of Java Development (Part 2)

DZone's Guide to

Tools to Power Every Phase of Java Development (Part 2)

There's no shortage of Java tools on the market, both free and paid. Here, we break down what you can choose from for code coverage, logging, and APM.

· Java Zone
Free Resource

Learn how to troubleshoot and diagnose some of the most common performance issues in Java today. Brought to you in partnership with AppDynamics.

Welcome back! In case you missed Part 1, we began our journey to better Java development by presenting an overview of the tools every developer should be aware of, with a focus on the more general-purpose tools out there and IDEs. Today, we're going to focus on code analysis, profiling, logging, and performance tools.

To lend a hand, we'll be covering some of the key features of each tool as well as pricing breakdowns to help you make the best possible decisions for your projects. We left off on tool 15, so, we'll pick up from there.

Code Analysis/Coverage, Profiling, Logging, and App Performance Tools

16. Retrace

@Stackify

Retrace

What could be better than a debugging tool that works seamlessly with your existing processes? Enter Retrace, Stackify’s APM that combines errors, logs, metrics, and monitoring in a single suite of tools to supercharge your application performance.

Key Features:

  • Combines logs, errors, and APM
  • Structured/semantic logging
  • Advanced searching and filtering capabilities
  • View and search custom log properties
  • Automatic color-coding to draw attention to errors and warnings
  • Tracking and reporting on where your log messages originated in your code
  • Detailed traces on web requests and transactions
  • View full application error details
  • Explore all your logging fields
  • Log analytics
  • Real-time log tailing
  • Use tags (highlighted in your logs)
  • Supports a variety of application and server logs

Cost:

  • Starts at $10/month for QA/Pre-Prod Servers
  • $25 – $50/month for Production Servers
  • Start a free trial 

17. OverOps

@overopshq

OverOps

OverOps answers all the important questions that run through your mind when your code breaks (when? why?). It has a lightweight macro-agent that detects when your code breaks, notifies your team in real-time about where the break occurred and what variable state caused it, and more.

Key Features: 

  • Proactively detect when deployments produce errors
  • Avoid release delays by mitigating production issues
  • Find root cause in production with full source code and variables
  • See variables behind any log error
  • Real-time alerts

Cost: 

  • Lite: Free forever, 1 User / 1 JVM
  • Pro: $109/month per JVM with annual plan, up to 25 users
  • Enterprise: Contact for a quote

18. Monit

Monit

Monit offers easy, proactive monitoring for Unix systems, as well as network and cloud services. Monit makes it simple to conduct automatic maintenance and recovery. Think of Monit like your personal Unix “watchdog.”

Key Features: 

  • Conducts automatic maintenance and repairs when errors arise
  • Monitors process characteristics, so you always know how much memory is being used
  • Works across your Unix framework
  • Modern, clean user interface

Cost: 

  • 5 Hosts: € 65
  • 10 Hosts: € 129
  • 20 Hosts: € 229
  • 50 Hosts: € 349
  • 100 Hosts: € 499
  • 1,000 Hosts: € 699

19. YourKit

@yourkit

YourKit

YourKit is one of the most popular Java profiling tools on the market. It is known as having the most innovative and intelligent tools for profiling Java and .NET applications.

Key Features:

  • Profile any SE or EE application, server, technology and framework
  • Can be used with multiple platforms
  • For teams and companies of any size
  • All-in-one profiler
  • Developer friendly environment

Cost:

  • Per-seat license
    • 1 year of basic support
      • Single license $499 / €459
      • 5-License pack $1,399 / €1,289
    • 1 year of advanced support
      • Single license $649 / €599
      • 5-License pack $1,819 / €1,679
    • 2 years of advanced support
      • Single license $999 / €919
      • 5-License pack $2,800 / €2,579
  • Floating license
    • 1 year of basic support
      • Single license $2,499 / €2,299
      • 5-License pack $2,999 / €2,759
    • 1 year of advanced support
      • Single license $3,250 / €2,990
      • 5-License pack $3,899 / €3,589
    • 2 years of advanced support
      • Single license $5,000 / €4,600
      • 5-License pack $6,000 / €5,520
  • Enterprise license (contact for a quote)
  • Academic license
    • 1 year of basic support
      • Per-seat license $99
      • Institution-wide license $999
  • Open source project license (contact for a quote)

20. FindBugs

@FindBugs

FindBugs

FindBugs is a static code analysis tool looking for bugs in Java code. It is distributed under the Lesser GNU Public License.

Key Features:

  • Easy to use
  • Simple way to look for bugs in Java code
  • Free software

Cost:

  • FREE

21. Apache Maven

@ASFMavenProject

Apache Maven

Apache Maven is a software project management and comprehension tool that is best known for dependency management, build actions, debugging and collaboration.

Key Features:

  • Can manage project’s build, reporting, and documentation from central information
  • Simple project setup
  • Consistent usage across all projects
  • Dependency management including automatic updating, dependency closure

Cost:

  • FREE

22. JRat (Java Runtime Analysis Toolkit)

JRat (Java Runtime Analysis Toolkit)

JRat or the Java Runtime Analysis Toolkit is a tool that can measure an application’s performance. You can then identify possible problems that can affect application performance with the use of this tool.

Key Features:

  • Monitors an application’s execution
  • Persistent performance measurements
  • Data can be viewed and analyzed on JRat Desktop (Swing application)

Cost:

  • FREE

23. VisualVM

@visualvm

VisualVM

VisualVM is Java profiling tool that is designed for both development and production time use. It is lightweight and an all-in-one Java troubleshooting tool.

Key Features:

  • It monitors and troubleshoots applications running on Java 1.4+
  • Fits the requirements of application developers, end users, quality engineers, and system administrators
  • Displays local and remote Java processes
  • Displays process configuration and environment
  • It can monitor process performance and memory

Cost:

  • FREE

24. SonarQube

@SonarQube

SonarQube

SonarQube is a leading static code analysis tool. It is an entire platform for code quality analysis, syntax checking and code metrics.

Key Features:

  • Entire platform for code quality analysis, syntax checking and code metrics
  • Write clean code
  • DevOps Integration
  • Centralize Quality

Cost:

  • FREE

25. Clover

@atlassian

Clover

Atlassian’s Clover is a tool that provides Java and Groovy code coverage.

Key Features:

  • Java and Groovy code coverage
  • Free to open source projects
  • Source code instrumentation technique that can collect code metrics
  • Historical reporting
  • Command-line tool set

Cost:

  • FREE

26. Log4j

Log4j

Log4j is the leading logging library framework. The new version of the tool offers significant improvements over its predecessor.

Key Features:

  • API Separation
  • Improved Performance
  • Support for multiple APIs
  • Avoid lock-in
  • Automatic Reloading of Configurations
  • Advanced Filtering
  • Plugin Architecture
  • Property Support

Cost:

  • FREE

27. Checkstyle

@checkstyle_java

Checkstyle

Checkstyle is a leading syntax checking tool. It is a development tool that can help programmers write Java code that follows coding standards.

Key Features:

  • Highly configurable
  • Can be made to support any coding standard
  • Can check many aspects of source code
  • Can find class design problems or method design problems
  • Has the ability to check code layout and formatting issues

Cost:

  • FREE

28. WildFly

@WildFlyAS

WildFly

WildFly is an application management framework that is known for being lightweight and flexible. It helps with building applications.

Key Features:

  • Fast startup
  • Ultimate web performance and scalability
  • Memory diet (lightweight)
  • Customizable runtime
  • Unified configuration and management
  • Domain and standalone management
  • Supports latest standards and technology

Cost:

  • FREE

29. Cobertura

Cobertura

Cobertura is a code coverage utility for Java. This Java tool helps calculate the percentage of code accessed by tests. It is free to use.

Key Features:

  • Coverage annotations – it allows people to add a Java 6 annotation
  • Ant Task Reference
  • Works through command-line or via ant tasks

Cost:

  • FREE

30. JProfiler

 JProfiler

JProfiler is a tool for Java profiling, combining CPU, Memory and Thread profiling into one application. It is offered by ej-technologies.

Key Features:

  • Live profiling of a local session
  • Live profiling of a remote session
  • Offline profiling and triggers
  • Snapshot comparisons
  • Viewing an HPROF snapshot
  • Request tracking

Cost:

  • FREE

31. XRebel

@zeroturnaround

XRebel

XRebel is a tool for Java web application development time profiler. It supports real-time performance insights that can be very helpful for developers looking to find and fix any issues early on.

Key Features:

  • Real-time feedback
  • Always on
  • Made for development
  • Track down hidden exceptions

Cost:

  • FREE trial
  • $365 for annual license

Summary

And that's the lot of them! Hopefully, you found this list of APM, logging, and code analysis/coverage tools helpful in your decision making. Next up, in Part 3, we'll be examining the CI tools out there as well as what you can use for app servers and app management, the web frameworks you can choose from, and what tools will help you test your code. Stay tuned!

Understand the needs and benefits around implementing the right monitoring solution for a growing containerized market. Brought to you in partnership with AppDynamics.

Topics:
java ,java tools ,code coverage ,logging ,apm

Published at DZone with permission of Angela Stringfellow, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}