Skip to content

Commit f201a6f

Browse files
committed
Add rate limited sampling smoke test for ingestion sampling
1 parent 4461834 commit f201a6f

File tree

4 files changed

+154
-0
lines changed

4 files changed

+154
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
package com.microsoft.applicationinsights.smoketest;
5+
6+
import com.microsoft.applicationinsights.smoketest.schemav2.Envelope;
7+
import org.junit.jupiter.api.Test;
8+
import org.junit.jupiter.api.extension.RegisterExtension;
9+
10+
import java.util.List;
11+
12+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_11;
13+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_11_OPENJ9;
14+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_17;
15+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_21;
16+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_8;
17+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_8_OPENJ9;
18+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.WILDFLY_13_JAVA_8;
19+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.WILDFLY_13_JAVA_8_OPENJ9;
20+
import static java.util.concurrent.TimeUnit.SECONDS;
21+
import static org.assertj.core.api.Assertions.assertThat;
22+
23+
@UseAgent("applicationinsights-ingestion-sampling-disabled.json")
24+
abstract class RateLimitedSamplingIngestionSamplingDisabledTest {
25+
26+
@RegisterExtension static final SmokeTestExtension testing = SmokeTestExtension.create();
27+
28+
@Test
29+
@TargetUri(value = "/sampling", callCount = 1000)
30+
void testSampling() throws Exception {
31+
// give some time to collect
32+
Thread.sleep(SECONDS.toMillis(5));
33+
34+
List<Envelope> rdEnvelopes = testing.mockedIngestion.getItemsEnvelopeDataType("RequestData");
35+
36+
assertThat(rdEnvelopes.size()).isEqualTo(1000);
37+
38+
for (Envelope rdEnvelope : rdEnvelopes) {
39+
assertThat(rdEnvelope.getSampleRate()).isEqualTo(99.99f);
40+
}
41+
}
42+
43+
@Environment(TOMCAT_8_JAVA_8)
44+
static class Tomcat8Java8Test extends RateLimitedSamplingIngestionSamplingDisabledTest {}
45+
46+
@Environment(TOMCAT_8_JAVA_8_OPENJ9)
47+
static class Tomcat8Java8OpenJ9Test extends RateLimitedSamplingIngestionSamplingDisabledTest {}
48+
49+
@Environment(TOMCAT_8_JAVA_11)
50+
static class Tomcat8Java11Test extends RateLimitedSamplingIngestionSamplingDisabledTest {}
51+
52+
@Environment(TOMCAT_8_JAVA_11_OPENJ9)
53+
static class Tomcat8Java11OpenJ9Test extends RateLimitedSamplingIngestionSamplingDisabledTest {}
54+
55+
@Environment(TOMCAT_8_JAVA_17)
56+
static class Tomcat8Java17Test extends RateLimitedSamplingIngestionSamplingDisabledTest {}
57+
58+
@Environment(TOMCAT_8_JAVA_21)
59+
static class Tomcat8Java21Test extends RateLimitedSamplingIngestionSamplingDisabledTest {}
60+
61+
@Environment(WILDFLY_13_JAVA_8)
62+
static class Wildfly13Java8Test extends RateLimitedSamplingIngestionSamplingDisabledTest {}
63+
64+
@Environment(WILDFLY_13_JAVA_8_OPENJ9)
65+
static class Wildfly13Java8OpenJ9Test extends RateLimitedSamplingIngestionSamplingDisabledTest {}
66+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
package com.microsoft.applicationinsights.smoketest;
5+
6+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_11;
7+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_11_OPENJ9;
8+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_17;
9+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_21;
10+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_8;
11+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.TOMCAT_8_JAVA_8_OPENJ9;
12+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.WILDFLY_13_JAVA_8;
13+
import static com.microsoft.applicationinsights.smoketest.EnvironmentValue.WILDFLY_13_JAVA_8_OPENJ9;
14+
import static java.util.concurrent.TimeUnit.SECONDS;
15+
import static org.assertj.core.api.Assertions.assertThat;
16+
17+
import com.microsoft.applicationinsights.smoketest.schemav2.Envelope;
18+
import java.util.List;
19+
import org.junit.jupiter.api.Test;
20+
import org.junit.jupiter.api.extension.RegisterExtension;
21+
22+
@UseAgent("applicationinsights-ingestion-sampling.json")
23+
abstract class RateLimitedSamplingIngestionSamplingTest {
24+
25+
@RegisterExtension static final SmokeTestExtension testing = SmokeTestExtension.create();
26+
27+
@Test
28+
@TargetUri(value = "/sampling", callCount = 1000)
29+
void testSampling() throws Exception {
30+
// give some time to collect
31+
Thread.sleep(SECONDS.toMillis(5));
32+
33+
List<Envelope> rdEnvelopes = testing.mockedIngestion.getItemsEnvelopeDataType("RequestData");
34+
35+
assertThat(rdEnvelopes.size()).isEqualTo(1000);
36+
37+
for (Envelope rdEnvelope : rdEnvelopes) {
38+
assertThat(rdEnvelope.getSampleRate()).isNull();
39+
}
40+
}
41+
42+
@Environment(TOMCAT_8_JAVA_8)
43+
static class Tomcat8Java8Test extends RateLimitedSamplingIngestionSamplingTest {}
44+
45+
@Environment(TOMCAT_8_JAVA_8_OPENJ9)
46+
static class Tomcat8Java8OpenJ9Test extends RateLimitedSamplingIngestionSamplingTest {}
47+
48+
@Environment(TOMCAT_8_JAVA_11)
49+
static class Tomcat8Java11Test extends RateLimitedSamplingIngestionSamplingTest {}
50+
51+
@Environment(TOMCAT_8_JAVA_11_OPENJ9)
52+
static class Tomcat8Java11OpenJ9Test extends RateLimitedSamplingIngestionSamplingTest {}
53+
54+
@Environment(TOMCAT_8_JAVA_17)
55+
static class Tomcat8Java17Test extends RateLimitedSamplingIngestionSamplingTest {}
56+
57+
@Environment(TOMCAT_8_JAVA_21)
58+
static class Tomcat8Java21Test extends RateLimitedSamplingIngestionSamplingTest {}
59+
60+
@Environment(WILDFLY_13_JAVA_8)
61+
static class Wildfly13Java8Test extends RateLimitedSamplingIngestionSamplingTest {}
62+
63+
@Environment(WILDFLY_13_JAVA_8_OPENJ9)
64+
static class Wildfly13Java8OpenJ9Test extends RateLimitedSamplingIngestionSamplingTest {}
65+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"role": {
3+
"name": "testrolename",
4+
"instance": "testroleinstance"
5+
},
6+
"sampling" : {
7+
"requestsPerSecond": 100000
8+
},
9+
"preview": {
10+
"sampling": {
11+
"ingestionSamplingEnabled": false
12+
}
13+
}
14+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"role": {
3+
"name": "testrolename",
4+
"instance": "testroleinstance"
5+
},
6+
"sampling" : {
7+
"requestsPerSecond": 100000
8+
}
9+
}

0 commit comments

Comments
 (0)