7
7
8
8
import io .opentelemetry .api .common .AttributeKey ;
9
9
import io .opentelemetry .api .common .Attributes ;
10
+ import io .opentelemetry .api .events .EventBuilder ;
10
11
import io .opentelemetry .api .events .EventEmitter ;
11
12
import io .opentelemetry .api .events .EventEmitterBuilder ;
12
13
import io .opentelemetry .api .events .EventEmitterProvider ;
14
+ import io .opentelemetry .api .logs .LogRecordBuilder ;
13
15
import io .opentelemetry .api .logs .Logger ;
14
16
import io .opentelemetry .api .logs .LoggerBuilder ;
15
17
import io .opentelemetry .api .logs .LoggerProvider ;
24
26
*/
25
27
public final class SdkEventEmitterProvider implements EventEmitterProvider {
26
28
27
- private static final String DEFAULT_EVENT_DOMAIN = "unknown" ;
29
+ static final AttributeKey <String > EVENT_DOMAIN = AttributeKey .stringKey ("event.domain" );
30
+ static final AttributeKey <String > EVENT_NAME = AttributeKey .stringKey ("event.name" );
31
+
32
+ static final String DEFAULT_EVENT_DOMAIN = "unknown" ;
28
33
29
34
private final LoggerProvider delegateLoggerProvider ;
30
35
private final Clock clock ;
@@ -98,9 +103,6 @@ public EventEmitter build() {
98
103
99
104
private static class SdkEventEmitter implements EventEmitter {
100
105
101
- private static final AttributeKey <String > EVENT_DOMAIN = AttributeKey .stringKey ("event.domain" );
102
- private static final AttributeKey <String > EVENT_NAME = AttributeKey .stringKey ("event.name" );
103
-
104
106
private final Clock clock ;
105
107
private final Logger delegateLogger ;
106
108
private final String eventDomain ;
@@ -111,15 +113,31 @@ private SdkEventEmitter(Clock clock, Logger delegateLogger, String eventDomain)
111
113
this .eventDomain = eventDomain ;
112
114
}
113
115
116
+ @ Override
117
+ public EventBuilder builder (String eventName , Attributes attributes ) {
118
+ return new SdkEventBuilder (
119
+ delegateLogger
120
+ .logRecordBuilder ()
121
+ .setTimestamp (clock .now (), TimeUnit .NANOSECONDS )
122
+ .setAllAttributes (attributes ),
123
+ eventDomain ,
124
+ eventName );
125
+ }
126
+
114
127
@ Override
115
128
public void emit (String eventName , Attributes attributes ) {
116
- delegateLogger
117
- . logRecordBuilder ()
118
- . setTimestamp ( clock . now (), TimeUnit . NANOSECONDS )
119
- . setAllAttributes ( attributes )
120
- . setAttribute ( EVENT_DOMAIN , eventDomain )
121
- . setAttribute ( EVENT_NAME , eventName )
122
- .emit ();
129
+ LogRecordBuilder logRecordBuilder =
130
+ delegateLogger
131
+ . logRecordBuilder ( )
132
+ . setTimestamp ( clock . now (), TimeUnit . NANOSECONDS )
133
+ . setAllAttributes ( attributes );
134
+ addEventNameAndDomain ( logRecordBuilder , eventDomain , eventName );
135
+ logRecordBuilder .emit ();
123
136
}
124
137
}
138
+
139
+ static void addEventNameAndDomain (
140
+ LogRecordBuilder logRecordBuilder , String eventDomain , String eventName ) {
141
+ logRecordBuilder .setAttribute (EVENT_DOMAIN , eventDomain ).setAttribute (EVENT_NAME , eventName );
142
+ }
125
143
}
0 commit comments