ERMA (Extremely Reusable Monitoring API) is an instrumentation API that has been designed to be applicable for all monitoring needs. The design goal is "to make instrumentation as simple as logging." Lowering the effort needed to add instrumentation will encourage developers to add monitoring code where ever it makes sense.
Java
Clone or download
Jacob Tomaw
Latest commit ca9b737 Jan 13, 2015
Permalink
Failed to load latest commit information.
.settings Fixed build warnings, fixed tests and improved documentation Oct 3, 2011
config/checkstyle finished enforcing google java style Feb 24, 2014
erma-api Revert "Added ability for ProcessorFactories to find Processors and P… Jan 13, 2015
erma-ext/erma-mongo-processor Make spring support much more specific Jan 13, 2015
erma-lib Revert BaseMonitoringEngine V5 work Jan 13, 2015
erma-test Revert "Added ability for ProcessorFactories to find Processors and P… Jan 13, 2015
gradle/wrapper Upgraded to gradle 1.11 Feb 13, 2014
.fbprefs Fixed FindBugs warnings and improved generic typing Sep 1, 2011
.gitignore COrrected .gitignore for eclipse Aug 20, 2013
.project Fixed FindBugs warnings and improved generic typing Sep 1, 2011
ChangeLog Continued clean up in preperation for extracting monitoring engine Nov 19, 2013
LICENSE Conversion to Gradle based build. JDK1.5 minimum now required at buil… Feb 17, 2010
README-ECLIPSE Converted to use Powermock from MavenCentral Apr 6, 2011
README.md Corrected readme for erma-test Aug 20, 2013
build.gradle finished enforcing google java style Feb 24, 2014
gradle-wrapper.jar Began adding Cobertura support Apr 11, 2011
gradle.properties Added erma-test as a proper seperate artifact to be used by users of … Aug 12, 2013
gradlew Upgraded to gradle 1.11 Feb 13, 2014
gradlew.bat Upgraded to gradle 1.11 Feb 13, 2014
index.html Added documentation to the Git project to make it available on GitHub Oct 4, 2011
settings.gradle Re-mingling engine in lib Jan 13, 2015

README.md

ERMA (Extremely Reusable Monitoring API)

ERMA is an instrumentation API that has been designed to be applicable for all monitoring needs. The design goal is "to make instrumentation as simple as logging." Lowering the effort needed to add instrumentation will encourage developers to add monitoring code where ever it makes sense.

Resources

Build Instructions

ERMA is built with Gradle. You can get started quickly by using the included Gradle wrapper like this:

./gradlew

Gradle will automatically be downloaded from the location specified in gradle-wrapper.properties and installed. You may also run targets from an existing Gradle installation if you choose (in this case substitute gradle for ./gradlew to execute the tasks).

Code

The codebase is divided into multiple subprojects: erma-api, erma-lib, erma-test, and extensions located in the erma-ext folder, such as erma-mongo-processor.

  • erma-api
    • The basic constructs used to instrument code.
  • erma-lib
    • Objects one would typically wire into an application to configure the MonitoringEngine.
  • erma-test
    • Objects one would typically wire into an application to configure the MonitoringEngine to test intrumentation.
  • erma-ext
    • Extend ERMA to integrate with other third-party projects.

Build Targets

List available tasks:

./gradlew -t

Generate Javadocs in build/docs/:

./gradlew javadoc

Build all jars, run JUnit tests and generate JUnit reports in each subproject build/reports/tests/:

./gradlew build