remoraj

remoraj

2019
Apache 2.0

Project Description

RemoraJ is an extensible java profiling agent which uses bytecode instrumentation to intercept java IPC calls with minimal overhead. RemoraJ monitors java apps by tracking IPC calls such as: HTTP, WebServices, JMS, JDBC, Sockets, WebSockets, Kafka, I/O Streams and more. The goal is to capture inter-JVM calls, I/O, messages, exceptions, timings which are valuable during troubleshooting and performance optimization of java apps.

RemoraJ consists of two main runtime components:

  • Remora Java Agent: loaded into JVM, app server, instruments bytecode, emits traces and metrics via pluggable advices
  • Remora Streams Agent: forwards the traces generated by the java agent to one of the supported analytics platforms below

Platforms for Analyzing RemoraJ Traces

  • Nastel XRay -- SaaS Platform for AIOps & transaction tracking
  • Integrate traces into ELK, Splunk or other platform via agent output class implementation

Both agents communicate via a memory mapped queue stored on a filesystem see tnt-data-source.xml for details. The Streams Agent sends traces using JSON over HTTPS.

NOTE: Streams Agent is based on tnt4j-streams project designed to process, parse and stream time series data over a number of transports such as: HTTPS, Kafka, JMS, MQTT, MQ, files, etc.

Links

Download source code as [.zip file] [.tar.gz file]
Documentation: [README]