Skip to content

Commit 1e56ef1

Browse files
authored
fix kinesis verifier failure for kinesis sdk2 before 2.18.40 (#2123)
* fix kinesis verifier failure for kinesis sdk2 before 2.18.40 * fix kinesis instrumentation tests
1 parent d9aee60 commit 1e56ef1

File tree

23 files changed

+1503
-8
lines changed

23 files changed

+1503
-8
lines changed

instrumentation/aws-java-sdk-kinesis-2.0.6/build.gradle renamed to instrumentation/aws-java-sdk-kinesis-2.1.0/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
dependencies {
22
implementation(project(":agent-bridge"))
3-
implementation("software.amazon.awssdk:kinesis:2.20.45")
3+
implementation("software.amazon.awssdk:kinesis:2.1.0")
44
}
55

66
jar {
7-
manifest { attributes 'Implementation-Title': 'com.newrelic.instrumentation.aws-java-sdk-kinesis-2.0.6' }
7+
manifest { attributes 'Implementation-Title': 'com.newrelic.instrumentation.aws-java-sdk-kinesis-2.1.0' }
88
}
99

1010
verifyInstrumentation {

instrumentation/aws-java-sdk-kinesis-2.0.6/src/main/java/com/agent/instrumentation/awsjavasdk2/services/kinesis/KinesisUtil.java renamed to instrumentation/aws-java-sdk-kinesis-2.1.0/src/main/java/com/agent/instrumentation/awsjavasdk2/services/kinesis/KinesisUtil.java

File renamed without changes.

instrumentation/aws-java-sdk-kinesis-2.0.6/src/main/java/com/agent/instrumentation/awsjavasdk2/services/kinesis/SegmentHandler.java renamed to instrumentation/aws-java-sdk-kinesis-2.1.0/src/main/java/com/agent/instrumentation/awsjavasdk2/services/kinesis/SegmentHandler.java

File renamed without changes.

instrumentation/aws-java-sdk-kinesis-2.0.6/src/main/java/com/agent/instrumentation/awsjavasdk2/services/kinesis/StreamProcessedData.java renamed to instrumentation/aws-java-sdk-kinesis-2.1.0/src/main/java/com/agent/instrumentation/awsjavasdk2/services/kinesis/StreamProcessedData.java

File renamed without changes.

instrumentation/aws-java-sdk-kinesis-2.0.6/src/main/java/com/agent/instrumentation/awsjavasdk2/services/kinesis/StreamRawData.java renamed to instrumentation/aws-java-sdk-kinesis-2.1.0/src/main/java/com/agent/instrumentation/awsjavasdk2/services/kinesis/StreamRawData.java

File renamed without changes.

instrumentation/aws-java-sdk-kinesis-2.0.6/src/main/java/software/amazon/awssdk/core/client/handler/AsyncClientHandler_Instrumentation.java renamed to instrumentation/aws-java-sdk-kinesis-2.1.0/src/main/java/software/amazon/awssdk/core/client/handler/AsyncClientHandler_Instrumentation.java

File renamed without changes.

instrumentation/aws-java-sdk-kinesis-2.1.0/src/main/java/software/amazon/awssdk/services/kinesis/DefaultKinesisAsyncClient_Instrumentation.java

Lines changed: 277 additions & 0 deletions
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
package software.amazon.awssdk.services.kinesis;
2+
3+
import com.agent.instrumentation.awsjavasdk2.services.kinesis.KinesisUtil;
4+
import com.agent.instrumentation.awsjavasdk2.services.kinesis.StreamRawData;
5+
import com.newrelic.api.agent.Trace;
6+
import com.newrelic.api.agent.weaver.MatchType;
7+
import com.newrelic.api.agent.weaver.Weave;
8+
import com.newrelic.api.agent.weaver.Weaver;
9+
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
10+
import software.amazon.awssdk.services.kinesis.model.AddTagsToStreamRequest;
11+
import software.amazon.awssdk.services.kinesis.model.AddTagsToStreamResponse;
12+
import software.amazon.awssdk.services.kinesis.model.CreateStreamRequest;
13+
import software.amazon.awssdk.services.kinesis.model.CreateStreamResponse;
14+
import software.amazon.awssdk.services.kinesis.model.DecreaseStreamRetentionPeriodRequest;
15+
import software.amazon.awssdk.services.kinesis.model.DecreaseStreamRetentionPeriodResponse;
16+
import software.amazon.awssdk.services.kinesis.model.DeleteStreamRequest;
17+
import software.amazon.awssdk.services.kinesis.model.DeleteStreamResponse;
18+
import software.amazon.awssdk.services.kinesis.model.DeregisterStreamConsumerRequest;
19+
import software.amazon.awssdk.services.kinesis.model.DeregisterStreamConsumerResponse;
20+
import software.amazon.awssdk.services.kinesis.model.DescribeLimitsRequest;
21+
import software.amazon.awssdk.services.kinesis.model.DescribeLimitsResponse;
22+
import software.amazon.awssdk.services.kinesis.model.DescribeStreamConsumerRequest;
23+
import software.amazon.awssdk.services.kinesis.model.DescribeStreamConsumerResponse;
24+
import software.amazon.awssdk.services.kinesis.model.DescribeStreamRequest;
25+
import software.amazon.awssdk.services.kinesis.model.DescribeStreamResponse;
26+
import software.amazon.awssdk.services.kinesis.model.DescribeStreamSummaryRequest;
27+
import software.amazon.awssdk.services.kinesis.model.DescribeStreamSummaryResponse;
28+
import software.amazon.awssdk.services.kinesis.model.DisableEnhancedMonitoringRequest;
29+
import software.amazon.awssdk.services.kinesis.model.DisableEnhancedMonitoringResponse;
30+
import software.amazon.awssdk.services.kinesis.model.EnableEnhancedMonitoringRequest;
31+
import software.amazon.awssdk.services.kinesis.model.EnableEnhancedMonitoringResponse;
32+
import software.amazon.awssdk.services.kinesis.model.GetRecordsRequest;
33+
import software.amazon.awssdk.services.kinesis.model.GetRecordsResponse;
34+
import software.amazon.awssdk.services.kinesis.model.GetShardIteratorRequest;
35+
import software.amazon.awssdk.services.kinesis.model.GetShardIteratorResponse;
36+
import software.amazon.awssdk.services.kinesis.model.IncreaseStreamRetentionPeriodRequest;
37+
import software.amazon.awssdk.services.kinesis.model.IncreaseStreamRetentionPeriodResponse;
38+
import software.amazon.awssdk.services.kinesis.model.ListShardsRequest;
39+
import software.amazon.awssdk.services.kinesis.model.ListShardsResponse;
40+
import software.amazon.awssdk.services.kinesis.model.ListStreamConsumersRequest;
41+
import software.amazon.awssdk.services.kinesis.model.ListStreamConsumersResponse;
42+
import software.amazon.awssdk.services.kinesis.model.ListStreamsRequest;
43+
import software.amazon.awssdk.services.kinesis.model.ListStreamsResponse;
44+
import software.amazon.awssdk.services.kinesis.model.ListTagsForStreamRequest;
45+
import software.amazon.awssdk.services.kinesis.model.ListTagsForStreamResponse;
46+
import software.amazon.awssdk.services.kinesis.model.MergeShardsRequest;
47+
import software.amazon.awssdk.services.kinesis.model.MergeShardsResponse;
48+
import software.amazon.awssdk.services.kinesis.model.PutRecordRequest;
49+
import software.amazon.awssdk.services.kinesis.model.PutRecordResponse;
50+
import software.amazon.awssdk.services.kinesis.model.PutRecordsRequest;
51+
import software.amazon.awssdk.services.kinesis.model.PutRecordsResponse;
52+
import software.amazon.awssdk.services.kinesis.model.RegisterStreamConsumerRequest;
53+
import software.amazon.awssdk.services.kinesis.model.RegisterStreamConsumerResponse;
54+
import software.amazon.awssdk.services.kinesis.model.RemoveTagsFromStreamRequest;
55+
import software.amazon.awssdk.services.kinesis.model.RemoveTagsFromStreamResponse;
56+
import software.amazon.awssdk.services.kinesis.model.SplitShardRequest;
57+
import software.amazon.awssdk.services.kinesis.model.SplitShardResponse;
58+
import software.amazon.awssdk.services.kinesis.model.StartStreamEncryptionRequest;
59+
import software.amazon.awssdk.services.kinesis.model.StartStreamEncryptionResponse;
60+
import software.amazon.awssdk.services.kinesis.model.StopStreamEncryptionRequest;
61+
import software.amazon.awssdk.services.kinesis.model.StopStreamEncryptionResponse;
62+
import software.amazon.awssdk.services.kinesis.model.UpdateShardCountRequest;
63+
import software.amazon.awssdk.services.kinesis.model.UpdateShardCountResponse;
64+
65+
@Weave(originalName = "software.amazon.awssdk.services.kinesis.DefaultKinesisClient", type = MatchType.ExactClass)
66+
class DefaultKinesisClient_Instrumentation {
67+
private final SdkClientConfiguration clientConfiguration = Weaver.callOriginal();
68+
69+
@Trace(leaf=true)
70+
public AddTagsToStreamResponse addTagsToStream(AddTagsToStreamRequest request) {
71+
KinesisUtil.setTraceDetails("addTagsToStream", new StreamRawData(request.streamName(), null, this, clientConfiguration));
72+
return Weaver.callOriginal();
73+
}
74+
75+
@Trace(leaf=true)
76+
public CreateStreamResponse createStream(CreateStreamRequest request) {
77+
KinesisUtil.setTraceDetails("createStream", new StreamRawData(request.streamName(), null, this, clientConfiguration));
78+
return Weaver.callOriginal();
79+
}
80+
81+
@Trace(leaf=true)
82+
public DecreaseStreamRetentionPeriodResponse decreaseStreamRetentionPeriod(DecreaseStreamRetentionPeriodRequest request) {
83+
KinesisUtil.setTraceDetails("decreaseStreamRetentionPeriod", new StreamRawData(request.streamName(), null, this, clientConfiguration));
84+
return Weaver.callOriginal();
85+
}
86+
87+
@Trace(leaf=true)
88+
public DeleteStreamResponse deleteStream(DeleteStreamRequest request) {
89+
KinesisUtil.setTraceDetails("deleteStream", new StreamRawData(request.streamName(), null, this, clientConfiguration));
90+
return Weaver.callOriginal();
91+
}
92+
93+
@Trace(leaf=true)
94+
public DeregisterStreamConsumerResponse deregisterStreamConsumer(DeregisterStreamConsumerRequest request) {
95+
String streamArn = request.streamARN();
96+
String consumerArn = request.consumerARN();
97+
String arn = streamArn != null && !streamArn.isEmpty() ? streamArn : consumerArn;
98+
KinesisUtil.setTraceDetails("deregisterStreamConsumer", new StreamRawData(null, arn, this, clientConfiguration));
99+
return Weaver.callOriginal();
100+
}
101+
102+
@Trace(leaf=true)
103+
public DescribeLimitsResponse describeLimits(DescribeLimitsRequest request) {
104+
KinesisUtil.setTraceDetails("describeLimits", new StreamRawData(null, null, this, clientConfiguration));
105+
return Weaver.callOriginal();
106+
}
107+
108+
@Trace(leaf=true)
109+
public DescribeStreamResponse describeStream(DescribeStreamRequest request) {
110+
KinesisUtil.setTraceDetails("describeStream", new StreamRawData(request.streamName(), null, this, clientConfiguration));
111+
return Weaver.callOriginal();
112+
}
113+
114+
@Trace(leaf=true)
115+
public DescribeStreamConsumerResponse describeStreamConsumer(DescribeStreamConsumerRequest request) {
116+
String streamArn = request.streamARN();
117+
String consumerArn = request.consumerARN();
118+
String arn = streamArn != null && !streamArn.isEmpty() ? streamArn : consumerArn;
119+
KinesisUtil.setTraceDetails("describeStreamConsumer", new StreamRawData(null, arn, this, clientConfiguration));
120+
return Weaver.callOriginal();
121+
}
122+
123+
@Trace(leaf=true)
124+
public DescribeStreamSummaryResponse describeStreamSummary(DescribeStreamSummaryRequest request) {
125+
KinesisUtil.setTraceDetails("describeStreamSummary", new StreamRawData(request.streamName(), null, this, clientConfiguration));
126+
return Weaver.callOriginal();
127+
}
128+
129+
@Trace(leaf=true)
130+
public DisableEnhancedMonitoringResponse disableEnhancedMonitoring(DisableEnhancedMonitoringRequest request) {
131+
KinesisUtil.setTraceDetails("disableEnhancedMonitoring", new StreamRawData(request.streamName(), null, this, clientConfiguration));
132+
return Weaver.callOriginal();
133+
}
134+
135+
@Trace(leaf=true)
136+
public EnableEnhancedMonitoringResponse enableEnhancedMonitoring(EnableEnhancedMonitoringRequest request) {
137+
KinesisUtil.setTraceDetails("enableEnhancedMonitoring", new StreamRawData(request.streamName(), null, this, clientConfiguration));
138+
return Weaver.callOriginal();
139+
}
140+
141+
@Trace(leaf=true)
142+
public GetRecordsResponse getRecords(GetRecordsRequest request) {
143+
KinesisUtil.setTraceDetails("getRecords", new StreamRawData(null, null, this, clientConfiguration));
144+
return Weaver.callOriginal();
145+
}
146+
147+
@Trace(leaf=true)
148+
public GetShardIteratorResponse getShardIterator(GetShardIteratorRequest request) {
149+
KinesisUtil.setTraceDetails("getShardIterator", new StreamRawData(request.streamName(), null, this, clientConfiguration));
150+
return Weaver.callOriginal();
151+
}
152+
153+
@Trace(leaf=true)
154+
public IncreaseStreamRetentionPeriodResponse increaseStreamRetentionPeriod(IncreaseStreamRetentionPeriodRequest request) {
155+
KinesisUtil.setTraceDetails("increaseStreamRetentionPeriod", new StreamRawData(request.streamName(), null, this, clientConfiguration));
156+
return Weaver.callOriginal();
157+
}
158+
159+
@Trace(leaf=true)
160+
public ListShardsResponse listShards(ListShardsRequest request) {
161+
KinesisUtil.setTraceDetails("listShards", new StreamRawData(request.streamName(), null, this, clientConfiguration));
162+
return Weaver.callOriginal();
163+
}
164+
165+
@Trace(leaf=true)
166+
public ListStreamConsumersResponse listStreamConsumers(ListStreamConsumersRequest request) {
167+
KinesisUtil.setTraceDetails("listStreamConsumers", new StreamRawData(null, request.streamARN(), this, clientConfiguration));
168+
return Weaver.callOriginal();
169+
}
170+
171+
@Trace(leaf=true)
172+
public ListStreamsResponse listStreams(ListStreamsRequest request) {
173+
KinesisUtil.setTraceDetails("listStreams", new StreamRawData(null, null, this, clientConfiguration));
174+
return Weaver.callOriginal();
175+
}
176+
177+
@Trace(leaf=true)
178+
public ListTagsForStreamResponse listTagsForStream(ListTagsForStreamRequest request) {
179+
KinesisUtil.setTraceDetails("listTagsForStream", new StreamRawData(request.streamName(), null, this, clientConfiguration));
180+
return Weaver.callOriginal();
181+
}
182+
183+
@Trace(leaf=true)
184+
public MergeShardsResponse mergeShards(MergeShardsRequest request) {
185+
KinesisUtil.setTraceDetails("mergeShards", new StreamRawData(request.streamName(), null, this, clientConfiguration));
186+
return Weaver.callOriginal();
187+
}
188+
189+
@Trace(leaf=true)
190+
public PutRecordResponse putRecord(PutRecordRequest request) {
191+
KinesisUtil.setTraceDetails("putRecord", new StreamRawData(request.streamName(), null, this, clientConfiguration));
192+
return Weaver.callOriginal();
193+
}
194+
195+
@Trace(leaf=true)
196+
public PutRecordsResponse putRecords(PutRecordsRequest request) {
197+
KinesisUtil.setTraceDetails("putRecords", new StreamRawData(request.streamName(), null, this, clientConfiguration));
198+
return Weaver.callOriginal();
199+
}
200+
@Trace(leaf=true)
201+
public RegisterStreamConsumerResponse registerStreamConsumer(RegisterStreamConsumerRequest request) {
202+
KinesisUtil.setTraceDetails("registerStreamConsumer", new StreamRawData(null, request.streamARN(), this, clientConfiguration));
203+
return Weaver.callOriginal();
204+
}
205+
206+
207+
@Trace(leaf=true)
208+
public RemoveTagsFromStreamResponse removeTagsFromStream(RemoveTagsFromStreamRequest request) {
209+
KinesisUtil.setTraceDetails("removeTagsFromStream", new StreamRawData(request.streamName(), null, this, clientConfiguration));
210+
return Weaver.callOriginal();
211+
}
212+
213+
@Trace(leaf=true)
214+
public SplitShardResponse splitShard(SplitShardRequest request) {
215+
KinesisUtil.setTraceDetails("splitShard", new StreamRawData(request.streamName(), null, this, clientConfiguration));
216+
return Weaver.callOriginal();
217+
}
218+
219+
@Trace(leaf=true)
220+
public StartStreamEncryptionResponse startStreamEncryption(StartStreamEncryptionRequest request) {
221+
KinesisUtil.setTraceDetails("startStreamEncryption", new StreamRawData(request.streamName(), null, this, clientConfiguration));
222+
return Weaver.callOriginal();
223+
}
224+
225+
@Trace(leaf=true)
226+
public StopStreamEncryptionResponse stopStreamEncryption(StopStreamEncryptionRequest request) {
227+
KinesisUtil.setTraceDetails("stopStreamEncryption", new StreamRawData(request.streamName(), null, this, clientConfiguration));
228+
return Weaver.callOriginal();
229+
}
230+
231+
@Trace(leaf=true)
232+
public UpdateShardCountResponse updateShardCount(UpdateShardCountRequest request) {
233+
KinesisUtil.setTraceDetails("updateShardCount", new StreamRawData(request.streamName(), null, this, clientConfiguration));
234+
return Weaver.callOriginal();
235+
}
236+
237+
}

0 commit comments

Comments
 (0)