|
16 | 16 | package com.amazonaws.xray.entities;
|
17 | 17 |
|
18 | 18 | import com.amazonaws.xray.AWSXRayRecorder;
|
| 19 | +import com.amazonaws.xray.internal.SamplingStrategyOverride; |
19 | 20 | import com.fasterxml.jackson.annotation.JsonIgnore;
|
20 | 21 | import com.fasterxml.jackson.core.JsonProcessingException;
|
21 | 22 | import com.fasterxml.jackson.databind.node.ObjectNode;
|
@@ -43,20 +44,34 @@ public class SubsegmentImpl extends EntityImpl implements Subsegment {
|
43 | 44 | @JsonIgnore
|
44 | 45 | private boolean isRecording;
|
45 | 46 |
|
| 47 | + @JsonIgnore |
| 48 | + private SamplingStrategyOverride samplingStrategyOverride; |
| 49 | + |
46 | 50 | @SuppressWarnings("nullness")
|
47 | 51 | private SubsegmentImpl() {
|
48 | 52 | super();
|
49 | 53 | } // default constructor for jackson
|
50 | 54 |
|
51 | 55 | public SubsegmentImpl(AWSXRayRecorder creator, String name, Segment parentSegment) {
|
| 56 | + this(creator, name, parentSegment, SamplingStrategyOverride.DISABLED); |
| 57 | + } |
| 58 | + |
| 59 | + @Deprecated |
| 60 | + public SubsegmentImpl(AWSXRayRecorder creator, |
| 61 | + String name, |
| 62 | + Segment parentSegment, |
| 63 | + SamplingStrategyOverride samplingStrategyOverride) { |
52 | 64 | super(creator, name);
|
53 | 65 | this.parentSegment = parentSegment;
|
54 | 66 | parentSegment.incrementReferenceCount();
|
55 | 67 | this.precursorIds = new HashSet<>();
|
56 | 68 | this.shouldPropagate = true;
|
57 | 69 |
|
58 |
| - isSampled = parentSegment.isSampled(); |
59 |
| - isRecording = parentSegment.isRecording(); |
| 70 | + this.isSampled = samplingStrategyOverride == SamplingStrategyOverride.DISABLED ? |
| 71 | + parentSegment.isSampled() : |
| 72 | + false; |
| 73 | + this.isRecording = isSampled; |
| 74 | + this.samplingStrategyOverride = samplingStrategyOverride; |
60 | 75 | }
|
61 | 76 |
|
62 | 77 | @Override
|
@@ -177,4 +192,10 @@ public void setSampledFalse() {
|
177 | 192 | isSampled = false;
|
178 | 193 | isRecording = false;
|
179 | 194 | }
|
| 195 | + |
| 196 | + @Override |
| 197 | + @Deprecated |
| 198 | + public SamplingStrategyOverride getSamplingStrategyOverride() { |
| 199 | + return samplingStrategyOverride; |
| 200 | + } |
180 | 201 | }
|
0 commit comments