Skip to content

Commit d541b38

Browse files
authored
Merge pull request scouter-project#822 from scouter-project/develop
release v2.15.0
2 parents a016751 + 14c904d commit d541b38

File tree

159 files changed

+8437
-801
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

159 files changed

+8437
-801
lines changed

‎build_client.sh‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44
# download maven from :
55
# https://maven.apache.org
66

7+
if [ ! -z "${JAVA_11_HOME}" ]; then
8+
echo JAVA_11_HOME: ${JAVA_11_HOME}
9+
JAVA_HOME=${JAVA_11_HOME}
10+
fi
11+
712
MVN="`which mvn`"
813
if [ ! -z "${MAVEN_HOME}" ]; then
914
echo MAVEN_HOME: ${MAVEN_HOME}

‎pom.xml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>io.github.scouter-project</groupId>
66
<artifactId>scouter-parent</artifactId>
7-
<version>2.10.2</version>
7+
<version>2.15.0</version>
88
<packaging>pom</packaging>
99

1010
<name>SCOUTER APM</name>

‎scouter.agent.batch/pom.xml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>io.github.scouter-project</groupId>
77
<artifactId>scouter-parent</artifactId>
8-
<version>2.10.2</version>
8+
<version>2.15.0</version>
99
</parent>
1010

1111
<artifactId>scouter-agent-batch</artifactId>

‎scouter.agent.host/pom.xml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>io.github.scouter-project</groupId>
66
<artifactId>scouter-parent</artifactId>
7-
<version>2.10.2</version>
7+
<version>2.15.0</version>
88
</parent>
99

1010
<artifactId>scouter-agent-host</artifactId>

‎scouter.agent.java/pom.xml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>io.github.scouter-project</groupId>
66
<artifactId>scouter-parent</artifactId>
7-
<version>2.10.2</version>
7+
<version>2.15.0</version>
88
</parent>
99

1010
<artifactId>scouter-agent-java</artifactId>
@@ -384,12 +384,12 @@
384384
<dependency>
385385
<groupId>org.ow2.asm</groupId>
386386
<artifactId>asm</artifactId>
387-
<version>8.0.1</version>
387+
<version>9.2</version>
388388
</dependency>
389389
<dependency>
390390
<groupId>org.ow2.asm</groupId>
391391
<artifactId>asm-commons</artifactId>
392-
<version>8.0.1</version>
392+
<version>9.2</version>
393393
</dependency>
394394
<!-- local lib -->
395395
<dependency>

‎scouter.agent.java/src/main/java/scouter/agent/AgentTransformer.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ public byte[] transform(final ClassLoader loader, String className, final Class
229229
ObjTypeDetector.check(className);
230230
final ClassDesc classDesc = new ClassDesc();
231231
ClassReader cr = new ClassReader(classfileBuffer);
232-
cr.accept(new ClassVisitor(Opcodes.ASM8) {
232+
cr.accept(new ClassVisitor(Opcodes.ASM9) {
233233
public void visit(int version, int access, String name, String signature, String superName,
234234
String[] interfaces) {
235235
classDesc.set(version, access, name, signature, superName, interfaces);

‎scouter.agent.java/src/main/java/scouter/agent/Configure.java‎

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,13 @@ public static final Configure getInstance() {
141141
// @ConfigDesc("Activating profile summary function")
142142
// public boolean profile_summary_mode_enabled = false;
143143

144+
@ConfigDesc("turn off profile")
145+
public boolean profile_off = false;
146+
144147
@ConfigDesc("Profiling the memory usage of each method")
145148
public boolean profile_thread_cputime_enabled = false;
146149
@ConfigDesc("Profiling the memory usage of each service")
147-
public boolean profile_thread_memory_usage_enabled = true;
150+
public boolean profile_thread_memory_usage_enabled = false;
148151
@ConfigDesc("ThreadStack profile for open socket")
149152
public boolean profile_socket_open_fullstack_enabled = false;
150153
@ConfigDesc("ThreadStack profile for a certain port of open socket")
@@ -227,6 +230,8 @@ public static final Configure getInstance() {
227230
public String trace_http_client_ip_header_key = "";
228231
@ConfigDesc("Activating gxid connection in HttpTransfer")
229232
public boolean trace_interservice_enabled = true;
233+
@ConfigDesc("propagate b3 header")
234+
public boolean trace_propagete_b3_header = true;
230235
@ConfigDesc("")
231236
public String _trace_interservice_gxid_header_key = "X-Scouter-Gxid";
232237
@ConfigDesc("")
@@ -366,6 +371,8 @@ public static final Configure getInstance() {
366371

367372
@ConfigDesc("XLog sampling mode enabled")
368373
public boolean xlog_sampling_enabled = false;
374+
@ConfigDesc("rate precision, default 1 means 1%. use 10 for 0.1%.")
375+
public int xlog_sampling_rate_precision = 1;
369376
@ConfigDesc("XLog sampling but discard profile only not XLog.")
370377
public boolean xlog_sampling_only_profile = false;
371378
@ConfigDesc("XLog sampling bound millisecond - step1(lowest : range - from 0 to here)")
@@ -387,6 +394,8 @@ public static final Configure getInstance() {
387394
//XLog sampling for service patterns options
388395
@ConfigDesc("XLog patterned sampling mode enabled")
389396
public boolean xlog_patterned_sampling_enabled = false;
397+
@ConfigDesc("rate precision, default 1 means 1%. use 10 for 0.1%.")
398+
public int xlog_patterned_sampling_rate_precision = 1;
390399
@ConfigDesc("XLog patterned sampling service patterns\neg) /user/{userId}<GET>,/device/*")
391400
@ConfigValueType(ValueType.COMMA_SEPARATED_VALUE)
392401
public String xlog_patterned_sampling_service_patterns = "";
@@ -411,6 +420,8 @@ public static final Configure getInstance() {
411420
//XLog patterned sampling options for another sampling group
412421
@ConfigDesc("XLog patterned sampling mode enabled")
413422
public boolean xlog_patterned2_sampling_enabled = false;
423+
@ConfigDesc("rate precision, default 1 means 1%. use 10 for 0.1%.")
424+
public int xlog_patterned2_sampling_rate_precision = 1;
414425
@ConfigDesc("XLog patterned sampling service patterns\neg) /user/{userId}<GET>,/device/*")
415426
@ConfigValueType(ValueType.COMMA_SEPARATED_VALUE)
416427
public String xlog_patterned2_sampling_service_patterns = "";
@@ -435,6 +446,8 @@ public static final Configure getInstance() {
435446
//XLog patterned sampling options for another sampling group
436447
@ConfigDesc("XLog patterned sampling mode enabled")
437448
public boolean xlog_patterned3_sampling_enabled = false;
449+
@ConfigDesc("rate precision, default 1 means 1%. use 10 for 0.1%.")
450+
public int xlog_patterned3_sampling_rate_precision = 1;
438451
@ConfigDesc("XLog patterned sampling service patterns\neg) /user/{userId}<GET>,/device/*")
439452
@ConfigValueType(ValueType.COMMA_SEPARATED_VALUE)
440453
public String xlog_patterned3_sampling_service_patterns = "";
@@ -459,6 +472,8 @@ public static final Configure getInstance() {
459472
//XLog patterned sampling options for another sampling group
460473
@ConfigDesc("XLog patterned sampling mode enabled")
461474
public boolean xlog_patterned4_sampling_enabled = false;
475+
@ConfigDesc("rate precision, default 1 means 1%. use 10 for 0.1%.")
476+
public int xlog_patterned4_sampling_rate_precision = 1;
462477
@ConfigDesc("XLog patterned sampling service patterns\neg) /user/{userId}<GET>,/device/*")
463478
@ConfigValueType(ValueType.COMMA_SEPARATED_VALUE)
464479
public String xlog_patterned4_sampling_service_patterns = "";
@@ -483,6 +498,8 @@ public static final Configure getInstance() {
483498
//XLog patterned sampling options for another sampling group
484499
@ConfigDesc("XLog patterned sampling mode enabled")
485500
public boolean xlog_patterned5_sampling_enabled = false;
501+
@ConfigDesc("rate precision, default 1 means 1%. use 10 for 0.1%.")
502+
public int xlog_patterned5_sampling_rate_precision = 1;
486503
@ConfigDesc("XLog patterned sampling service patterns\neg) /user/{userId}<GET>,/device/*")
487504
@ConfigValueType(ValueType.COMMA_SEPARATED_VALUE)
488505
public String xlog_patterned5_sampling_service_patterns = "";
@@ -780,6 +797,10 @@ public static final Configure getInstance() {
780797
public boolean _psts_enabled = false;
781798
@ConfigDesc("PSTS(periodical stacktrace step) thread dump Interval(ms) - hard min limit 2000")
782799
public int _psts_dump_interval_ms = 10000;
800+
@ConfigDesc("PSTS(periodical stacktrace step) thread dump min time. it dumps only the elapsed time is over than this option")
801+
public int _psts_dump_min_ms = 1000;
802+
@ConfigDesc("PSTS(periodical stacktrace step) thread dump max count in 1 interval")
803+
public int _psts_dump_max_count = 100;
783804
public boolean _psts_progressive_reactor_thread_trace_enabled = true;
784805

785806
//Summary
@@ -953,8 +974,10 @@ private void apply() {
953974
this.autodump_cpu_exceeded_dump_cnt = getInt("autodump_cpu_exceeded_dump_cnt", 3);
954975

955976
this.mgr_static_content_extensions = getValue("mgr_static_content_extensions", "js, htm, html, gif, png, jpg, css");
977+
978+
this.profile_off = getBoolean("profile_off", false);
956979
this.profile_thread_cputime_enabled = getBoolean("profile_thread_cputime_enabled", false);
957-
this.profile_thread_memory_usage_enabled = getBoolean("profile_thread_memory_usage_enabled", true);
980+
this.profile_thread_memory_usage_enabled = getBoolean("profile_thread_memory_usage_enabled", false);
958981
this.profile_socket_open_fullstack_enabled = getBoolean("profile_socket_open_fullstack_enabled", false);
959982
this.trace_background_socket_enabled = getBoolean("trace_background_socket_enabled", true);
960983
this.profile_socket_open_fullstack_port = getInt("profile_socket_open_fullstack_port", 0);
@@ -1099,6 +1122,7 @@ private void apply() {
10991122

11001123
this.trace_http_client_ip_header_key = getValue("trace_http_client_ip_header_key", "");
11011124
this.trace_interservice_enabled = getBoolean("trace_interservice_enabled", true);
1125+
this.trace_propagete_b3_header = getBoolean("trace_propagete_b3_header", true);
11021126
this.trace_response_gxid_enabled = getBoolean("trace_response_gxid_enabled", false);
11031127
this._trace_interservice_gxid_header_key = getValue("_trace_interservice_gxid_header_key", "X-Scouter-Gxid");
11041128
this._trace_interservice_callee_header_key = getValue("_trace_interservice_callee_header_key", "X-Scouter-Callee");
@@ -1152,6 +1176,8 @@ private void apply() {
11521176

11531177
this._psts_enabled = getBoolean("_psts_enabled", false);
11541178
this._psts_dump_interval_ms = getInt("_psts_dump_interval_ms", 10000);
1179+
this._psts_dump_min_ms = getInt("_psts_dump_min_ms", 1000);
1180+
this._psts_dump_max_count = getInt("_psts_dump_max_count", 100);
11551181
this._psts_progressive_reactor_thread_trace_enabled = getBoolean("_psts_progressive_reactor_dump_enabled", true);
11561182

11571183
// 웹시스템으로 부터 WAS 사이의 성능과 어떤 웹서버가 요청을 보내 왔는지를 추적하는 기능을 ON/OFF하고
@@ -1231,6 +1257,7 @@ private void apply() {
12311257
this.xlog_sampling_exclude_patterns = getValue("xlog_sampling_exclude_patterns", "");
12321258

12331259
this.xlog_sampling_enabled = getBoolean("xlog_sampling_enabled", false);
1260+
this.xlog_sampling_rate_precision = getInt("xlog_sampling_rate_precision", 1);
12341261
this.xlog_sampling_only_profile = getBoolean("xlog_sampling_only_profile", false);
12351262
this.xlog_sampling_step1_ms = getInt("xlog_sampling_step1_ms", 100);
12361263
this.xlog_sampling_step1_rate_pct = getInt("xlog_sampling_step1_rate_pct", 3);
@@ -1241,6 +1268,7 @@ private void apply() {
12411268
this.xlog_sampling_over_rate_pct = getInt("xlog_sampling_over_rate_pct", 100);
12421269

12431270
this.xlog_patterned_sampling_enabled = getBoolean("xlog_patterned_sampling_enabled", false);
1271+
this.xlog_patterned_sampling_rate_precision = getInt("xlog_patterned_sampling_rate_precision", 1);
12441272
this.xlog_patterned_sampling_service_patterns = getValue("xlog_patterned_sampling_service_patterns", "");
12451273
this.xlog_patterned_sampling_only_profile = getBoolean("xlog_patterned_sampling_only_profile", false);
12461274
this.xlog_patterned_sampling_step1_ms = getInt("xlog_patterned_sampling_step1_ms", 100);
@@ -1252,6 +1280,7 @@ private void apply() {
12521280
this.xlog_patterned_sampling_over_rate_pct = getInt("xlog_patterned_sampling_over_rate_pct", 100);
12531281

12541282
this.xlog_patterned2_sampling_enabled = getBoolean("xlog_patterned2_sampling_enabled", false);
1283+
this.xlog_patterned2_sampling_rate_precision = getInt("xlog_patterned2_sampling_rate_precision", 1);
12551284
this.xlog_patterned2_sampling_service_patterns = getValue("xlog_patterned2_sampling_service_patterns", "");
12561285
this.xlog_patterned2_sampling_only_profile = getBoolean("xlog_patterned2_sampling_only_profile", false);
12571286
this.xlog_patterned2_sampling_step1_ms = getInt("xlog_patterned2_sampling_step1_ms", 100);
@@ -1263,6 +1292,7 @@ private void apply() {
12631292
this.xlog_patterned2_sampling_over_rate_pct = getInt("xlog_patterned2_sampling_over_rate_pct", 100);
12641293

12651294
this.xlog_patterned3_sampling_enabled = getBoolean("xlog_patterned3_sampling_enabled", false);
1295+
this.xlog_patterned3_sampling_rate_precision = getInt("xlog_patterned3_sampling_rate_precision", 1);
12661296
this.xlog_patterned3_sampling_service_patterns = getValue("xlog_patterned3_sampling_service_patterns", "");
12671297
this.xlog_patterned3_sampling_only_profile = getBoolean("xlog_patterned3_sampling_only_profile", false);
12681298
this.xlog_patterned3_sampling_step1_ms = getInt("xlog_patterned3_sampling_step1_ms", 100);
@@ -1274,6 +1304,7 @@ private void apply() {
12741304
this.xlog_patterned3_sampling_over_rate_pct = getInt("xlog_patterned3_sampling_over_rate_pct", 100);
12751305

12761306
this.xlog_patterned4_sampling_enabled = getBoolean("xlog_patterned4_sampling_enabled", false);
1307+
this.xlog_patterned4_sampling_rate_precision = getInt("xlog_patterned4_sampling_rate_precision", 1);
12771308
this.xlog_patterned4_sampling_service_patterns = getValue("xlog_patterned4_sampling_service_patterns", "");
12781309
this.xlog_patterned4_sampling_only_profile = getBoolean("xlog_patterned4_sampling_only_profile", false);
12791310
this.xlog_patterned4_sampling_step1_ms = getInt("xlog_patterned4_sampling_step1_ms", 100);
@@ -1285,6 +1316,7 @@ private void apply() {
12851316
this.xlog_patterned4_sampling_over_rate_pct = getInt("xlog_patterned4_sampling_over_rate_pct", 100);
12861317

12871318
this.xlog_patterned5_sampling_enabled = getBoolean("xlog_patterned5_sampling_enabled", false);
1319+
this.xlog_patterned5_sampling_rate_precision = getInt("xlog_patterned5_sampling_rate_precision", 1);
12881320
this.xlog_patterned5_sampling_service_patterns = getValue("xlog_patterned5_sampling_service_patterns", "");
12891321
this.xlog_patterned5_sampling_only_profile = getBoolean("xlog_patterned5_sampling_only_profile", false);
12901322
this.xlog_patterned5_sampling_step1_ms = getInt("xlog_patterned5_sampling_step1_ms", 100);

‎scouter.agent.java/src/main/java/scouter/agent/DirectPatch.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ private static String getClassName(byte[] bytes) {
5151
try {
5252
final ClassDesc classDesc = new ClassDesc();
5353
ClassReader cr = new ClassReader(bytes);
54-
cr.accept(new ClassVisitor(Opcodes.ASM8) {
54+
cr.accept(new ClassVisitor(Opcodes.ASM9) {
5555
public void visit(int version, int access, String name, String signature, String superName,
5656
String[] interfaces) {
5757
classDesc.set(version, access, name, signature, superName, interfaces);

‎scouter.agent.java/src/main/java/scouter/agent/LambdaFormTransformer.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public byte[] transform(final ClassLoader loader, String className, final Class
7171

7272
final ClassDesc classDesc = new ClassDesc();
7373
ClassReader cr = new ClassReader(classfileBuffer);
74-
cr.accept(new ClassVisitor(Opcodes.ASM8) {
74+
cr.accept(new ClassVisitor(Opcodes.ASM9) {
7575
public void visit(int version, int access, String name, String signature, String superName,
7676
String[] interfaces) {
7777
classDesc.set(version, access, name, signature, superName, interfaces);

‎scouter.agent.java/src/main/java/scouter/agent/asm/AddFieldASM.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class AddFieldCV extends ClassVisitor implements Opcodes {
5151
private String field;
5252
private String className;
5353
public AddFieldCV(ClassVisitor cv, String className, String field) {
54-
super(ASM8, cv);
54+
super(ASM9, cv);
5555
this.field = field;
5656
this.className = className;
5757
}

0 commit comments

Comments
 (0)