@@ -9,10 +9,10 @@ This provider implements the TraceEventListener interface provided by the JDBC
9
9
driver which will be notified whenever events are generated in the driver and
10
10
will publish these events into Open Telemetry. These events include:
11
11
* roundtrips to the database server
12
- * AC begin and sucess
12
+ * AC begin and success
13
13
* VIP down event
14
14
15
- The following attributes are added the the traces for each event:
15
+ The following attributes are added the traces for each event:
16
16
* ** Roundtrips**
17
17
* Connection ID
18
18
* Database Operation
@@ -39,7 +39,7 @@ The following attributes are added the the traces for each event:
39
39
## Installation
40
40
41
41
This provider is distributed as single jar on the Maven Central Repository. The
42
- jar is compiled for JDK 8 , and is forward compatible with later JDK versions.
42
+ jar is compiled for JDK 11 , and is forward compatible with later JDK versions.
43
43
The coordinates for the latest release are:
44
44
45
45
``` xml
@@ -62,24 +62,26 @@ oracle.jdbc.provider.traceEventListener=observability-trace-event-listener-provi
62
62
## Configuration
63
63
64
64
The provider can be configured by:
65
- * using the singleton configuration class,
66
- ``` java
67
- ObservabilityConfiguration . getInstance(). setEnabledTracers(" OTEL,JFR" );
68
- ObservabilityConfiguration . getInstance(). setSensitiveDataEnabled(true );
69
- ```
70
65
* using system properties,
71
66
``` java
72
67
System . setProperty(" oracle.jdbc.provider.observability.enabledTracers" , " OTEL,JFR" );
73
68
System . setProperty(" oracle.jdbc.provider.observability.sensitiveDataEnabled" , " true" );
74
69
```
75
70
* or using the MBean.
76
71
``` java
77
- ObjectName objectName = new ObjectName (
78
- " com.oracle.jdbc.provider.observability:type=ObservabilityConfiguration " );
72
+ ObservabilityTraceEventListener listener = ObservabilityTraceEventListener . getTraceEventListener( " <name> " );
73
+ ObjectName objectName = new ObjectName (listener . getMBeanObjectName() );
79
74
MBeanServer server = ManagementFactory . getPlatformMBeanServer();
80
75
server. setAttribute(objectName, new Attribute (" EnabledTracers" , " OTEL,JFR" ));
81
76
server. setAttribute(objectName, new Attribute (" SensitiveDataEnabled" , " true" ));
82
77
```
78
+ * it is also possible to use the ObservabilityConfiguration object directly by
79
+ calling the
80
+ ``` java
81
+ ObservabilityConfiguration configuration = ObservabilityTraceEventListener . getObservabilityConfiguration(" <name>" );
82
+ configuration. setEnabledTracers(" OTEL,JFR" );
83
+ configuration. setSensitiveDataEnabled(true );
84
+ ```
83
85
84
86
## Backward compatibility
85
87
@@ -109,13 +111,12 @@ or a MBean. Two parameters can be configured:
109
111
110
112
The system properties are "oracle.jdbc.provider.opentelemetry.enabled" and
111
113
"oracle.jdbc.provider.opentelemetry.sensitive-enabled" respectively and the MBean
112
- with object name "com.oracle.jdbc.extension.opentelemetry: type =OpenTelemetryTraceEventListener"
113
114
exposes two attributes "Enabled" and "SensitiveDataEnabled".
114
115
115
116
The sample code below shows how to retrieve the value of an attribute:
116
117
``` java
117
- ObjectName objectName = new ObjectName (
118
- " com.oracle.jdbc.extension.opentelemetry:type=OpenTelemetryTraceEventListener " );
118
+ ObservabilityTraceEventListener listener = ObservabilityTraceEventListener . getTraceEventListener( " <name> " );
119
+ ObjectName objectName = new ObjectName (listener . getMBeanObjectName() );
119
120
MBeanServer server = ManagementFactory . getPlatformMBeanServer();
120
121
boolean isEnabled = Boolean . valueOf(server. getAttribute(objectName, " Enabled" ). toString())
121
122
.booleanValue();
0 commit comments