Skip to content

Commit ae5e765

Browse files
committed
for min packaging
1 parent 6781c24 commit ae5e765

File tree

5 files changed

+92
-11
lines changed

5 files changed

+92
-11
lines changed

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232

3333
<scouter.whole.packaging.prepare.dir>${project.basedir}/../target/whole-pack-working</scouter.whole.packaging.prepare.dir>
3434
<scouter.product.name>scouter-all-${project.version}</scouter.product.name>
35+
<scouter.product.min.name>scouter-min-${project.version}</scouter.product.min.name>
3536

3637
<jetty.version>9.4.6.v20170531</jetty.version>
3738
<jersey.version>2.25.1</jersey.version>

scouter.agent.java/pom.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
<final.jar.name.xtra>${project.build.directory}/xtra-${project.build.finalName}.jar</final.jar.name.xtra>
2626
<final.jar.name.shade>${project.build.directory}/shade-${project.build.finalName}.jar</final.jar.name.shade>
2727
<scouter.agent.file.name>scouter.agent.jar</scouter.agent.file.name>
28+
<scouter.agent.min.file.name>scouter.agent.min.jar</scouter.agent.min.file.name>
2829

2930
<provided.tools.jar>${project.basedir}/lib/provided/tools.jar</provided.tools.jar>
3031
</properties>
@@ -245,6 +246,18 @@
245246
</manifest>
246247
</jar>
247248

249+
<!-- for min file -->
250+
<jar destfile="${project.build.directory}/${scouter.agent.min.file.name}">
251+
<zipfileset src="${final.jar.name}" excludes="scouter/repack/net/bytebuddy/**/*" />
252+
<manifest>
253+
<attribute name="Premain-Class" value="scouter.agent.JavaAgent" />
254+
<attribute name="Agent-Class" value="scouter.agent.JavaAgent" />
255+
<attribute name="Can-Redefine-Classes" value="true" />
256+
<attribute name="Can-Retransform-Classes" value="true" />
257+
<attribute name="Boot-Class-Path" value="${scouter.agent.file.name}" />
258+
</manifest>
259+
</jar>
260+
248261
</target>
249262
</configuration>
250263
<goals>
@@ -266,6 +279,7 @@
266279
<tarfileset dir="${project.build.directory}">
267280
<include name="${project.build.finalName}.jar" />
268281
<include name="${scouter.agent.file.name}" />
282+
<include name="${scouter.agent.min.file.name}" />
269283
</tarfileset>
270284
</tar>
271285
<!-- copy for preparing whole packaging -->

scouter.agent.java/src/main/java/scouter/agent/JavaAgent.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,18 @@ public static void preStart(String options, Instrumentation instrum, ClassFileTr
4242

4343
Configure conf = Configure.getInstance();
4444
if(conf.hook_lambda_instrumentation_strategy_enabled) {
45-
Logger.println("hook_lambda_instrumentation_strategy_enabled = true!");
46-
new AgentBuilder.Default()
47-
.with(AgentBuilder.LambdaInstrumentationStrategy.ENABLED)
48-
.installOn(instrum);
45+
Logger.println("LD001", "hook_lambda_instrumentation_strategy_enabled = true!");
46+
Logger.println("LD001", "This feature is very experimental !!\n test it in your test environment first !!");
47+
48+
try {
49+
new AgentBuilder.Default()
50+
.with(AgentBuilder.LambdaInstrumentationStrategy.ENABLED)
51+
.installOn(instrum);
52+
} catch (Throwable t) {
53+
Logger.println("LD002", "scouter min version doesn't support this feature !!!");
54+
Logger.println("LD002", "Fail to hook_lambda_instrumentation_strategy_enabled !");
55+
Logger.println("LD003", "Fatal on load bytebuddy AgentBuilder", t);
56+
}
4957
}
5058

5159
BackJobs.getInstance().put(Logger.class.getName(), 3000, Logger.initializer);

scouter.deploy/pom.xml

Lines changed: 41 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,18 @@
1717
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1818

1919
<scouter.assembly.dir>${project.build.directory}/assembly-working</scouter.assembly.dir>
20+
2021
<scouter.assembly.agent.java.dir>${scouter.assembly.dir}/scouter/agent.java</scouter.assembly.agent.java.dir>
2122
<scouter.assembly.agent.host.dir>${scouter.assembly.dir}/scouter/agent.host</scouter.assembly.agent.host.dir>
2223
<scouter.assembly.agent.batch.dir>${scouter.assembly.dir}/scouter/agent.batch</scouter.assembly.agent.batch.dir>
2324
<scouter.assembly.server.dir>${scouter.assembly.dir}/scouter/server</scouter.assembly.server.dir>
2425
<scouter.assembly.webapp.dir>${scouter.assembly.dir}/scouter/webapp</scouter.assembly.webapp.dir>
26+
27+
<scouter.assembly.min.dir>${project.build.directory}/assembly-min-working</scouter.assembly.min.dir>
28+
29+
<scouter.assembly.agent.min.java.dir>${scouter.assembly.min.dir}/scouter/agent.java</scouter.assembly.agent.min.java.dir>
30+
<scouter.assembly.agent.min.host.dir>${scouter.assembly.min.dir}/scouter/agent.host</scouter.assembly.agent.min.host.dir>
31+
<scouter.assembly.server.min.dir>${scouter.assembly.min.dir}/scouter/server</scouter.assembly.server.min.dir>
2532
</properties>
2633

2734
<!--<dependencies>-->
@@ -71,14 +78,13 @@
7178
<untar src="${scouter.whole.packaging.prepare.dir}/${scouter.server.assembly.name}.tar" dest="${scouter.assembly.server.dir}" />
7279
<untar src="${scouter.whole.packaging.prepare.dir}/${scouter.webapp.assembly.name}.tar" dest="${scouter.assembly.webapp.dir}" />
7380

74-
<!-- copy webapp jar for scouter server embedded mode -->
75-
<!--<copy todir="${scouter.assembly.server.dir}/lib">-->
76-
<!--<fileset dir="${scouter.assembly.webapp.dir}">-->
77-
<!--<include name="scouter-webapp-*.jar" />-->
78-
<!--</fileset>-->
79-
<!--</copy>-->
80-
8181
<!-- make tar ball -->
82+
<delete>
83+
<fileset dir="${scouter.assembly.agent.java.dir}">
84+
<include name="scouter.agent.min.jar" />
85+
</fileset>
86+
</delete>
87+
<delete dir="${scouter.assembly.server.dir}/lib-min"/>
8288
<tar destfile="${project.build.directory}/${scouter.product.name}.tar">
8389
<tarfileset dir="${scouter.assembly.dir}" mode="755">
8490
<include name="**/*.sh" />
@@ -90,6 +96,34 @@
9096
<gzip src="${project.build.directory}/${scouter.product.name}.tar" destfile="${project.build.directory}/${scouter.product.name}.tar.gz" />
9197
<delete file="${project.build.directory}/${scouter.product.name}.tar" />
9298
<delete file="${project.build.directory}/${project.build.finalName}.jar" />
99+
100+
<!-- min packaging -->
101+
<mkdir dir="${scouter.assembly.min.dir}" />
102+
<untar src="${scouter.whole.packaging.prepare.dir}/${scouter.agent.host.assembly.name}.tar" dest="${scouter.assembly.agent.min.host.dir}" />
103+
<untar src="${scouter.whole.packaging.prepare.dir}/${scouter.agent.java.assembly.name}.tar" dest="${scouter.assembly.agent.min.java.dir}" />
104+
<untar src="${scouter.whole.packaging.prepare.dir}/${scouter.server.assembly.name}.tar" dest="${scouter.assembly.server.min.dir}" />
105+
106+
<delete>
107+
<fileset dir="${scouter.assembly.agent.min.java.dir}">
108+
<include name="scouter-agent-java-*.jar" />
109+
<include name="scouter.agent.jar" />
110+
</fileset>
111+
</delete>
112+
<move file="${scouter.assembly.agent.min.java.dir}/scouter.agent.min.jar" tofile="${scouter.assembly.agent.min.java.dir}/scouter.agent.jar"/>
113+
<delete dir="${scouter.assembly.server.min.dir}/lib"/>
114+
<move file="${scouter.assembly.server.min.dir}/lib-min" tofile="${scouter.assembly.server.min.dir}/lib"/>
115+
116+
<tar destfile="${project.build.directory}/${scouter.product.min.name}.tar">
117+
<tarfileset dir="${scouter.assembly.min.dir}" mode="755">
118+
<include name="**/*.sh" />
119+
</tarfileset>
120+
<tarfileset dir="${scouter.assembly.min.dir}">
121+
<exclude name="**/*.sh" />
122+
</tarfileset>
123+
</tar>
124+
<gzip src="${project.build.directory}/${scouter.product.min.name}.tar" destfile="${project.build.directory}/${scouter.product.min.name}.tar.gz" />
125+
<delete file="${project.build.directory}/${scouter.product.min.name}.tar" />
126+
93127
</target>
94128
</configuration>
95129
<goals>

scouter.server.boot/pom.xml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,22 @@
6262
<excludeArtifactIds>scouter-common</excludeArtifactIds>
6363
</configuration>
6464
</execution>
65+
<execution>
66+
<id>copy-dependencies-min</id>
67+
<phase>prepare-package</phase>
68+
<goals>
69+
<goal>copy-dependencies</goal>
70+
</goals>
71+
<configuration>
72+
<outputDirectory>${project.build.directory}/lib-min</outputDirectory>
73+
<overWriteReleases>false</overWriteReleases>
74+
<overWriteSnapshots>false</overWriteSnapshots>
75+
<overWriteIfNewer>true</overWriteIfNewer>
76+
<includeScope>runtime</includeScope>
77+
<excludeTransitive>true</excludeTransitive>
78+
<excludeArtifactIds>scouter-common,scouter-webapp</excludeArtifactIds>
79+
</configuration>
80+
</execution>
6581
</executions>
6682
</plugin>
6783
<plugin>
@@ -74,6 +90,13 @@
7490
<phase>package</phase>
7591
<configuration>
7692
<target>
93+
<!-- copy min libs -->
94+
<copy todir="${project.build.directory}/lib-min">
95+
<fileset dir="../scouter.server/target/lib">
96+
<include name="**/*" />
97+
</fileset>
98+
</copy>
99+
77100
<mkdir dir="${scouter.assembly.working.dir}" />
78101
<copy todir="${scouter.assembly.working.dir}">
79102
<fileset dir="${project.basedir.assembly.dir}/scripts">
@@ -94,6 +117,7 @@
94117
<tarfileset dir="${project.build.directory}">
95118
<include name="${project.artifactId}.jar" />
96119
<include name="lib/**/*" />
120+
<include name="lib-min/**/*" />
97121
</tarfileset>
98122
<tarfileset dir="${project.basedir.assembly.dir}">
99123
<include name="conf/**/*" />

0 commit comments

Comments
 (0)