Monitoring & Observability for Java APM

Monitor application processes at the most granular levels from a single enterprise-wide dashboard. Automatically detect and correct errors and failures before they impact your application process flows. Capture extensive information on application performance enable proactive performance tuning, load balancing, and capacity planning to maximize the availability and reliability of your business applications. Extend the powerful monitoring and control functions of the Nastel Platform to all of your Java applications.
Rapid Instrumentation
Rapid Instrumentation of Java applications using a straightforward GUI (Graphical User Interface) Wizard.
Integration
Integration with the Nastel Platform’s sophisticated rules and notification engine.
Access attributes
Access to Java application attributes and actions.
Monitoring and controlling JMX-enabled applications
Monitoring and controlling any JMX-enabled applications with virtually no coding required.
Events and Alerts
Generation of customized, context-relevant events, alerts and actions.
Hosting
Hosting customized JMX MBeans via its JMX agent.
Web Application Servers
Supports all web applications e.g. WebSphere Application Server, JBoss, WebLogic.
360° Situational Awareness
The view is completed by including metrics from the operating system, log files, and an API that allows the application to write directly into the monitoring database to be included in complex event processing and alerting.
Profile Application Performance with Java Bytecode Instrumentation

Nastel RemoraJ is an open source, low overhead extensible Java Bytecode agent. Gain visibility into what’s coming in and out of your Java apps by tracking calls such as HTTP, Web Services, JDBC, JMS, Sockets, WebSocket, IO Streams, Kafka, and other inter JVM/IPC communications. Connect calls across JVM with RemoraJ message correlators.
- Open source Java bytecode agent (released under Apache 2.0 License)
- Designed for developers & performance engineers
- Intra and cross JVM call tracking
- Profile Java apps with minimum overhead
- Optimized for QA, UAT, and Production environments
- Programmable, extensible
Why RemoraJ?
- Profiling with low overhead
Profile apps during load, integration, and production with low overhead. RemoraJ instruments only critical portions of your code. - Track Java IPC
See what is coming in and out of the java apps: HTTP, WebSockets, IO Streams, JDBC, JMS, and more. - Dynamically enable/disable profiling
Turn instrumentation on/off without restarts, on-demand using programmable APIs (REST). Why has profiling been enabled all the time? For example: Run a curl command and enable/disable HTTP intercept on the fly. Gather your traces and analyze results. - Stack trace and heap dumps
Generate stack traces or heap dumps remotely during problem determination. - Fully programmable, extensible
Control RemoraJ via REST API, build extensions, and integrate with your tools.
Built by developers for developers & performance engineers
- Simple, Easy to Deploy – No need to buy an APM solution. Deploy in minutes
- Low Overhead – Only critical sections of the code are instrumented
- Standalone or Integrated – Use standalone or connect to Nastel XRay or your own solution for analysis
Continuous Performance Regression Testing for CI/CD

Use Nastel CyBench for running performance benchmarks on Java applications as part of a CI/CD pipeline. It looks at the new code that you’ve written as well as new versions of open source packages that you’ve added and identifies increased response times and decreased throughput.
- CyBench makes it easy.
- Run performance regression tests as part of your CI/CD and release better quality code.
- Benchmark code, builds, releases directly off your JUnit and TestNG harnesses without writing performance benchmarks. No coding is required.
- CyBench automatically generates performance scorecards and identifies anomalies so you can focus on shipping higher quality code.
Do you know which open-source project has the best performance profile for your app?
What you choose will greatly impact the performance and reliability of your project.
Why rely on 3rd party biased performance reviews and opinions?
It can be a difficult choice unless you have a way to benchmark and compare available options and help you make the right decision.
Build better, faster Java apps with CyBench
Benchmark your Java stack:
- Throughput, GC overhead, persistence, IO rates
- Read & Write rates for various data structures (Maps, Lists, Queues)
- Parser implementation performance GSON vs. Jackson
- Caching performance (on-heap, off-heap, in-memory, persistent)
- GC performance such as GC allocation rates, churn, GC time
- Performance of SSL, crypto algos
- Performance across local, cloud, VMs, or containers
How do you select the most optimal set of libraries, versions, settings, storage, VM & container configurations?
CyBench your code across releases, containers, virtual machines, SDK’s, JDK’s and use the most optimal code-library combination.
What is CyBench?
CyBench is a code benchmark platform based on JMH, designed to help developers build better, faster Java code.
Why CyBench?
Test your Java code & 3rd party libraries in minutes. Get a performance score for each build/release, measure performance overhead across builds and releases.
- Speed-test Java classes, collections, modules, libraries to decide which libraries are better, faster
- Capture run-time environment: OS, hardware, software, Java env
- Compare results and choose the right libraries for your app
- Run your own benchmarks from your IDE: Eclipse, IntelliJ IDEA or integrate with your CI/CD pipeline
- Analyze, compare & share your benchmarks results with your team, community
Run CyBench
- Download and run here: https://cybench.io/download/
Related Technical Content

RemoraJ – an easy and low cost way to instrument Java apps
Nastel RemoraJ, an open source, low overhead extensible Java Bytecode agent that allows you to perform application tracking.

Improve the performance of Java apps
There are numerous elements that affect the performance of your Java applications. Understanding them and making the appropriate choices suitable for your specific application requirements can dramatically improve performance in extremely cost-effective ways.

Detecting Java Application Performance Trends
Understanding and predicting application trends can become quite complex. This white paper will give further insight into how to detect application performance trends and utilize the data to predict current and future trends.