Skip to content

Commit fd93c8a

Browse files
authored
Adding back depricated functions (#360)
* Adding back depricated functions * Style check fixes * Fixing fail fast on build
1 parent e983eb9 commit fd93c8a

File tree

10 files changed

+128
-25
lines changed

10 files changed

+128
-25
lines changed

.github/workflows/pr-build.yml

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ jobs:
99
name: Build Java ${{ matrix.java }} on ${{ matrix.os }}
1010
runs-on: ${{ matrix.os }}
1111
strategy:
12+
fail-fast: false
1213
matrix:
1314
os:
1415
- macos-latest

aws-xray-recorder-sdk-core/src/main/java/com/amazonaws/xray/contexts/LambdaSegmentContext.java

-10
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,6 @@ private static FacadeSegment newFacadeSegment(AWSXRayRecorder recorder, String n
6060
return new FacadeSegment(recorder, traceHeader.getRootTraceId(), traceHeader.getParentId(), traceHeader.getSampled());
6161
}
6262

63-
@Override
64-
public Subsegment beginSubsegmentWithoutSampling(
65-
AWSXRayRecorder recorder,
66-
String name) {
67-
68-
Subsegment subsegment = beginSubsegment(recorder, name);
69-
subsegment.setSampledFalse();
70-
return subsegment;
71-
}
72-
7363
@Override
7464
public Subsegment beginSubsegment(AWSXRayRecorder recorder, String name) {
7565
if (logger.isDebugEnabled()) {

aws-xray-recorder-sdk-core/src/main/java/com/amazonaws/xray/contexts/SegmentContext.java

+21-2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.amazonaws.xray.entities.Entity;
2121
import com.amazonaws.xray.entities.Segment;
2222
import com.amazonaws.xray.entities.Subsegment;
23+
import com.amazonaws.xray.internal.SamplingStrategyOverride;
2324
import java.util.Objects;
2425
import org.apache.commons.logging.Log;
2526
import org.apache.commons.logging.LogFactory;
@@ -65,9 +66,27 @@ default void clearTraceEntity() {
6566

6667
Subsegment beginSubsegment(AWSXRayRecorder recorder, String name);
6768

68-
Subsegment beginSubsegmentWithoutSampling(
69+
default Subsegment beginSubsegmentWithoutSampling(
6970
AWSXRayRecorder recorder,
70-
String name);
71+
String name)
72+
{
73+
Subsegment subsegment = beginSubsegment(recorder, name);
74+
subsegment.setSampledFalse();
75+
return subsegment;
76+
}
77+
78+
@Deprecated
79+
default Subsegment beginSubsegmentWithSamplingOverride(
80+
AWSXRayRecorder recorder,
81+
String name,
82+
SamplingStrategyOverride samplingStrategyOverride) {
83+
84+
if (samplingStrategyOverride == SamplingStrategyOverride.DISABLED) {
85+
return beginSubsegment(recorder, name);
86+
} else {
87+
return beginSubsegmentWithoutSampling(recorder, name);
88+
}
89+
}
7190

7291
void endSubsegment(AWSXRayRecorder recorder);
7392
}

aws-xray-recorder-sdk-core/src/main/java/com/amazonaws/xray/contexts/ThreadLocalSegmentContext.java

-9
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,6 @@ public class ThreadLocalSegmentContext implements SegmentContext {
3232
private static final Log logger =
3333
LogFactory.getLog(ThreadLocalSegmentContext.class);
3434

35-
@Override
36-
public Subsegment beginSubsegmentWithoutSampling(
37-
AWSXRayRecorder recorder,
38-
String name) {
39-
Subsegment subsegment = beginSubsegment(recorder, name);
40-
subsegment.setSampledFalse();
41-
return subsegment;
42-
}
43-
4435
@Override
4536
public Subsegment beginSubsegment(AWSXRayRecorder recorder, String name) {
4637
Entity current = getTraceEntity();

aws-xray-recorder-sdk-core/src/main/java/com/amazonaws/xray/entities/DummySubsegment.java

+20
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package com.amazonaws.xray.entities;
1717

1818
import com.amazonaws.xray.AWSXRayRecorder;
19+
import com.amazonaws.xray.internal.SamplingStrategyOverride;
1920
import com.fasterxml.jackson.annotation.JsonIgnore;
2021
import java.util.ArrayList;
2122
import java.util.HashSet;
@@ -50,14 +51,27 @@ public class DummySubsegment implements Subsegment {
5051
@JsonIgnore
5152
private boolean isRecording;
5253

54+
@JsonIgnore
55+
private SamplingStrategyOverride samplingStrategyOverride;
56+
5357
public DummySubsegment(AWSXRayRecorder creator) {
5458
this(creator, TraceID.create(creator));
5559
}
5660

5761
public DummySubsegment(AWSXRayRecorder creator, TraceID traceId) {
62+
this(creator, traceId, SamplingStrategyOverride.DISABLED);
63+
}
64+
65+
@Deprecated
66+
public DummySubsegment(AWSXRayRecorder creator, TraceID traceId, SamplingStrategyOverride samplingStrategyOverride) {
5867
this.creator = creator;
5968
this.traceId = traceId;
6069
this.parentSegment = new DummySegment(creator);
70+
this.isSampled = samplingStrategyOverride == SamplingStrategyOverride.DISABLED ?
71+
parentSegment.isSampled() :
72+
false;
73+
this.isRecording = isSampled;
74+
this.samplingStrategyOverride = samplingStrategyOverride;
6175
}
6276

6377
@Override
@@ -412,4 +426,10 @@ public void setSampledFalse() {
412426
isSampled = false;
413427
isRecording = false;
414428
}
429+
430+
@Override
431+
@Deprecated
432+
public SamplingStrategyOverride getSamplingStrategyOverride() {
433+
return samplingStrategyOverride;
434+
}
415435
}

aws-xray-recorder-sdk-core/src/main/java/com/amazonaws/xray/entities/NoOpSubSegment.java

+27-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package com.amazonaws.xray.entities;
1717

1818
import com.amazonaws.xray.AWSXRayRecorder;
19+
import com.amazonaws.xray.internal.SamplingStrategyOverride;
1920
import com.fasterxml.jackson.annotation.JsonIgnore;
2021
import java.util.List;
2122
import java.util.Map;
@@ -38,19 +39,38 @@ class NoOpSubSegment implements Subsegment {
3839
@JsonIgnore
3940
private boolean isRecording;
4041

42+
@JsonIgnore
43+
private SamplingStrategyOverride samplingStrategyOverride;
44+
4145
NoOpSubSegment(Segment parentSegment, AWSXRayRecorder creator) {
4246
this(parentSegment, creator, true);
4347
}
4448

49+
NoOpSubSegment(Segment parentSegment, AWSXRayRecorder creator, boolean shouldPropagate) {
50+
this(parentSegment, creator, shouldPropagate, SamplingStrategyOverride.DISABLED);
51+
}
52+
53+
@Deprecated
54+
NoOpSubSegment(Segment parentSegment, AWSXRayRecorder creator, SamplingStrategyOverride samplingStrategyOverride) {
55+
this(parentSegment, creator, true, samplingStrategyOverride);
56+
}
4557

58+
@Deprecated
4659
NoOpSubSegment(
4760
Segment parentSegment,
4861
AWSXRayRecorder creator,
49-
boolean shouldPropagate) {
62+
boolean shouldPropagate,
63+
SamplingStrategyOverride samplingStrategyOverride) {
5064
this.parentSegment = parentSegment;
5165
this.creator = creator;
5266
this.shouldPropagate = shouldPropagate;
5367
parent = parentSegment;
68+
69+
this.isSampled = samplingStrategyOverride == SamplingStrategyOverride.DISABLED ?
70+
parentSegment.isSampled() :
71+
false;
72+
this.isRecording = isSampled;
73+
this.samplingStrategyOverride = samplingStrategyOverride;
5474
}
5575

5676
@Override
@@ -401,4 +421,10 @@ public void setSampledFalse() {
401421
isSampled = false;
402422
isRecording = false;
403423
}
424+
425+
@Override
426+
@Deprecated
427+
public SamplingStrategyOverride getSamplingStrategyOverride() {
428+
return samplingStrategyOverride;
429+
}
404430
}

aws-xray-recorder-sdk-core/src/main/java/com/amazonaws/xray/entities/Subsegment.java

+14-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package com.amazonaws.xray.entities;
1717

1818
import com.amazonaws.xray.AWSXRayRecorder;
19+
import com.amazonaws.xray.internal.SamplingStrategyOverride;
1920
import com.fasterxml.jackson.annotation.JsonIgnore;
2021
import java.util.Set;
2122
import org.checkerframework.checker.nullness.qual.Nullable;
@@ -24,7 +25,17 @@ public interface Subsegment extends Entity {
2425
static Subsegment noOp(AWSXRayRecorder recorder) {
2526
return new NoOpSubSegment(Segment.noOp(TraceID.invalid(), recorder), recorder);
2627
}
27-
28+
29+
@Deprecated
30+
static Subsegment noOp(AWSXRayRecorder recorder, boolean shouldPropagate, SamplingStrategyOverride samplingStrategyOverride) {
31+
return new NoOpSubSegment(Segment.noOp(TraceID.invalid(), recorder), recorder, shouldPropagate, samplingStrategyOverride);
32+
}
33+
34+
@Deprecated
35+
static Subsegment noOp(Segment parent, AWSXRayRecorder recorder, SamplingStrategyOverride samplingStrategyOverride) {
36+
return new NoOpSubSegment(parent, recorder, samplingStrategyOverride);
37+
}
38+
2839
static Subsegment noOp(AWSXRayRecorder recorder, boolean shouldPropagate) {
2940
return new NoOpSubSegment(Segment.noOp(TraceID.invalid(), recorder), recorder, shouldPropagate);
3041
}
@@ -121,4 +132,6 @@ static Subsegment noOp(Segment parent, AWSXRayRecorder recorder) {
121132

122133
@JsonIgnore
123134
void setSampledFalse();
135+
136+
SamplingStrategyOverride getSamplingStrategyOverride();
124137
}

aws-xray-recorder-sdk-core/src/main/java/com/amazonaws/xray/entities/SubsegmentImpl.java

+23-2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package com.amazonaws.xray.entities;
1717

1818
import com.amazonaws.xray.AWSXRayRecorder;
19+
import com.amazonaws.xray.internal.SamplingStrategyOverride;
1920
import com.fasterxml.jackson.annotation.JsonIgnore;
2021
import com.fasterxml.jackson.core.JsonProcessingException;
2122
import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -43,20 +44,34 @@ public class SubsegmentImpl extends EntityImpl implements Subsegment {
4344
@JsonIgnore
4445
private boolean isRecording;
4546

47+
@JsonIgnore
48+
private SamplingStrategyOverride samplingStrategyOverride;
49+
4650
@SuppressWarnings("nullness")
4751
private SubsegmentImpl() {
4852
super();
4953
} // default constructor for jackson
5054

5155
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) {
5264
super(creator, name);
5365
this.parentSegment = parentSegment;
5466
parentSegment.incrementReferenceCount();
5567
this.precursorIds = new HashSet<>();
5668
this.shouldPropagate = true;
5769

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;
6075
}
6176

6277
@Override
@@ -177,4 +192,10 @@ public void setSampledFalse() {
177192
isSampled = false;
178193
isRecording = false;
179194
}
195+
196+
@Override
197+
@Deprecated
198+
public SamplingStrategyOverride getSamplingStrategyOverride() {
199+
return samplingStrategyOverride;
200+
}
180201
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
package com.amazonaws.xray.internal;
17+
18+
public enum SamplingStrategyOverride {
19+
DISABLED, // Does not override the SamplingStrategy.
20+
FALSE, // Overrides the SamplingStrategy and always chooses NOT to sample.
21+
}

aws-xray-recorder-sdk-lambda/src/test/java/com/amazonaws/xray/lambda/SQSMessageHelperTest.java

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public void testSampled() {
2929
testTrue("Root=1-5759e988-bd862e3fe1be46a994272793;Sampled=1");
3030
testTrue("Root=1-5759e988-bd862e3fe1be46a994272793;Parent=53995c3f42cd8ad8;Sampled=1");
3131

32+
testFalse("Root=1-632BB806-bd862e3fe1be46a994272793");
3233
testFalse("Root=1-632BB806-bd862e3fe1be46a994272793;Sampled=0");
3334
testFalse("Root=1-5759e988-bd862e3fe1be46a994272793;Sampled=0");
3435
testFalse("Root=1-5759e988-bd862e3fe1be46a994272793;Parent=53995c3f42cd8ad8;Sampled=0");

0 commit comments

Comments
 (0)