@@ -12,20 +12,24 @@ import { OpenTelemetryHook } from '../otel-hook';
12
12
* OpenTelemetry events.
13
13
*/
14
14
export class EventHook extends OpenTelemetryHook implements BaseHook {
15
- protected name = LogEventTracingHook . name ;
15
+ protected name = EventHook . name ;
16
16
private eventLogger : EventLogger ;
17
17
18
18
constructor ( options ?: OpenTelemetryHookOptions , logger ?: Logger ) {
19
19
super ( options , logger ) ;
20
- this . eventLogger = events . getEventLogger ( '@openfeature/open-telemetry-hooks' , "0.4.0" ) ; // Update version with Release Please
20
+ // x-release-please-start-version
21
+ this . eventLogger = events . getEventLogger ( '@openfeature/open-telemetry-hooks' , '0.4.0' ) ;
22
+ // x-release-please-end
21
23
}
22
24
23
25
finally ( hookContext : Readonly < HookContext > , evaluationDetails : EvaluationDetails < FlagValue > ) {
24
26
this . eventLogger . emit ( this . toEvaluationEvent ( hookContext , evaluationDetails ) ) ;
25
27
}
26
28
27
29
error ( _ : HookContext , err : Error ) {
28
- trace . getActiveSpan ( ) ?. recordException ( err ) ;
30
+ if ( ! this . excludeExceptionsFromTrace ) {
31
+ trace . getActiveSpan ( ) ?. recordException ( err ) ;
32
+ }
29
33
}
30
34
}
31
35
@@ -36,7 +40,7 @@ export class EventHook extends OpenTelemetryHook implements BaseHook {
36
40
* Span events are being deprecated in favor of using log events.
37
41
*/
38
42
export class SpanEventHook extends OpenTelemetryHook implements BaseHook {
39
- protected name = SpanEventTracingHook . name ;
43
+ protected name = SpanEventHook . name ;
40
44
41
45
constructor ( options ?: OpenTelemetryHookOptions , logger ?: Logger ) {
42
46
super ( options , logger ) ;
@@ -54,13 +58,18 @@ export class SpanEventHook extends OpenTelemetryHook implements BaseHook {
54
58
}
55
59
56
60
error ( _ : HookContext , err : Error ) {
57
- trace . getActiveSpan ( ) ?. recordException ( err ) ;
61
+ if ( ! this . excludeExceptionsFromTrace ) {
62
+ trace . getActiveSpan ( ) ?. recordException ( err ) ;
63
+ }
58
64
}
59
65
}
60
66
61
- const tracer = trace . getTracer ( 'span-attributes-tracing-hook' ) ;
67
+ // x-release-please-start-version
68
+ const tracer = trace . getTracer ( '@openfeature/open-telemetry-hooks' , '0.4.0' ) ;
69
+ // x-release-please-end
70
+
62
71
const HookContextSpanKey = Symbol ( 'evaluation_span' ) ;
63
- type SpanAttributesTracingHookData = { [ HookContestSpanKey ] : Span } ;
72
+ type SpanAttributesTracingHookData = { [ HookContextSpanKey ] : Span } ;
64
73
65
74
/**
66
75
* A hook that creates a new span for each flag evaluation and sets the evaluation
@@ -69,22 +78,22 @@ type SpanAttributesTracingHookData = { [HookContestSpanKey]: Span };
69
78
* If there is no active span, a new root span is created.
70
79
*/
71
80
export class SpanHook extends OpenTelemetryHook implements BaseHook {
72
- protected name = SpanAttributesTracingHook . name ;
81
+ protected name = SpanHook . name ;
73
82
74
83
constructor ( options ?: OpenTelemetryHookOptions , logger ?: Logger ) {
75
84
super ( options , logger ) ;
76
85
}
77
86
78
87
before ( hookContext : HookContext < FlagValue , SpanAttributesTracingHookData > ) {
79
88
const evaluationSpan = tracer . startSpan ( 'feature_flag.evaluation' ) ;
80
- hookContext . hookData . set ( HookContestSpanKey , evaluationSpan ) ;
89
+ hookContext . hookData . set ( HookContextSpanKey , evaluationSpan ) ;
81
90
}
82
91
83
92
finally (
84
93
hookContext : Readonly < HookContext < FlagValue , SpanAttributesTracingHookData > > ,
85
94
evaluationDetails : EvaluationDetails < FlagValue > ,
86
95
) {
87
- const currentSpan = hookContext . hookData . get ( HookContestSpanKey ) ;
96
+ const currentSpan = hookContext . hookData . get ( HookContextSpanKey ) ;
88
97
if ( ! currentSpan ) {
89
98
return ;
90
99
}
@@ -95,7 +104,10 @@ export class SpanHook extends OpenTelemetryHook implements BaseHook {
95
104
currentSpan . end ( ) ;
96
105
}
97
106
98
- error ( _ : HookContext , err : Error ) {
99
- trace . getActiveSpan ( ) ?. recordException ( err ) ;
107
+ error ( hookContext : Readonly < HookContext < FlagValue , SpanAttributesTracingHookData > > , err : Error ) {
108
+ if ( ! this . excludeExceptionsFromTrace ) {
109
+ const currentSpan = hookContext . hookData . get ( HookContextSpanKey ) ?? trace . getActiveSpan ( ) ;
110
+ currentSpan ?. recordException ( err ) ;
111
+ }
100
112
}
101
113
}
0 commit comments