Skip to content

Conversation

elaaissaouiabdessamad
Copy link
Member

Implementing JFR, OTEL and Logging Providers for monitoring UCP.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Sep 4, 2025
@elaaissaouiabdessamad elaaissaouiabdessamad force-pushed the feature/ucp-monitoring-otel-jfr branch from 7f305d3 to 9cb4b41 Compare September 7, 2025 07:09
<artifactId>ojdbc</artifactId>
<version>11.2.0.4</version> <!-- Change to your version -->
<scope>system</scope>
<systemPath>/Users/abdessamadelaaissaoui/Desktop/ojdbc11.jar</systemPath>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should avoid adding paths to your own environment.

<artifactId>ucp</artifactId>
<version>11.2.0.4</version>
<scope>system</scope>
<systemPath>/Users/abdessamadelaaissaoui/Desktop/ucp11.jar</systemPath>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here

<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-api</artifactId>
<version>1.32.0</version>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we using a different version here?

<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-sdk</artifactId>
<version>1.32.0</version>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this dependency needed?

</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-exporter-prometheus</artifactId>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we have a dependency to a specific exporter? Shouldn't the library work with all exporters?

* Stress test for JFR and logging UCP event listeners.
* Generates realistic connection pool usage patterns to validate event recording.
*/
public class JfrAndLoggingStressTestUCP {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see any assertions, how exactly does this test work? Where do we verify that the results are correct?

* Generates realistic usage patterns to validate metric collection including
* pool lifecycle, connection operations, and maintenance events.
*/
public class OtelStressTestUCP {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see any assertions, how exactly does this test work? Where do we verify that the results are correct?

* Provider that supplies a UCP event listener for recording OpenTelemetry metrics.
* Converts UCP events into metrics for integration with observability platforms.
*/
public final class OtelOpenTelemetryUCPEventListenerProvider implements UCPEventListenerProvider {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

* @return the OpenTelemetry event listener
*/
@Override
public UCPEventListener getListener(Map<String, String> config) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

General question to all listeners, how do you configure them? Enable/disable, sensitive data, etc?

* Configuration utility for initializing OpenTelemetry with Prometheus exporter.
* Sets up metrics collection and HTTP endpoint for scraping.
*/
public class OpenTelemetryConfig {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this at all necessary?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants