
Java APM, Java Profiler, Java Installer Builder
Get Started with ej
Contact us for a demo, product resources, and formal quotation.
ej-technologies specializes in solutions that help programmers make the most of their own applications in the areas of performance and deployment. With its focused expertise in the areas of performance and deployment, ej-technologies is developing the next generation of enterprise application development tools.
LOGON offers first line support and consulting service to help customers evaluate and choose ej-technologies solutions for their projects.

JProfiler
The #1 Java profiler for your AI agent
JProfiler combines high-level analytics with low-level JVM data to pinpoint performance bottlenecks, memory leaks, slow JDBC queries, costly HTTP calls, and much more.
Investigate in the UI or let your AI agent diagnose autonomously through the MCP server.

Deep insight into JDBC and JPA
Database calls are a primary source of performance issues. JProfiler helps you find and fix them in record time.

Top-notch AI observability
Analyze context-aware metrics for agentic applications. JProfiler helps you minimize costs and optimize LLM performance.

Built-in support for Kubernetes and Docker
Profiling JVMs in containers shouldn’t be hard. Select them directly in the UI without any setup headaches.

Zero-configuration remote profiling
Use SSH credentials to profile remote JVMs instantly. No remote installation or agent deployment required.

Advanced profiling of HTTP calls
JProfiler is the premier tool for analyzing HTTP performance, covering incoming and outgoing calls across JVM boundaries.

Excellent support for Spring and JEE
JProfiler understands Spring and JEE components, combining high-level context with low-level method call data.

MongoDB performance analysis
High-level probes measure MongoDB calls so you can solve problems faster than with basic profilers.

Profiling Kafka message flows
Debug Kafka operations quickly with event-based and aggregate data for both producers and consumers.

Live profiling data
View live profiling data in the UI as it happens. No need to stop recording or wait for a snapshot.

Profile from your IDE
JProfiler offers IDE plugins for IntelliJ IDEA, VS Code, Eclipse, and NetBeans. Start profiling with a single click.

Offline profiling and triggers
Use the trigger system or API to record data and save snapshots automatically in offline profiling mode without an active UI session.

Snapshot comparisons
Save and compare snapshots to pinpoint performance regressions or improvements across different runs.

Find memory leaks with the heap walker
Identifying memory leaks is complex. JProfiler’s heap walker simplifies the process with the industry’s most advanced analysis tools.

Full support for HPROF and PHD
Analyze native memory snapshots from the HotSpot JVM (HPROF) and OpenJ9 (PHD) directly within the heap walker.

Full support for JFR
Analyze JFR snapshots with the full power of JProfiler. Ideal for low-overhead production monitoring.

Local request tracking
Follow calls across threads with support for Executors, virtual threads, Kotlin coroutines, and more.

Remote request tracking
Track calls across JVM boundaries via HTTP, RMI, gRPC, web services, and remote EJBs.

Create custom probes easily
Define custom probes directly in the UI with scripts, or use the embedded and injected probe APIs for advanced cases.

install4j
The Powerful Multi-Platform Java Installer Builder
install4j is a powerful multi-platform Java installer builder that generates native installers and application launchers for Java applications. install4j excels in its ease of use, its extensive platform support and its powerful screen and action system.

Visually create your installer UI
Compose your own installer screens with install4j’s standard form components in an easy to use visual editor.

Compile installers on any platform
install4j supports Windows, Linux and macOS. You can compile installers for all platforms on any of these platforms. Signing and notarization included.

Rich set of installer actions
Need your installer to make some custom modifications? install4j has 80+ different configurable actions that will help you to do that with minimal effort.

Effortless JRE bundling
install4j will download JDKs from any of the well-known JDK providers, create optimized JRE bundles and ship them with your installers.

Easily create auto-updaters
Mastering successful auto-updates is demanding. install4j does the hard part for you while giving you full flexibility for your requirements.

Extensible by design
With its JavaBeans-based extension model and its well-documented API, you can develop your own actions, screens and form components.

Extensive i18n support
install4j offers a large number of installer languages. Localizing your own messages and auto-detecting the language at runtime are fully supported.

Native launcher generation
install4j generates launchers for your applications that are native on every supported platform and integrate with many other features in install4j.

Console installer mode
install4j supports a console mode that is auto-generated from the UI definition. On headless Linux systems, this is an automatic fallback.

Unattended installations
Automate your installations and supply user input with a user-editable response file that is generated by an interactive installation.

Update installations
install4j can optionally detect previous installation directories and apply previous user input from a response file.

RPM and Deb Packages
install4j can create packages for the most popular Linux package managers. Custom installer applications can bring in functionality from full installers.

Rollback on failure
All actions in install4j offer full rollback of their modifications. Rollback barriers for partial rollbacks can be defined flexibly.

Downloadable components
install4j supports user-selectable installation components. Selected installation components can be downloaded on demand to reduce the size of the installers.

Service launchers
In addition to GUI and console launchers, install4j can create service launchers that are installed as Windows services, Linux services, or macOS daemons.

Code snippets and variables
User input is bound to installer variables that can be easily used elswhere. Components can be customized with plain Java code snippets that are edited in install4j.

Support for build systems
install4j offers support for Gradle, Maven and ant as well as a command line compiler. With compiler variables you can customize projects from your build system.