-
Notifications
You must be signed in to change notification settings - Fork 357
Expand file tree
/
Copy pathCustomMBeanServerBuilderTest.groovy
More file actions
99 lines (91 loc) · 3.61 KB
/
Copy pathCustomMBeanServerBuilderTest.groovy
File metadata and controls
99 lines (91 loc) · 3.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
package datadog.trace.agent
import datadog.trace.agent.test.IntegrationTestUtils
import jvmbootstraptest.MBeanServerBuilderSetter
import spock.lang.Specification
import spock.lang.Timeout
@Timeout(30)
class CustomMBeanServerBuilderTest extends Specification {
private static final String DEFAULT_LOG_LEVEL = "debug"
private static final String API_KEY = "01234567890abcdef123456789ABCDEF"
// Run all tests using forked jvm so we try different JMX settings
def "JMXFetch starts up in premain with no custom MBeanServerBuilder set"() {
expect:
IntegrationTestUtils.runOnSeparateJvm(MBeanServerBuilderSetter.getName()
, [
"-Ddd.jmxfetch.enabled=true",
"-Ddd.jmxfetch.start-delay=0",
"-Ddd.jmxfetch.refresh-beans-period=1",
"-Ddd.profiling.enabled=true",
"-Ddd.instrumentation.telemetry.enabled=false",
"-Ddatadog.slf4j.simpleLogger.defaultLogLevel=$DEFAULT_LOG_LEVEL"
] as String[]
, "" as String[]
, ["DD_API_KEY": API_KEY]
, true) == 0
}
def "JMXFetch startup is delayed even if configured MBeanServerBuilder on system classpath"() {
expect:
IntegrationTestUtils.runOnSeparateJvm(MBeanServerBuilderSetter.getName()
, [
"-Ddd.jmxfetch.enabled=true",
"-Ddd.jmxfetch.start-delay=0",
"-Ddd.jmxfetch.refresh-beans-period=1",
"-Ddd.profiling.enabled=true",
"-Ddd.instrumentation.telemetry.enabled=false",
"-Ddatadog.slf4j.simpleLogger.defaultLogLevel=$DEFAULT_LOG_LEVEL",
"-Djavax.management.builder.initial=jvmbootstraptest.CustomMBeanServerBuilder"
] as String[]
, "" as String[]
, ["DD_API_KEY": API_KEY]
, true) == 0
}
def "JMXFetch startup is delayed with javax.management.builder.initial sysprop"() {
expect:
IntegrationTestUtils.runOnSeparateJvm(MBeanServerBuilderSetter.getName()
, [
"-Ddd.jmxfetch.enabled=true",
"-Ddd.jmxfetch.start-delay=0",
"-Ddd.jmxfetch.refresh-beans-period=1",
"-Ddd.profiling.enabled=true",
"-Ddd.instrumentation.telemetry.enabled=false",
"-Ddatadog.slf4j.simpleLogger.defaultLogLevel=$DEFAULT_LOG_LEVEL",
"-Djavax.management.builder.initial=jvmbootstraptest.MissingMBeanServerBuilder"
] as String[]
, "" as String[]
, ["DD_API_KEY": API_KEY]
, true) == 0
}
def "JMXFetch startup is delayed with tracer custom JMX builder setting"() {
expect:
IntegrationTestUtils.runOnSeparateJvm(MBeanServerBuilderSetter.getName()
, [
"-Ddd.jmxfetch.enabled=true",
"-Ddd.jmxfetch.start-delay=0",
"-Ddd.jmxfetch.refresh-beans-period=1",
"-Ddd.profiling.enabled=true",
"-Ddd.instrumentation.telemetry.enabled=false",
"-Ddatadog.slf4j.simpleLogger.defaultLogLevel=$DEFAULT_LOG_LEVEL",
"-Ddd.app.customjmxbuilder=true"
] as String[]
, "" as String[]
, ["DD_API_KEY": API_KEY]
, true) == 0
}
def "JMXFetch starts up in premain forced by customjmxbuilder=false"() {
expect:
IntegrationTestUtils.runOnSeparateJvm(MBeanServerBuilderSetter.getName()
, [
"-Ddd.jmxfetch.enabled=true",
"-Ddd.jmxfetch.start-delay=0",
"-Ddd.jmxfetch.refresh-beans-period=1",
"-Ddd.profiling.enabled=true",
"-Ddd.instrumentation.telemetry.enabled=false",
"-Ddatadog.slf4j.simpleLogger.defaultLogLevel=$DEFAULT_LOG_LEVEL",
"-Ddd.app.customjmxbuilder=false",
"-Djavax.management.builder.initial=jvmbootstraptest.CustomMBeanServerBuilder"
] as String[]
, "" as String[]
, ["DD_API_KEY": API_KEY]
, true) == 0
}
}