@@ -339,7 +339,7 @@ func TestSpanFinishWithError(t *testing.T) {
339
339
assert .Equal (int32 (1 ), span .error )
340
340
assert .Equal ("test error" , span .meta [ext .ErrorMsg ])
341
341
assert .Equal ("*errors.errorString" , span .meta [ext .ErrorType ])
342
- assert .NotEmpty (span .meta [ext .ErrorStack ])
342
+ assert .NotEmpty (span .meta [ext .ErrorHandlingStack ])
343
343
}
344
344
345
345
func TestSpanFinishWithErrorNoDebugStack (t * testing.T ) {
@@ -365,9 +365,9 @@ func TestSpanFinishWithErrorStackFrames(t *testing.T) {
365
365
assert .Equal (int32 (1 ), span .error )
366
366
assert .Equal ("test error" , span .meta [ext .ErrorMsg ])
367
367
assert .Equal ("*errors.errorString" , span .meta [ext .ErrorType ])
368
- assert .Contains (span .meta [ext .ErrorStack ], "tracer.TestSpanFinishWithErrorStackFrames" )
369
- assert .Contains (span .meta [ext .ErrorStack ], "tracer.(*Span).Finish" )
370
- assert .Equal (strings .Count (span .meta [ext .ErrorStack ], "\n \t " ), 2 )
368
+ assert .Contains (span .meta [ext .ErrorHandlingStack ], "tracer.TestSpanFinishWithErrorStackFrames" )
369
+ assert .Contains (span .meta [ext .ErrorHandlingStack ], "tracer.(*Span).Finish" )
370
+ assert .Equal (strings .Count (span .meta [ext .ErrorHandlingStack ], "\n \t " ), 2 )
371
371
}
372
372
373
373
// nilStringer is used to test nil detection when setting tags.
@@ -413,7 +413,7 @@ func TestSpanSetTag(t *testing.T) {
413
413
assert .Equal (int32 (1 ), span .error )
414
414
assert .Equal ("abc" , span .meta [ext .ErrorMsg ])
415
415
assert .Equal ("*errors.errorString" , span .meta [ext .ErrorType ])
416
- assert .NotEmpty (span .meta [ext .ErrorStack ])
416
+ assert .NotEmpty (span .meta [ext .ErrorHandlingStack ])
417
417
418
418
span .SetTag (ext .Error , "something else" )
419
419
assert .Equal (int32 (1 ), span .error )
@@ -523,7 +523,7 @@ func TestSpanSetTagError(t *testing.T) {
523
523
t .Run ("on" , func (t * testing.T ) {
524
524
span := newBasicSpan ("web.request" )
525
525
span .setTagError (errors .New ("error value with trace" ), errorConfig {noDebugStack : false })
526
- assert .NotEmpty (t , span .meta [ext .ErrorStack ])
526
+ assert .NotEmpty (t , span .meta [ext .ErrorHandlingStack ])
527
527
})
528
528
}
529
529
@@ -793,10 +793,11 @@ func TestErrorStack(t *testing.T) {
793
793
assert .Equal ("Something wrong" , span .meta [ext .ErrorMsg ])
794
794
assert .Equal ("*errortrace.TracerError" , span .meta [ext .ErrorType ])
795
795
796
- stack := span .meta [ext .ErrorStack ]
796
+ stack := span .meta [ext .ErrorHandlingStack ]
797
797
assert .NotEqual ("" , stack )
798
798
assert .Contains (stack , "tracer.TestErrorStack" )
799
799
assert .Contains (stack , "tracer.createErrorTrace" )
800
+
800
801
span .Finish ()
801
802
})
802
803
@@ -813,10 +814,11 @@ func TestErrorStack(t *testing.T) {
813
814
assert .Equal ("Something wrong" , span .meta [ext .ErrorMsg ])
814
815
assert .Equal ("*errors.errorString" , span .meta [ext .ErrorType ])
815
816
816
- stack := span .meta [ext .ErrorStack ]
817
+ stack := span .meta [ext .ErrorHandlingStack ]
817
818
assert .NotEqual ("" , stack )
818
819
assert .Contains (stack , "tracer.TestErrorStack" )
819
- assert .NotContains (stack , "tracer.createTestError" ) // this checks our old behavior
820
+ assert .NotContains (stack , "tracer.createTestError" )
821
+
820
822
span .Finish ()
821
823
})
822
824
}
@@ -835,7 +837,7 @@ func TestSpanError(t *testing.T) {
835
837
assert .Equal (int32 (1 ), span .error )
836
838
assert .Equal ("Something wrong" , span .meta [ext .ErrorMsg ])
837
839
assert .Equal ("*errors.errorString" , span .meta [ext .ErrorType ])
838
- assert .NotEqual ("" , span .meta [ext .ErrorStack ])
840
+ assert .NotEqual ("" , span .meta [ext .ErrorHandlingStack ])
839
841
span .Finish ()
840
842
841
843
// operating on a finished span is a no-op
@@ -866,7 +868,7 @@ func TestSpanError_Typed(t *testing.T) {
866
868
assert .Equal (int32 (1 ), span .error )
867
869
assert .Equal ("boom" , span .meta [ext .ErrorMsg ])
868
870
assert .Equal ("*tracer.boomError" , span .meta [ext .ErrorType ])
869
- assert .NotEqual ("" , span .meta [ext .ErrorStack ])
871
+ assert .NotEqual ("" , span .meta [ext .ErrorHandlingStack ])
870
872
}
871
873
872
874
func TestSpanErrorNil (t * testing.T ) {
@@ -978,7 +980,6 @@ func TestSpanErrorStackMetrics(t *testing.T) {
978
980
}
979
981
980
982
assert .Equal (0.0 , telemetryClient .Count (telemetry .NamespaceTracers , "errorstack.source" , []string {"source:takeStacktrace" }).Get ())
981
- assert .Equal (0.0 , telemetryClient .Distribution (telemetry .NamespaceTracers , "errorstack.duration" , []string {"source:takeStacktrace" }).Get ())
982
983
983
984
assert .Equal (5.0 , telemetryClient .Count (telemetry .NamespaceTracers , "errorstack.source" , []string {"source:TracerError" }).Get ())
984
985
if ! windows {
@@ -987,6 +988,24 @@ func TestSpanErrorStackMetrics(t *testing.T) {
987
988
})
988
989
}
989
990
991
+ func TestSpanErrorNoStackTrace (t * testing.T ) {
992
+ t .Run ("default" , func (t * testing.T ) {
993
+ assert := assert .New (t )
994
+ tracer , _ , _ , stop , err := startTestTracer (t , WithDebugStack (true ))
995
+ assert .Nil (err )
996
+ defer stop ()
997
+
998
+ span := tracer .StartSpan ("operation" )
999
+ span .SetTag (ext .ErrorNoStackTrace , errors .New ("test" ))
1000
+ span .Finish ()
1001
+
1002
+ assert .Equal (int32 (1 ), span .error )
1003
+ assert .Equal ("" , span .meta [ext .ErrorStack ])
1004
+ assert .Equal ("test" , span .meta [ext .ErrorMsg ])
1005
+ assert .Equal ("*errors.errorString" , span .meta [ext .ErrorType ])
1006
+ })
1007
+ }
1008
+
990
1009
func TestUniqueTagKeys (t * testing.T ) {
991
1010
assert := assert .New (t )
992
1011
span := newBasicSpan ("web.request" )
0 commit comments