XRebel Frequently Asked Questions
XRebel Frequently Asked Questions
XRebel is a lightweight Java code analysis and performance profiling tool developed by Perforce Software. It provides real-time performance insights during development, enabling developers to identify and resolve performance issues early in the software development lifecycle. Unlike traditional profilers, XRebel uses a request-based approach, offering detailed visibility into application behavior, including method execution times, database interactions, and microservices communication.
Key capabilities include:
- Real-time, request-based profiling
- SQL/NoSQL I/O monitoring (including N+1 detection)
- Distributed tracing across microservices
- Exception and log analysis with reversed stack traces
- Code structure visibility for efficient debugging
XRebel operates by integrating into your Java application's runtime environment. It captures performance data for each request, highlighting the most time-consuming methods and interactions. This includes monitoring SQL and NoSQL I/O, tracing microservices, and displaying logs and exceptions in real-time. The tool presents this information through an in-browser toolbar, allowing developers to analyze performance metrics as they code.
Yes. XRebel’s free download includes a fully featured 14-day trial license. If you think that two weeks is not enough, ask for an extension from sales@perforce.com.
Performance Bottlenecks
- Slow method execution
- Inefficient SQL or NoSQL queries (including N+1 issues)
- Excessive object allocation
- Blocking I/O operations
- Memory and CPU spikes
Application Reliability & Behavior
- Exceptions and API inconsistencies across microservices
- Latency in distributed requests
- High exception rates
Observability Metrics
- HTTP request timing
- SQL/NoSQL query duration
- RMI and web service call tracking
- Session statistics
- Background task monitoring
XRebel distinguishes itself through its request-based profiling approach, focusing on individual requests rather than system-wide metrics. This method provides developers with immediate, actionable insights into specific performance issues during development, without the overhead typically associated with full-scale Application Performance Monitoring (APM) tools. Additionally, XRebel's real-time feedback and in-browser visualization facilitate a more efficient debugging and optimization process.
It’s not meant to replace production APMs, but rather to catch problems earlier when they’re cheaper and easier to fix.
XRebel enables Shift Left by integrating directly into the development environment to:
- Catch performance issues during coding, not during QA or production
- Reduce fix time by up to 60%
- Prevent production outages and performance debt
- Support developers with real-time data so issues don’t escalate into architectural rewrites
Comprehensive installation guides for various environments are available in the XRebel Documentation. These guides cover integration with popular IDEs like Eclipse and IntelliJ IDEA, as well as application servers such as Tomcat, JBoss, and GlassFish. If you need any extra support, feel free to reach out to our team of experts—we’re here to help.
XRebel can be launched from IntelliJ IDEA, Eclipse, or any development environment that supports configuring JVM arguments at application startup.
XRebel is compatible with numerous Java web frameworks such as Spring MVC, Spring Boot, Grails, JSF, Vaadin, Struts, Jersey, Spark, and Undertow.
XRebel works seamlessly with popular Java servers like Tomcat, Jetty, GlassFish, WildFly, WebLogic, WebSphere, Resin, and many more.
See comprehensive list of supported application servers here.
XRebel is specifically designed for development environments. While it can technically be used in staging environments, it is not intended for use in production.
Yes — XRebel traces HTTP, RMI, NoSQL, and cross-service calls across distributed architectures, providing visibility into microservices communication and performance.
XRebel is optimized for minimal overhead. It remains idle during normal operation and activates only when performance issues are detected, delivering alerts with minimal impact on system resources.
XRebel intercepts JDBC calls to measure execution time, flag slow queries, and provide insight into database performance. It also supports major NoSQL drivers, including Cassandra, MongoDB, HBase, Couchbase, DynamoDB, and Redis.
Yes — XRebel provides built-in profiling for web service calls and RMI, capturing latency and error metrics out of the box.
XRebel is compatible with Java 8 and above, and supports a variety of JVM implementations, including Oracle JDK, OpenJDK, IBM J9, and others.
XRebel supports all modern browsers, including Chrome, Firefox, Edge, Safari, and Internet Explorer 11 or later.
Yes — XRebel can profile standalone Java applications by running them with an embedded Jetty server, enabling the -javaagent
option, setting -Dxrebel.traces.all=true
, and accessing the UI at the /xrebel
path.
See the implementation guide for detailed setup instructions.
XRebel supports messaging systems such as JMS, ActiveMQ, RabbitMQ, and Spring AMQP, capturing detailed metrics on queue processing and message flow.
Yes — XRebel profiles background jobs, including schedulers such as Quartz, ScheduledThreadPoolExecutor
, and other Java-based asynchronous tasks.
XRebel traces HTTP activity across several client libraries, including HttpURLConnection
, Apache HttpClient (3.x and 4.x), HttpCore, and WebLogic URL connections.
1. Download and Unpack
Download the XRebel ZIP package and extract its contents to your preferred location.
2. Configure the Agent
Add the following to your JVM options:-javaagent:/path/to/xrebel.jar
Alternatively, configure XRebel through the IDE plugin for supported environments.
3. Activate Your License
Restart your IDE or application server, then activate XRebel using a trial form, license key, or license server.
4. Start Profiling
Upon startup, the XRebel toolbar will automatically appear in your application’s web UI.
Need Help?
Refer to the Quickstart Guide for step-by-step instructions and advanced configuration options.