Cameleon is an integrated development environment for Objective Caml and eventually other languages. Its features include a graphical user interface, configuration management based on CVS, easy access to and browsing of documentation, various editors, customizable file types, a plug-in architecture, and a highly customizable interface.
This small tool connects to the P6Spy JDBC logger and displays in real time the queries going to the database. It uses an integrated SQL parser to build statistics on the most accessed tables and columns to enable database index creation. Other information is also gathered and displayed, such as the request time for a single request, for a class of request, and for all the requests. Sorting may be done on these views to detect database problems efficiently.
Extensible Java Profiler (EJP) is a profiling tool for Java with a scalable and extensible architecture. It is compatible with any language that uses the Java backend, and is based on the Java Virtual Machine Profiler Interface (JVMPI). Unlike Sun's hprof tool, which generates statistical information, it logs every single method invocation and can be used to trace the execution of small parts of Java programs and display it in hierarchical trees with some elements hidden or highlighted.
KMD is a multi-processor debugger. It can debug with hardware boards over serial ports or with software emulators (ARM and MIPS emulators are included in the project). Using the pipe option you can debug over the network or any other communication medium. It can load many executable formats such as ELF, and display and follow the original source even from multiple source file programs. There is support for breakpoints and watchpoints which can trap on specific data (such as loading or executing specific instructions). Support for other features such as FPGA's is also available, allowing loading or any control required to drive a specific hardware device. The project uses chump to allow disassembly and line assembly. Chump also allows new architectures to be easily added without the need to recompile the system. Communication with the backend is done using two pipes/fifos using a simple set of codes. Back end communication program can be created using very little memory on the target device.