Skip to content
/ erma Public

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.

License

Notifications You must be signed in to change notification settings

erma/erma

Repository files navigation

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

About

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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages