EurekaJ is an Open Source, Standards based profiler tool for Java applications. This site is intended to include all documentations and information regarding the project, its use and its benefits. The EurekaJ project has a long list of features, more of which will be revealed closer to the release date. EurekaJ is currently in early development. A plan for a first release is under development.
As the project started, work on a custom Javaagent was planned and started using Javassist as the bytecode library of choice. I have later started looking at BTrace and I am currently looking into writing an agent based upon BTrace, as BTrace has a large feature set that goes hand in hand with features planned for EurekaJ. Basing the agent on BTrace, I will be able to focus my attention upon the EurekaJ Manager, meaning that the feature set of the Manager application will be completed earlier.
I currently have a lot of the documentation written in Norwegian, which I will need to translate for use in this Wiki. More contents will be added shortly.
- The project will develop a complete Java Profiler solution (EurekaJ Profiler) consisting of an agent that can be installed and started together with the application that monitoring is intended for. In addition a Manager application will receive data from multiple agents, accumulate data and make it possible for developer, operations, application managers, technical managers, etc. to log in and view both live and historical data from the last 30 days
- The goal is to develop a general application for monitoring Java applications with the following main goals:
- Complete Agent functionality with the possibility to decide upon a degree of monitoring per application (customized instrumentation)
- A Manager Application that is scalable with both number of agents, users and data storage needs in mind
- A complete Manager application that provides its users with the possibility to see crucial information regarding the monitored applications performance and resource consumptions (memory, CPU, Threads, IO, etc), as well as errors and exceptions
- The possibility to set up alerts for any measurements passed from any agent to the Manager application, as well as sending alerts via multiple channels (Email, SNMP, etc.)
- Agents will send data via TCP/IP with even short intervals via HTTP/HTTPS
- EurekaJ Profilers main goal is to work as a complete Java Profiler by being:
- Fine-grained: Low-level methods can be monitored
- Consolidated: All collected statistics is routed to the same logical server having the possibility to deliver a consolidated view
- Constant: Monitoring will take place 24/7
- Effective: Gathering monitoring data shall have a small as possible negative effect on the performance of the monitored application
- Realtime: The collected data will be visualized, reported and alerted on in real-time
- Historical: Data is stored in 30 days for visualization, comparisong and reporting of historical data.
A complete list of features will be available shortly and added to the Issue Tracker