This is an automated email from the ASF dual-hosted git repository.
dspavlov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git
The following commit(s) were added to refs/heads/master by this push:
new 2853b6cd IGNITE-28729 Ignite quiet mode disabled and metrics logging
by default (#235)
2853b6cd is described below
commit 2853b6cd400ef19ee6846437d43a7d64e6ede830
Author: ignitetcbot <[email protected]>
AuthorDate: Wed May 27 23:28:23 2026 +0300
IGNITE-28729 Ignite quiet mode disabled and metrics logging by default
(#235)
Enable verbose Ignite logging and metrics by default
Codex co-authored-by: Dmitriy Pavlov <[email protected]>
---
.run/TC Bot Local - Live Services.run.xml | 2 +-
.run/TC Bot Local - Stub Services.run.xml | 2 +-
.run/TC Bot WAR - Live Services.run.xml | 2 +-
.../java/org/apache/ignite/ci/db/Ignite1Init.java | 15 +++++++++++++-
.../org/apache/ignite/ci/db/Ignite2Configurer.java | 23 ++++++++++++++++++++++
.../org/apache/ignite/ci/web/model/Version.java | 2 +-
jetty-launcher/build.gradle | 3 +++
jetty-launcher/src/main/resources/logback.xml | 2 ++
.../integration/EmulatedBotLocalLauncher.java | 3 +++
9 files changed, 49 insertions(+), 5 deletions(-)
diff --git a/.run/TC Bot Local - Live Services.run.xml b/.run/TC Bot Local -
Live Services.run.xml
index 8ff8101f..ff4c6fde 100644
--- a/.run/TC Bot Local - Live Services.run.xml
+++ b/.run/TC Bot Local - Live Services.run.xml
@@ -2,7 +2,7 @@
<configuration default="false" name="TC Bot Local - Live Services"
type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME" value="org.apache.ignite.ci.web.Launcher" />
<module name="ignite-teamcity-bot.ignite-tc-helper-web.main" />
- <option name="VM_PARAMETERS" value="-Dfile.encoding=UTF-8
-Djava.net.preferIPv4Stack=true -Dteamcity.helper.home=$PROJECT_DIR$/work
-Dtcbot.http.port=8080 -Dtcbot.ignite.discovery.port=47500
-XX:+IgnoreUnrecognizedVMOptions
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
--add-exports=java.base/sun.re [...]
+ <option name="VM_PARAMETERS" value="-Dfile.encoding=UTF-8
-Djava.net.preferIPv4Stack=true -DIGNITE_QUIET=false
-Dteamcity.bot.ignite.metricsLogFrequencyMs=60000
-Dteamcity.bot.log.totalSizeCap=10GB -Dteamcity.helper.home=$PROJECT_DIR$/work
-Dtcbot.http.port=8080 -Dtcbot.ignite.discovery.port=47500
-XX:+IgnoreUnrecognizedVMOptions
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED
--add-exports=java.management/com.sun.jmx.mbeanserver=A [...]
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<method v="2">
<option name="Make" enabled="true" />
diff --git a/.run/TC Bot Local - Stub Services.run.xml b/.run/TC Bot Local -
Stub Services.run.xml
index 19289dff..79a2b990 100644
--- a/.run/TC Bot Local - Stub Services.run.xml
+++ b/.run/TC Bot Local - Stub Services.run.xml
@@ -2,7 +2,7 @@
<configuration default="false" name="TC Bot Local - Stub Services"
type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME"
value="org.apache.ignite.tcbot.integration.EmulatedBotLocalLauncher" />
<module name="ignite-teamcity-bot.tcbot-integration-tests.integrationTest"
/>
- <option name="VM_PARAMETERS" value="-Dtcbot.integration.inProcessBot=true
-Dtcbot.integration.liveStatic=true -Dfile.encoding=UTF-8
-Djava.net.preferIPv4Stack=true -XX:+IgnoreUnrecognizedVMOptions
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
--add-exports=java.base/sun.reflect.generics.reflectiveOb [...]
+ <option name="VM_PARAMETERS" value="-Dtcbot.integration.inProcessBot=true
-Dtcbot.integration.liveStatic=true -Dfile.encoding=UTF-8
-Djava.net.preferIPv4Stack=true -DIGNITE_QUIET=false
-Dteamcity.bot.ignite.metricsLogFrequencyMs=60000
-Dteamcity.bot.log.totalSizeCap=10GB -XX:+IgnoreUnrecognizedVMOptions
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
--add-exports=jd [...]
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<method v="2">
<option name="Make" enabled="true" />
diff --git a/.run/TC Bot WAR - Live Services.run.xml b/.run/TC Bot WAR - Live
Services.run.xml
index dd61d3a7..f7c37d83 100644
--- a/.run/TC Bot WAR - Live Services.run.xml
+++ b/.run/TC Bot WAR - Live Services.run.xml
@@ -2,7 +2,7 @@
<configuration default="false" name="TC Bot WAR - Live Services"
type="Application" factoryName="Application">
<option name="MAIN_CLASS_NAME"
value="org.apache.ignite.ci.TcHelperJettyLauncher" />
<module name="ignite-teamcity-bot.jetty-launcher.main" />
- <option name="VM_PARAMETERS" value="-Dfile.encoding=UTF-8
-Djava.net.preferIPv4Stack=true
-Dteamcity.helper.home=$PROJECT_DIR$/jetty-launcher/build/install/jetty-launcher/work
-Dtcbot.http.port=8080 -Dtcbot.ignite.discovery.port=47500
-Dteamcity.bot.regionsize=1 -Dhttp.maxConnections=30
-XX:+IgnoreUnrecognizedVMOptions
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED
--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED [...]
+ <option name="VM_PARAMETERS" value="-Dfile.encoding=UTF-8
-Djava.net.preferIPv4Stack=true -DIGNITE_QUIET=false
-Dteamcity.bot.ignite.metricsLogFrequencyMs=60000
-Dteamcity.bot.log.totalSizeCap=10GB
-Dteamcity.helper.home=$PROJECT_DIR$/jetty-launcher/build/install/jetty-launcher/work
-Dtcbot.http.port=8080 -Dtcbot.ignite.discovery.port=47500
-Dteamcity.bot.regionsize=1 -Dhttp.maxConnections=30
-XX:+IgnoreUnrecognizedVMOptions
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED --add [...]
<option name="WORKING_DIRECTORY"
value="$PROJECT_DIR$/jetty-launcher/build/install/jetty-launcher/bin" />
<method v="2">
<option name="Gradle.BeforeRunTask" enabled="true"
tasks=":jetty-launcher:prepareTcBotWarRun" externalProjectPath="$PROJECT_DIR$"
vmOptions="" scriptParameters="" />
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite1Init.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite1Init.java
index 46919270..24fbc7b7 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite1Init.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite1Init.java
@@ -39,6 +39,9 @@ import org.apache.ignite.logger.slf4j.Slf4jLogger;
import org.jetbrains.annotations.NotNull;
public class Ignite1Init {
+ /** Ignite metrics log frequency system property. Zero disables periodic
metrics output. */
+ public static final String IGNITE_METRICS_LOG_FREQUENCY_MS =
"teamcity.bot.ignite.metricsLogFrequencyMs";
+
private static boolean clientMode;
/**
@@ -128,10 +131,20 @@ public class Ignite1Init {
dsCfg.setPageSize(4 * 1024);
cfg.setDataStorageConfiguration(dsCfg);
- cfg.setMetricsLogFrequency(0);
+ cfg.setMetricsLogFrequency(igniteMetricsLogFrequencyMs());
return cfg;
}
+ /** */
+ private long igniteMetricsLogFrequencyMs() {
+ Long metricsLogFrequency =
Long.getLong(IGNITE_METRICS_LOG_FREQUENCY_MS);
+
+ if (metricsLogFrequency == null || metricsLogFrequency < 0)
+ return IgniteConfiguration.DFLT_METRICS_LOG_FREQ;
+
+ return metricsLogFrequency;
+ }
+
@AutoProfiling
protected Ignite init() {
if (clientMode)
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite2Configurer.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite2Configurer.java
index f78cdd2f..5e544161 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite2Configurer.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/db/Ignite2Configurer.java
@@ -23,6 +23,7 @@ import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.rolling.RollingFileAppender;
import ch.qos.logback.core.rolling.TimeBasedRollingPolicy;
+import ch.qos.logback.core.util.FileSize;
import java.io.File;
import java.io.IOException;
@@ -45,6 +46,12 @@ public class Ignite2Configurer {
/** Profile allowed to use in-memory Ignite storage. */
public static final String INTEGRATION_TEST_PROFILE = "integration-test";
+ /** Logback total size cap system property. */
+ public static final String LOG_TOTAL_SIZE_CAP =
"teamcity.bot.log.totalSizeCap";
+
+ /** Default total size cap for rolled logs. */
+ public static final String DEFAULT_LOG_TOTAL_SIZE_CAP = "10GB";
+
public static void configLogger(File workDir, String subdir) {
LoggerContext logCtx =
(LoggerContext)LoggerFactory.getILoggerFactory();
@@ -67,6 +74,7 @@ public class Ignite2Configurer {
logFilePolicy.setParent(rollingFa);
logFilePolicy.setFileNamePattern(new File(logs,
"logfile-%d{yyyy-MM-dd_HH}.log").getAbsolutePath());
logFilePolicy.setMaxHistory(24*7*2);
+ logFilePolicy.setTotalSizeCap(logTotalSizeCap());
logFilePolicy.start();
final String activeFileName = logFilePolicy.getActiveFileName();
@@ -89,6 +97,21 @@ public class Ignite2Configurer {
log.addAppender(rollingFa);
}
+ /** */
+ private static FileSize logTotalSizeCap() {
+ String totalSizeCap = System.getProperty(LOG_TOTAL_SIZE_CAP,
DEFAULT_LOG_TOTAL_SIZE_CAP);
+
+ try {
+ return FileSize.valueOf(totalSizeCap);
+ }
+ catch (IllegalArgumentException e) {
+ LoggerFactory.getLogger(Ignite2Configurer.class).warn(
+ "Invalid log total size cap '{}', using default '{}'.",
totalSizeCap, DEFAULT_LOG_TOTAL_SIZE_CAP, e);
+
+ return FileSize.valueOf(DEFAULT_LOG_TOTAL_SIZE_CAP);
+ }
+ }
+
public static void setIgniteHome(IgniteConfiguration cfg, File workDir) {
try {
cfg.setIgniteHome(workDir.getCanonicalPath());
diff --git
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
index 2e9900e3..ef22456f 100644
---
a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
+++
b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Version.java
@@ -28,7 +28,7 @@ package org.apache.ignite.ci.web.model;
public static final String GITHUB_REF =
"https://github.com/apache/ignite-teamcity-bot";
/** TC Bot Version. */
- public static final String VERSION = "20260510";
+ public static final String VERSION = "20260527";
/** Java version, where Web App is running. */
public String javaVer;
diff --git a/jetty-launcher/build.gradle b/jetty-launcher/build.gradle
index 93324527..6113b151 100644
--- a/jetty-launcher/build.gradle
+++ b/jetty-launcher/build.gradle
@@ -24,6 +24,9 @@ application {
"-Dteamcity.bot.regionsize=32", // 32g durable memory region
"-Dhttp.maxConnections=100",
"-Djava.net.preferIPv4Stack=true",
+ "-DIGNITE_QUIET=false",
+
"-Dteamcity.bot.ignite.metricsLogFrequencyMs=60000",
+
"-Dteamcity.bot.log.totalSizeCap=10GB",
"-server",
"-Xms5g",
"-Xmx24g",
diff --git a/jetty-launcher/src/main/resources/logback.xml
b/jetty-launcher/src/main/resources/logback.xml
index 4b47ce81..f149fb52 100644
--- a/jetty-launcher/src/main/resources/logback.xml
+++ b/jetty-launcher/src/main/resources/logback.xml
@@ -1,5 +1,6 @@
<configuration>
<property name="TCBOT_LOG_DIR"
value="${teamcity.helper.home:-../work}/tcbot_logs"/>
+ <property name="TCBOT_LOG_TOTAL_SIZE_CAP"
value="${teamcity.bot.log.totalSizeCap:-10GB}"/>
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${TCBOT_LOG_DIR}/logfile-.log</file>
@@ -10,6 +11,7 @@
<rollingPolicy
class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${TCBOT_LOG_DIR}/logfile-%d{yyyy-MM-dd_HH}.log</fileNamePattern>
<maxHistory>336</maxHistory>
+ <totalSizeCap>${TCBOT_LOG_TOTAL_SIZE_CAP}</totalSizeCap>
</rollingPolicy>
</appender>
diff --git
a/tcbot-integration-tests/src/integrationTest/java/org/apache/ignite/tcbot/integration/EmulatedBotLocalLauncher.java
b/tcbot-integration-tests/src/integrationTest/java/org/apache/ignite/tcbot/integration/EmulatedBotLocalLauncher.java
index 958abffc..9f85e901 100644
---
a/tcbot-integration-tests/src/integrationTest/java/org/apache/ignite/tcbot/integration/EmulatedBotLocalLauncher.java
+++
b/tcbot-integration-tests/src/integrationTest/java/org/apache/ignite/tcbot/integration/EmulatedBotLocalLauncher.java
@@ -297,6 +297,9 @@ public class EmulatedBotLocalLauncher {
"-Xmx768m",
"-Dfile.encoding=UTF-8",
"-Djava.net.preferIPv4Stack=true",
+ "-DIGNITE_QUIET=false",
+ "-Dteamcity.bot.ignite.metricsLogFrequencyMs=60000",
+ "-Dteamcity.bot.log.totalSizeCap=10GB",
"-Dteamcity.bot.regionsize=1",
"-Dhttp.maxConnections=30",
"-Dteamcity.helper.home=" + botWorkDir,