@@ -12,20 +12,24 @@ import { OpenTelemetryHook } from '../otel-hook';
1212 * OpenTelemetry events.
1313 */
1414export class EventHook extends OpenTelemetryHook implements BaseHook {
15- protected name = LogEventTracingHook . name ;
15+ protected name = EventHook . name ;
1616 private eventLogger : EventLogger ;
1717
1818 constructor ( options ?: OpenTelemetryHookOptions , logger ?: Logger ) {
1919 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
2123 }
2224
2325 finally ( hookContext : Readonly < HookContext > , evaluationDetails : EvaluationDetails < FlagValue > ) {
2426 this . eventLogger . emit ( this . toEvaluationEvent ( hookContext , evaluationDetails ) ) ;
2527 }
2628
2729 error ( _ : HookContext , err : Error ) {
28- trace . getActiveSpan ( ) ?. recordException ( err ) ;
30+ if ( ! this . excludeExceptionsFromTrace ) {
31+ trace . getActiveSpan ( ) ?. recordException ( err ) ;
32+ }
2933 }
3034}
3135
@@ -36,7 +40,7 @@ export class EventHook extends OpenTelemetryHook implements BaseHook {
3640 * Span events are being deprecated in favor of using log events.
3741 */
3842export class SpanEventHook extends OpenTelemetryHook implements BaseHook {
39- protected name = SpanEventTracingHook . name ;
43+ protected name = SpanEventHook . name ;
4044
4145 constructor ( options ?: OpenTelemetryHookOptions , logger ?: Logger ) {
4246 super ( options , logger ) ;
@@ -54,13 +58,18 @@ export class SpanEventHook extends OpenTelemetryHook implements BaseHook {
5458 }
5559
5660 error ( _ : HookContext , err : Error ) {
57- trace . getActiveSpan ( ) ?. recordException ( err ) ;
61+ if ( ! this . excludeExceptionsFromTrace ) {
62+ trace . getActiveSpan ( ) ?. recordException ( err ) ;
63+ }
5864 }
5965}
6066
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+
6271const HookContextSpanKey = Symbol ( 'evaluation_span' ) ;
63- type SpanAttributesTracingHookData = { [ HookContestSpanKey ] : Span } ;
72+ type SpanAttributesTracingHookData = { [ HookContextSpanKey ] : Span } ;
6473
6574/**
6675 * A hook that creates a new span for each flag evaluation and sets the evaluation
@@ -69,22 +78,22 @@ type SpanAttributesTracingHookData = { [HookContestSpanKey]: Span };
6978 * If there is no active span, a new root span is created.
7079 */
7180export class SpanHook extends OpenTelemetryHook implements BaseHook {
72- protected name = SpanAttributesTracingHook . name ;
81+ protected name = SpanHook . name ;
7382
7483 constructor ( options ?: OpenTelemetryHookOptions , logger ?: Logger ) {
7584 super ( options , logger ) ;
7685 }
7786
7887 before ( hookContext : HookContext < FlagValue , SpanAttributesTracingHookData > ) {
7988 const evaluationSpan = tracer . startSpan ( 'feature_flag.evaluation' ) ;
80- hookContext . hookData . set ( HookContestSpanKey , evaluationSpan ) ;
89+ hookContext . hookData . set ( HookContextSpanKey , evaluationSpan ) ;
8190 }
8291
8392 finally (
8493 hookContext : Readonly < HookContext < FlagValue , SpanAttributesTracingHookData > > ,
8594 evaluationDetails : EvaluationDetails < FlagValue > ,
8695 ) {
87- const currentSpan = hookContext . hookData . get ( HookContestSpanKey ) ;
96+ const currentSpan = hookContext . hookData . get ( HookContextSpanKey ) ;
8897 if ( ! currentSpan ) {
8998 return ;
9099 }
@@ -95,7 +104,10 @@ export class SpanHook extends OpenTelemetryHook implements BaseHook {
95104 currentSpan . end ( ) ;
96105 }
97106
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+ }
100112 }
101113}
0 commit comments