Conversation
There was a problem hiding this comment.
Pull request overview
Introduces a new dedicated CDI-based “library” module so the RETIT span processor can be used as a plain dependency (e.g., in Quarkus via CDI auto-discovery) without requiring the Java agent extension JAR, and adds a Quarkus example + integration test to validate the setup.
Changes:
- Add new
cdi-libraryMaven module withbeans.xmland a CDI producer forRETITSpanProcessor. - Update the
extensionmodule to depend on and shade the library (while excluding CDI-only classes to keep Java-agent usage Java 8 compatible). - Add a new
quarkus-rest-service-libraryexample project and an integration test that runs it in Testcontainers.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
pom.xml |
Adds the new cdi-library module to the reactor build. |
extension/src/test/java/io/retit/opentelemetry/javaagent/extension/frameworks/quarkus/QuarkusWithLibraryIT.java |
New IT that runs the Quarkus “library” example container and asserts spans/metrics. |
extension/src/test/java/io/retit/opentelemetry/javaagent/extension/frameworks/AbstractFrameworkIT.java |
Adds a dedicated setup path for the library-based Quarkus example (no javaagent). |
extension/pom.xml |
Makes the extension depend on/shade the new library and adjusts resource handling to avoid duplicates. |
examples/pom.xml |
Registers the new quarkus-rest-service-library example module. |
examples/quarkus-rest-service-library/pom.xml |
New Quarkus example module configured for uber-jar + container image build. |
examples/quarkus-rest-service-library/src/main/resources/application.properties |
Quarkus example configuration (OTel + app packaging). |
examples/quarkus-rest-service-library/src/main/java/io/retit/opentelemetry/quarkus/library/TestService.java |
Example service performing CPU + disk work to generate telemetry. |
examples/quarkus-rest-service-library/src/main/java/io/retit/opentelemetry/quarkus/library/TestRESTEndpoint.java |
Example REST endpoints used by the integration test. |
examples/quarkus-rest-service-library/src/main/java/io/retit/opentelemetry/quarkus/library/ResourceDemandMeasurementService.java |
Measures per-thread CPU/memory and publishes example metrics. |
examples/quarkus-rest-service-library/src/main/java/io/retit/opentelemetry/quarkus/library/OpenTelemetryService.java |
Example OTel metric publishing service. |
examples/quarkus-rest-service-library/README.md |
Documentation for using the CDI library approach (no agent) with Quarkus. |
cdi-library/pom.xml |
New library module POM that reuses extension sources/resources via build-helper. |
cdi-library/src/main/resources/META-INF/beans.xml |
Enables CDI bean discovery for the library JAR. |
cdi-library/src/main/java/io/retit/opentelemetry/javaagent/extension/cdi/RETITSpanProcessorConfiguration.java |
CDI producer that registers RETITSpanProcessor (and optionally GC listener). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Andreas Brunnert <brunnert@retit.de>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Andreas Brunnert <brunnert@retit.de>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Andreas Brunnert <brunnert@retit.de>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Andreas Brunnert <brunnert@retit.de>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Andreas Brunnert <brunnert@retit.de>
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25156466710]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25161617954]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Pull request overview
This PR introduces a new CDI-based library module so CDI frameworks (notably Quarkus) can use the RETIT SpanProcessor without the Java agent, and adds a dedicated Quarkus “library mode” example plus an integration test.
Changes:
- Add new
cdi-libraryMaven module that exposesRETITSpanProcessorvia CDI producer +META-INF/beans.xml. - Add
quarkus-rest-service-libraryexample demonstrating usage without-javaagent, plusQuarkusWithLibraryIT. - Adjust build/license tooling configuration (module wiring + license URL replacement rules).
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
pom.xml |
Adds cdi-library module and introduces GNU→SPDX license URL replacement rules for license-maven-plugin. |
extension/src/test/java/.../AbstractFrameworkIT.java |
Adds container setup helper for the library-based Quarkus example. |
extension/src/test/java/.../quarkus/QuarkusWithLibraryIT.java |
New integration test for quarkus-rest-service-library container. |
extension/pom.xml |
Adds/updates dependency commentary around JNA + shading. |
examples/pom.xml |
Registers new Quarkus library example module. |
examples/quarkus-rest-service-library/pom.xml |
New Quarkus example module configured for uber-jar + container image build. |
examples/quarkus-rest-service-library/src/main/resources/application.properties |
Quarkus + OTel configuration for the library-based example. |
examples/quarkus-rest-service-library/src/main/java/.../TestRESTEndpoint.java |
New REST endpoints for the example. |
examples/quarkus-rest-service-library/src/main/java/.../TestService.java |
New example “workload” service to generate measurable CPU/I/O. |
examples/quarkus-rest-service-library/src/main/java/.../ResourceDemandMeasurementService.java |
Publishes CPU/memory metrics; includes thread CPU/allocation measurement. |
examples/quarkus-rest-service-library/src/main/java/.../OpenTelemetryService.java |
Creates OTel counters and publishes resource-demand metrics. |
examples/quarkus-rest-service-library/README.md |
Documentation for using the library-based approach and running the example/test. |
cdi-library/pom.xml |
New module that compiles against extension sources to produce a plain JAR library. |
cdi-library/src/main/resources/META-INF/beans.xml |
Enables CDI discovery for the library artifact. |
cdi-library/src/main/java/.../RETITSpanProcessorConfiguration.java |
CDI producer that exposes RETITSpanProcessor and initializes GC tracking. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25183564879]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25184032286]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25214535554]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25214536745]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25214604147]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Andreas Brunnert <brunnert@retit.de>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Andreas Brunnert <brunnert@retit.de>
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25214868344]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25214939662]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Pull request overview
This PR introduces a first draft of a dedicated “library” integration path (CDI-based) alongside the existing Java-agent extension, by extracting shared functionality into a new core module and adding a cdi-library module that registers the RETIT span processor via CDI.
Changes:
- Add new
coremodule with shared resource-demand collectors, emissions/CCF coefficient loading, and metric publishing, plus unit tests and coefficient datasets. - Add new
cdi-librarymodule that exposes a CDI producer (RETITSpanProcessorConfiguration) to register the RETITSpanProcessorwithout the Java agent. - Update examples, integration tests, and CI/release workflows to build/test the new library-based Quarkus path and publish artifacts to GitHub Packages.
Reviewed changes
Copilot reviewed 29 out of 81 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| pom.xml | Adds new Maven modules (core, cdi-library) and GitHub Packages distribution management; updates license plugin URL replacements. |
| extension/pom.xml | Switches extension module to depend on the new core module instead of duplicating shared deps. |
| extension/src/test/java/io/retit/opentelemetry/javaagent/extension/jdk/JavaAgentExtensionIT.java | Import cleanup (but introduces Checkstyle-breaking star imports). |
| extension/src/test/java/io/retit/opentelemetry/javaagent/extension/common/ContainerLogMetricAndSpanExtractingTest.java | Adjusts static imports (but introduces Checkstyle-breaking star import). |
| extension/src/test/java/io/retit/opentelemetry/javaagent/extension/frameworks/AbstractFrameworkIT.java | Adds library-mode container setup for Quarkus internal OTel; introduces unused import. |
| extension/src/test/java/io/retit/opentelemetry/javaagent/extension/frameworks/quarkus/QuarkusWithLibraryIT.java | New integration test for the Quarkus library example image. |
| extension/src/test/java/io/retit/opentelemetry/javaagent/extension/frameworks/quarkus/QuarkusWithInternalOtelSupportAndExtensionIT.java | Removes an empty/placeholder Quarkus IT class. |
| extension/src/test/java/io/retit/opentelemetry/javaagent/extension/frameworks/quarkus/QuarkusWithInternalOtelSupportAndCDILibraryIT.java | New IT covering Quarkus internal OTel + CDI library integration. |
| examples/pom.xml | Adds new example modules (quarkus-common, quarkus-rest-service-cdi-library). |
| examples/quarkus-rest-service/src/main/resources/application.properties | Changes default OTLP endpoint to host.docker.internal. |
| examples/quarkus-rest-service/src/main/java/io/retit/opentelemetry/quarkus/OpenTelemetryService.java | Removes per-example OTel metric publisher (moved to shared quarkus-common). |
| examples/quarkus-rest-service/pom.xml | Adds dependency on new quarkus-common example module. |
| examples/quarkus-common/pom.xml | New shared Quarkus example module used by multiple Quarkus services. |
| examples/quarkus-common/src/main/resources/META-INF/beans.xml | Enables CDI bean discovery for the shared Quarkus example module. |
| examples/quarkus-common/src/main/java/io/retit/opentelemetry/quarkus/TestService.java | Adds a shared “workload” service for example endpoints. |
| examples/quarkus-common/src/main/java/io/retit/opentelemetry/quarkus/TestRESTEndpoint.java | Adds shared REST endpoints for the Quarkus examples. |
| examples/quarkus-common/src/main/java/io/retit/opentelemetry/quarkus/ResourceDemandMeasurementService.java | Updates resource demand measurement and makes CPU-time support safer (but introduces 0l literals). |
| examples/quarkus-common/src/main/java/io/retit/opentelemetry/quarkus/OpenTelemetryService.java | New shared metrics publisher using injected OpenTelemetry. |
| examples/quarkus-rest-service-cdi-library/pom.xml | New Quarkus example app demonstrating CDI library usage (no Java agent). |
| examples/quarkus-rest-service-cdi-library/src/main/resources/application.properties | New configuration for library-based Quarkus example. |
| examples/quarkus-rest-service-cdi-library/README.md | Documents how to use the CDI library example. |
| core/pom.xml | New core module POM consolidating shared functionality and test deps. |
| core/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker | Enables Mockito inline mock maker for tests. |
| core/src/test/java/io/retit/opentelemetry/javaagent/extension/resources/windows/WindowsDataCollectorTest.java | Adds Windows-specific native collector tests. |
| core/src/test/java/io/retit/opentelemetry/javaagent/extension/resources/macos/MacOSDataCollectorTest.java | Adds macOS-specific native collector tests. |
| core/src/test/java/io/retit/opentelemetry/javaagent/extension/resources/linux/LinuxDataCollectorTest.java | Adds Linux-specific native collector tests. |
| core/src/test/java/io/retit/opentelemetry/javaagent/extension/processor/RETITSpanProcessorTest.java | Adds unit tests for the new core span processor. |
| core/src/test/java/io/retit/opentelemetry/javaagent/extension/emissions/EmissionDataLoaderTest.java | Adds tests for embodied emissions + hardware lifespan behavior. |
| core/src/test/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudCarbonFootprintDataTest.java | Adds tests validating CCF data loading across providers. |
| core/src/main/resources/ccf-coefficients/instances/gcp-instances.csv | Adds CCF instance dataset for GCP. |
| core/src/main/resources/ccf-coefficients/instances/coefficients-gcp-use.csv | Adds CCF CPU power coefficients for GCP architectures. |
| core/src/main/resources/ccf-coefficients/instances/coefficients-azure-use.csv | Adds CCF CPU power coefficients for Azure architectures. |
| core/src/main/resources/ccf-coefficients/grid-emissions/grid-emissions-factors-gcp.csv | Adds regional grid emissions factors for GCP. |
| core/src/main/resources/ccf-coefficients/grid-emissions/grid-emissions-factors-azure.csv | Adds regional grid emissions factors for Azure. |
| core/src/main/resources/ccf-coefficients/grid-emissions/grid-emissions-factors-aws.csv | Adds regional grid emissions factors for AWS. |
| core/src/main/resources/ccf-coefficients/embodied-emissions/coefficients-gcp-embodied-mean.csv | Adds embodied emissions dataset for GCP instance types. |
| core/src/main/resources/ccf-coefficients/ccf-coefficients.md | Documents provenance/licensing of copied CCF coefficient data. |
| core/src/main/resources/ccf-coefficients/LICENSE | Adds Apache 2.0 license for the copied CCF coefficients. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/windows/WindowsKernel32Library.java | Adds JNA bindings for Windows thread/process data used by collectors. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/windows/WindowsDataCollector.java | Adds Windows resource demand collector implementation. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/macos/MacOSSystemLibrary.java | Adds JNA bindings for macOS thread APIs. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/macos/MacOSDataCollector.java | Adds macOS resource demand collector implementation. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/linux/LinuxDataCollector.java | Adds Linux disk/network demand reading from /proc/thread-self/* (contains a critical array-contract bug). |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/linux/LinuxCLibrary.java | Adds JNA binding for Linux gettid() and clock_gettime. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/jvm/JavaAgentGCNotificationListener.java | Makes GC span creation conditional on GlobalOpenTelemetry.isSet() and adds logging. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/jvm/JavaAgentGCHandler.java | New helper for registering GC notification listener(s). |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/jvm/IBMDataCollector.java | Adds IBM JVM collector implementation (mostly unsupported operations). |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/jvm/HotSpotDataCollector.java | Adds HotSpot/OpenJDK collector implementation for allocated bytes. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/common/ThreadHandle.java | Adds JNA pointer wrapper for thread handles. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/common/NativeFacade.java | Adds cross-platform native facade for TID and thread CPU time (contains Checkstyle-breaking ...l literal and a Linux/x86-only guard). |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/common/IResourceDemandDataCollector.java | Introduces the collector interface contract (2-element arrays for disk/network). |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/common/CommonResourceDemandDataCollector.java | Refactors JVM/OS collector selection and adds macOS support. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/common/CLibrary.java | Adds shared JNA interface for clock_gettime. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/processor/RETITSpanProcessor.java | Adds the core span processor implementation (start + onEnding). |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/metrics/MetricPublishingService.java | Adds metric publishing for resource demand/emissions coefficients. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/energy/StorageEnergyData.java | Adds energy coefficient helper for storage. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/energy/NetworkEnergyData.java | Adds energy coefficient helper for network. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/energy/MemoryEnergyData.java | Adds energy coefficient helper for memory. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/emissions/embodied/EmbodiedEmissions.java | Adds embodied emissions calculation with hardware lifespan support. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudProvider.java | Introduces provider enum. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudCarbonFootprintInstanceData.java | Adds instance configuration DTO for emissions coefficients. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudCarbonFootprintDataLoader.java | Adds CSV-based loader for provider/region/instance coefficients. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudCarbonFootprintData.java | Adds singleton config holder using the loader. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudCarbonFootprintCoefficients.java | Adds constants for energy/emissions coefficients (PUE, watts, etc.). |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/commons/TelemetryUtils.java | Adds shared span-attribute enrichment helpers using the new collectors. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/commons/InstanceConfiguration.java | Adds shared configuration accessors (incl. hardware lifespan). |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/commons/Constants.java | Adds shared constants for config keys and attribute names. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/commons/CSVParser.java | Adds lightweight CSV parsing utility. |
| cdi-library/pom.xml | Adds CDI library module packaging and provided-scope SDK/CDI dependencies. |
| cdi-library/src/main/resources/META-INF/beans.xml | Enables CDI discovery for the CDI library artifact. |
| cdi-library/src/main/java/io/retit/opentelemetry/javaagent/extension/cdi/RETITSpanProcessorConfiguration.java | Adds CDI producer for RETIT SpanProcessor and config forwarding (hard-depends on MicroProfile Config). |
| .github/workflows/maven.yml | Updates CI test invocation to include the new Quarkus CDI library IT. |
| .github/workflows/release.yml | Adds GitHub Packages publishing for core and cdi-library and configures Maven server credentials. |
| .gitignore | Ignores core/dependency-reduced-pom.xml. |
Comments suppressed due to low confidence (2)
extension/src/test/java/io/retit/opentelemetry/javaagent/extension/jdk/JavaAgentExtensionIT.java:32
- Wildcard imports (
java.util.*and staticAssertions.*) violate the project's CheckstyleAvoidStarImportrule and will fail CI. Replace with explicit imports for the specific types/assertions used in this test.
examples/quarkus-common/src/main/java/io/retit/opentelemetry/quarkus/ResourceDemandMeasurementService.java:66 - Long literals use lowercase
l(0l), which violates Checkstyle'sUpperEllrule and can be visually ambiguous. Use0Lfor long literals (or just return0Lconsistently).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Andreas Brunnert <brunnert@retit.de>
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25215097525]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Andreas Brunnert <brunnert@retit.de>
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25215375743]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25215561328]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25215530536]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Pull request overview
This PR introduces a first draft of a dedicated, non-agent “library” packaging for the RETIT OpenTelemetry instrumentation, alongside new Quarkus examples/tests and a refactor of shared logic into new Maven modules.
Changes:
- Adds new Maven modules
core(shared implementation) andcdi-library(CDI auto-registration ofRETITSpanProcessor). - Adds a new Quarkus CDI-library example and corresponding integration tests in the
extensionmodule. - Introduces Cloud Carbon Footprint (CCF) coefficient datasets and new emissions/resource-demand collection code (Linux/Windows/macOS + JVM helpers).
Reviewed changes
Copilot reviewed 30 out of 82 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pom.xml | Adds new modules; configures license URL redirects. |
| jitpack.yml | Builds only core + cdi-library on JitPack. |
| extension/src/test/java/io/retit/opentelemetry/javaagent/extension/jdk/JavaAgentExtensionIT.java | Simplifies java.util imports. |
| extension/src/test/java/io/retit/opentelemetry/javaagent/extension/frameworks/quarkus/QuarkusWithLibraryIT.java | Adds IT for Quarkus library example. |
| extension/src/test/java/io/retit/opentelemetry/javaagent/extension/frameworks/quarkus/QuarkusWithInternalOtelSupportAndExtensionIT.java | Removes unused/empty Quarkus IT. |
| extension/src/test/java/io/retit/opentelemetry/javaagent/extension/frameworks/quarkus/QuarkusWithInternalOtelSupportAndCDILibraryIT.java | Adds IT for Quarkus + CDI library scenario. |
| extension/src/test/java/io/retit/opentelemetry/javaagent/extension/frameworks/AbstractFrameworkIT.java | Adds commonSetupForLibrary; adjusts OTEL env setup. |
| extension/src/test/java/io/retit/opentelemetry/javaagent/extension/common/ContainerLogMetricAndSpanExtractingTest.java | Refactors assertions; moves helper method. |
| extension/pom.xml | Switches extension to depend on core. |
| examples/quarkus-rest-service/src/main/resources/application.properties | Changes OTLP endpoint configuration. |
| examples/quarkus-rest-service/src/main/java/io/retit/opentelemetry/quarkus/OpenTelemetryService.java | Removes local metrics publisher (moved to common). |
| examples/quarkus-rest-service/pom.xml | Adds dependency on quarkus-common. |
| examples/quarkus-rest-service-cdi-library/src/main/resources/application.properties | Adds new CDI-library example config. |
| examples/quarkus-rest-service-cdi-library/pom.xml | Adds new CDI-library example module build. |
| examples/quarkus-rest-service-cdi-library/README.md | Documents CDI library example usage. |
| examples/quarkus-common/src/main/resources/META-INF/beans.xml | Enables CDI discovery in shared Quarkus example code. |
| examples/quarkus-common/src/main/java/io/retit/opentelemetry/quarkus/TestService.java | Adds shared example service logic. |
| examples/quarkus-common/src/main/java/io/retit/opentelemetry/quarkus/TestRESTEndpoint.java | Adds shared REST endpoint implementation. |
| examples/quarkus-common/src/main/java/io/retit/opentelemetry/quarkus/ResourceDemandMeasurementService.java | Updates CPU/memory measurement implementation. |
| examples/quarkus-common/src/main/java/io/retit/opentelemetry/quarkus/OpenTelemetryService.java | Adds shared metrics publisher service. |
| examples/quarkus-common/pom.xml | Adds new shared Quarkus example module. |
| examples/pom.xml | Registers new example submodules. |
| core/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker | Enables Mockito inline mock-maker. |
| core/src/test/java/io/retit/opentelemetry/javaagent/extension/resources/windows/WindowsDataCollectorTest.java | Adds Windows resource collector tests. |
| core/src/test/java/io/retit/opentelemetry/javaagent/extension/resources/macos/MacOSDataCollectorTest.java | Adds macOS resource collector tests. |
| core/src/test/java/io/retit/opentelemetry/javaagent/extension/resources/linux/LinuxDataCollectorTest.java | Adds Linux resource collector tests. |
| core/src/test/java/io/retit/opentelemetry/javaagent/extension/processor/RETITSpanProcessorTest.java | Adds RETIT span processor unit tests. |
| core/src/test/java/io/retit/opentelemetry/javaagent/extension/emissions/EmissionDataLoaderTest.java | Adds emissions loader tests (incl. hardware lifespan). |
| core/src/test/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudCarbonFootprintDataTest.java | Adds CCF data initialization tests. |
| core/src/main/resources/ccf-coefficients/instances/gcp-instances.csv | Adds GCP instance dataset. |
| core/src/main/resources/ccf-coefficients/instances/coefficients-gcp-use.csv | Adds GCP power coefficients dataset. |
| core/src/main/resources/ccf-coefficients/instances/coefficients-azure-use.csv | Adds Azure power coefficients dataset. |
| core/src/main/resources/ccf-coefficients/grid-emissions/grid-emissions-factors-gcp.csv | Adds GCP grid emissions dataset. |
| core/src/main/resources/ccf-coefficients/grid-emissions/grid-emissions-factors-azure.csv | Adds Azure grid emissions dataset. |
| core/src/main/resources/ccf-coefficients/grid-emissions/grid-emissions-factors-aws.csv | Adds AWS grid emissions dataset. |
| core/src/main/resources/ccf-coefficients/embodied-emissions/coefficients-gcp-embodied-mean.csv | Adds GCP embodied emissions dataset. |
| core/src/main/resources/ccf-coefficients/ccf-coefficients.md | Documents dataset provenance/license. |
| core/src/main/resources/ccf-coefficients/LICENSE | Includes Apache-2.0 license for datasets. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/windows/WindowsKernel32Library.java | Adds Windows JNA bindings. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/windows/WindowsDataCollector.java | Adds Windows OS collector. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/macos/MacOSSystemLibrary.java | Adds macOS JNA bindings. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/macos/MacOSDataCollector.java | Adds macOS OS collector. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/linux/LinuxDataCollector.java | Adds Linux OS collector with procfs parsing. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/linux/LinuxCLibrary.java | Adds Linux JNA bindings. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/jvm/JavaAgentGCNotificationListener.java | Guards GC span creation on GlobalOpenTelemetry. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/jvm/JavaAgentGCHandler.java | Adds GC listener registration helper. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/jvm/IBMDataCollector.java | Adds IBM JVM collector stub. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/jvm/HotSpotDataCollector.java | Adds HotSpot/OpenJDK JVM collector. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/common/ThreadHandle.java | Adds cross-platform thread-handle type. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/common/NativeFacade.java | Adds cross-platform native facade (incl. macOS). |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/common/IResourceDemandDataCollector.java | Adds resource demand collector interface. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/common/CommonResourceDemandDataCollector.java | Adds OS/JVM selector and shared CPU logic. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/resources/common/CLibrary.java | Adds shared JNA clock_gettime interface. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/processor/RETITSpanProcessor.java | Adds core RETIT span processor implementation. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/metrics/MetricPublishingService.java | Adds metric publishing for emissions/demand vectors. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/energy/StorageEnergyData.java | Adds storage energy coefficient wrapper. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/energy/NetworkEnergyData.java | Adds network energy coefficient wrapper. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/energy/MemoryEnergyData.java | Adds memory energy coefficient wrapper. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/emissions/embodied/EmbodiedEmissions.java | Adds embodied emissions calculation. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudProvider.java | Adds cloud provider enum. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudCarbonFootprintInstanceData.java | Adds instance detail DTO. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudCarbonFootprintDataLoader.java | Adds CSV-backed emissions/config loader. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudCarbonFootprintData.java | Adds singleton emissions config holder. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/emissions/CloudCarbonFootprintCoefficients.java | Adds constant coefficients for calculations. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/commons/TelemetryUtils.java | Adds span attribute enrichment utilities. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/commons/InstanceConfiguration.java | Adds config accessors + hardware lifespan setting. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/commons/Constants.java | Adds shared constants used across new modules. |
| core/src/main/java/io/retit/opentelemetry/javaagent/extension/commons/CSVParser.java | Adds simple CSV parsing helper. |
| core/pom.xml | Adds new core module build/deps. |
| cdi-library/src/main/resources/META-INF/beans.xml | Enables CDI discovery in the library jar. |
| cdi-library/src/main/java/io/retit/opentelemetry/javaagent/extension/cdi/RETITSpanProcessorConfiguration.java | Adds CDI producer registering the span processor + GC listener. |
| cdi-library/pom.xml | Adds new CDI-library module build/deps. |
| README.md | Documents dual integration modes (agent vs CDI library). |
| .gitignore | Ignores core/dependency-reduced-pom.xml. |
| .github/workflows/release.yml | Sets Maven version from tag in release workflow. |
| .github/workflows/maven.yml | Updates CI test command + adds CDI-library IT. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Eco CI Output - Old Energy EstimationEco CI Output [RUN-ID: 25215751120]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
|
Eco CI Output [RUN-ID: 25216605547]:
🌳 CO2 Data: |
|||||||||||||||||||||||||||||||||||
No description provided.