@@ -530,16 +530,19 @@ public List<Subsegment> getSubsegments() {
530
530
}
531
531
}
532
532
533
+ @ JsonIgnore
534
+ @ Override
535
+ public List <Subsegment > getSubsegmentsCopy () {
536
+ synchronized (lock ) {
537
+ return new ArrayList <>(subsegments );
538
+ }
539
+ }
540
+
533
541
@ Override
534
542
public void addSubsegment (Subsegment subsegment ) {
535
543
synchronized (lock ) {
536
544
checkAlreadyEmitted ();
537
- getSubsegmentsLock ().lock ();
538
- try {
539
- subsegments .add (subsegment );
540
- } finally {
541
- getSubsegmentsLock ().unlock ();
542
- }
545
+ subsegments .add (subsegment );
543
546
}
544
547
}
545
548
@@ -548,13 +551,8 @@ public void addException(Throwable exception) {
548
551
synchronized (lock ) {
549
552
checkAlreadyEmitted ();
550
553
setFault (true );
551
- getSubsegmentsLock ().lock ();
552
- try {
553
- cause .addExceptions (creator .getThrowableSerializationStrategy ()
554
- .describeInContext (this , exception , subsegments ));
555
- } finally {
556
- getSubsegmentsLock ().unlock ();
557
- }
554
+ cause .addExceptions (creator .getThrowableSerializationStrategy ()
555
+ .describeInContext (this , exception , subsegments ));
558
556
}
559
557
}
560
558
@@ -756,12 +754,7 @@ public String prettySerialize() {
756
754
@ Override
757
755
public void removeSubsegment (Subsegment subsegment ) {
758
756
synchronized (lock ) {
759
- getSubsegmentsLock ().lock ();
760
- try {
761
- subsegments .remove (subsegment );
762
- } finally {
763
- getSubsegmentsLock ().unlock ();
764
- }
757
+ subsegments .remove (subsegment );
765
758
getParentSegment ().getTotalSize ().decrement ();
766
759
}
767
760
}
0 commit comments