Static instrumentation donation - project structure (#199)

* static instrumentation donation - project structure

* code review

* code review

* code review
This commit is contained in:
Jakub Wach 2022-01-25 05:26:11 +01:00 committed by GitHub
parent d5eba8cb5f
commit 818a1e2d63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 40 additions and 0 deletions

View File

@ -44,3 +44,6 @@ include(":jmx-metrics")
include(":maven-extension")
include(":runtime-attach")
include(":samplers")
include(":static-instrumenter:agent-instrumenter")
include(":static-instrumenter:gradle-plugin")
include(":static-instrumenter:maven-plugin")

View File

@ -0,0 +1,17 @@
# OpenTelemetry Java static instrumenter
## Structure
### Agent instrumenter
Module enhancing OpenTelemetry Java Agent for static instrumentation. The modified agent is capable of instrumenting and saving a new JAR with all relevant instrumentations applied and necessary helper class-code included.
In order to statically instrument a JAR, modified agent needs to be both attached (`-javaagent:`) and run as the main method (`io.opentelemetry.javaagent.StaticInstrumenter` class).
### Gradle plugin
Gradle plugin running static instrumentation agent during the `assemble` lifecycle task. The assembled archive contains statically instrumened class code.
### Maven3 plugin
Maven3 plugin running the static instrumentation agent during the `package` phase. Packaged archive contains statically instrumened class code.

View File

@ -0,0 +1,5 @@
plugins {
id("otel.java-conventions")
}
description = "OpenTelemetry Java Static Instrumentation Agent"

View File

@ -0,0 +1,5 @@
plugins {
id("otel.java-conventions")
}
description = "OpenTelemetry Java static instrumentation module"

View File

@ -0,0 +1,5 @@
plugins {
id("otel.java-conventions")
}
description = "Gradle plugin for static instrumentation of projects code and dependencies"

View File

@ -0,0 +1,5 @@
plugins {
id("otel.java-conventions")
}
description = "Maven3 plugin for static instrumentation of projects code and dependencies"