7 New Tools Java Developers Should Know
Get ready to lock and load through this quick overview
of some of the newest most innovative, tools around. In case you’ve missed it,
Rebel Labs recently released the results of
a global survey of the Java tools and technologies landscape. Alongside the big
names and established tools, the market is bubbling with fresh tools and
frameworks that not so many people have heard of (yet). In this post I decided
to gather a short list of such tools, most of them
launched just recently. Some are Java specific and some support
other languages as well, but they’re all great for Java projects and share
a vision of simplicity.
1. JClarity –
Performance Monitoring
Launched last September, JClarity is now offering two
products around Java performance: Illuminate and Censum. Illuminate is a
performance monitoring tool, while Censum is an application focused on
garbage collection logs analysis. More than just collecting data or visualizing
it, both tools provide actionable insights to solve the issues they detect.
“What we want to do is to
move the problem from data collection to data analysis and insight”– JClarity Co-Founder Ben Evans.
Key features:
- Bottleneck detection (Disk I/O, Garbage
Collection, Deadlocks, and more).
- Action plan – Recommendations to solve the
problem, such as “The application needs to increase the number of active
threads”.
- Explanation – Defining the problem in general and
the common causes for it, for example “A high percentage of time spent
paused in GC may mean that the heap has been under-sized”.
2. Bintray –
Social Platform for Binaries
Java developers are being kept in the dark in a way
when importing libraries from “anonymous” repositories. Bintray adds a face to
the code and actually, serves as a social platform for developers to share
open-source packages (Did someone say GitHub for binaries? Login with GitHub
for the full inception effect to kick in). It has over 85,000 packages in
18,000 repositories, while showcasing popular repositories and new releases.
Key features:
- Upload your binaries for the world to see, get
feedback and interact with other developers.
- Download libraries with Gradle / Maven / Yum /
Apt, or just directly.
- Manage release notes and documentation.
- REST API – Search / Retrieve binaries and
automate distribution.
3. Librato –
Monitoring & Visualization Cloud Services
A hosted service for monitoring and managing cloud
applications, Librato can create custom dashboards in seconds without a need to
set up or deploy any software. Oh, and it just looks and feels so buttery
smooth compared to other dashboards.
“Data is only as valuable as the actionable insights you can surface from it”, Says Joe Ruscio, Co-Founder & CTO.
“Data is only as valuable as the actionable insights you can surface from it”, Says Joe Ruscio, Co-Founder & CTO.
Key features:
- Data collection: Integration with Heroku, AWS,
tens of collection agents (EvenNest) and pure
language bindings with Java, Clojure and others.
- Custom reports: Metrics & alerts through
email, HipChat, Campfire, and just HTTP POST requests to integrate with
anything you can think of.
- Data visualization: Beautiful graphs with
annotations, correlations, sharing and embedding options.
- Alerts: Automatic notifications when metrics
cross certain thresholds.
4. Takipi –
Error tracking and analysis
Takipi was built with a simple objective in mind:
Telling developers exactly when andwhy production
code breaks. Whenever a new exception is thrown or a log error occurs – Takipi
captures it and shows you the variable state which caused it, across methods
and machines. Takipi will overlay this over the actual code which executed at
the moment of error – so you can analyze the exception as if you were there
when it happened.
Key features:
- Detect – Caught/uncaught exceptions, Http and
logged errors.
- Prioritize – How often errors happen across your
cluster, if they involve new or modified code, and whether that rate is
increasing.
- Analyze – See the actual code and variable state,
even across different machines and applications.
5. Elasticsearch –
Search & Analytics platform
Elasticsearch has been around for a while, but
Elasticsearch 1.0.0 was released just recently in February. It’s an
open-source project built on top of Apache Lucene and hosted on GitHub with over 200 contributors. You
can check out the code. The main promise Elasticsearch provides is an easy to
use scalable distributed RESTful search.
Key features:
- Near real-time document store where each field is
indexed and searchable.
- Distributed search with an architecture built to
scale from small to large applications.
- A RESTful and a native Java API among others. It
also has a library for Hadoop.
- Works out of the box and doesn’t necessarily
require deep understanding of search, it can also be schema free so you
can start real fast.
6. Spark – Micro Web
Framework
Back to pure Java, Spark is a Sinatra inspired
micro web framework for quickly creating web applications. It
was rewritten earlier this year to support Java 8 and lambdas, Spark
is open-source and its code is available on GitHub. It’s being developed by Per
Wendel and a small number of contributors over the last few years in a mission
to support rapid creation of web applications with minimal effort.
Key features:
- Quick and simple setup for your first deployment.
- Intuitive route matcher.
- A template engine to create reusable components
that supports Freemarker, Apache Velocity and Mustache.
- Standalone Spark runs on Jetty but can also run
on Tomcat.
7. Plumbr –
Memory Leak Detection
Going deeper in the JVM, the Garbage Collector scans
for objects that are no longer being used. However, sometimes developers will
still hold references to objects in memory they no longer use. This is where
memory leaks happen, and where Plumbr comes in. It detects and reports if the
application has memory leakage issues and provides actionable information to
fix it.
Key features:
- Live memory leak detection and alerts.
- A report with time, size, velocity (MB/h) and
significance of the leak.
- The location of the memory leak in your code.
No comments:
Post a Comment