APEX helps getting better visibility and understanding of what is happening in the software products' application layer during runtime.

It extracts contextual data and metrics directly from your Java application to accelerate application analytics, debugging and monitoring.

Application-Layer Monitoring

Lower the MTTR by improving your visibility on operations to meet your SLAs. Pick the neuralgic points in your business logic, trace KPIs and record crucial information at runtime.

 

Instant Runtime Debugging

Track system behaviour with minimal effort, dive into any implementation context or trigger methods from outside. Share your debugging configuration with the team using git.

How it works

An attached collector agent instruments the target application and exposes data to external services via pluggable handlers. Target and handler instructions are hosted with git.
Responsive image
A set of prebuilt handlers help you to retrieve data for different aspects. Extend or build your own with the SDK. Harvested data can be send to ElasticSearch or your own APEX Service implementation.

PerformanceHandler

Measure method processing with Dropwizard Metrics. Use counters, timers, histograms and more.

ContextDumpHandler

Dump the current context of the target in a readable JSON structure.


ScriptHandler

Apply Groovy scripts before and after method entry. Trigger action on the class instance.

View the docs for more details and checkout the quickstart guide.

 

Now integrated with ElasticSearch

Beats are lightweight data-shippers for the ElasticSearch platform, each designed for specific scenarios. They can be installed as an agent on each node and transport metrics reliantly and are suited for large-scale deployments.

Use our community integration apexbeat to link your Java application with the ElasticSearch stack. apexbeat makes it easy to push your extracted data to an ElasticSearch node.

 

APEX Features


deployed as sidekick app, no codebase cluttering

Script injection is done at runtime via the collector agent. Cleanly separated and stored in a git repository.

DIY toolkit, ultimately customizable

Pick your source targets, use preconfigured handlers or just build your own. Extract metrics and data of your choice.

Multi-Instance Configuration

Instrument multiple instances at once for monitor/debug by using a central configuration.

 

Instant Runtime Scripting

Develop your instrumentation scripts and get them immediately applied to the targeted runtime.

sample receipes

Find ready-to-use configurations and instrumentation code in our github repository.


 

Blog




Licence and Contributing

The APEX toolkit is open sourced on github under Apache2 Licence. Give it a spin, fork and contribute.

We are happy to receive PRs. Please report issues to the bug tracker on github.