mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2025-02-25 18:55:28 -06:00
allow session namer to use pre-defined timestamp
This commit is contained in:
parent
133760d8c9
commit
e1e10bbaa8
@ -1,6 +1,7 @@
|
||||
package io.nosqlbench.engine.cli;
|
||||
|
||||
import io.nosqlbench.docsys.core.NBWebServerApp;
|
||||
import io.nosqlbench.nb.api.metadata.SessionNamer;
|
||||
import io.nosqlbench.engine.api.activityapi.core.ActivityType;
|
||||
import io.nosqlbench.engine.api.activityapi.cyclelog.outputs.cyclelog.CycleLogDumperUtility;
|
||||
import io.nosqlbench.engine.api.activityapi.cyclelog.outputs.cyclelog.CycleLogImporterUtility;
|
||||
@ -21,7 +22,7 @@ import io.nosqlbench.engine.core.script.Scenario;
|
||||
import io.nosqlbench.engine.core.script.ScenariosExecutor;
|
||||
import io.nosqlbench.engine.core.script.ScriptParams;
|
||||
import io.nosqlbench.engine.docker.DockerMetricsManager;
|
||||
import io.nosqlbench.nb.api.SystemId;
|
||||
import io.nosqlbench.nb.api.metadata.SystemId;
|
||||
import io.nosqlbench.nb.api.annotations.Annotation;
|
||||
import io.nosqlbench.nb.api.annotations.Layer;
|
||||
import io.nosqlbench.nb.api.content.Content;
|
||||
@ -93,7 +94,7 @@ public class NBCLI {
|
||||
loggerConfig.setConsoleLevel(NBLogLevel.ERROR);
|
||||
|
||||
NBCLIOptions globalOptions = new NBCLIOptions(args, NBCLIOptions.Mode.ParseGlobalsOnly);
|
||||
String sessionName = new SessionNamer().format(globalOptions.getSessionName());
|
||||
String sessionName = SessionNamer.format(globalOptions.getSessionName());
|
||||
|
||||
loggerConfig
|
||||
.setSessionName(sessionName)
|
||||
|
@ -17,6 +17,7 @@
|
||||
|
||||
package io.nosqlbench.engine.cli;
|
||||
|
||||
import io.nosqlbench.nb.api.metadata.SessionNamer;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@ -26,18 +27,18 @@ public class SessionNamerTest {
|
||||
@Test
|
||||
public void testDefaultFormat() {
|
||||
SessionNamer namer = new SessionNamer();
|
||||
String name1 = namer.format(null);
|
||||
String name1 = SessionNamer.format(null);
|
||||
assertThat(name1).matches("scenario_\\d{8}_\\d{6}_\\d{3}");
|
||||
String name2 = namer.format("");
|
||||
String name2 = SessionNamer.format("");
|
||||
assertThat(name2).matches("scenario_\\d{8}_\\d{6}_\\d{3}");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCustomFormat() {
|
||||
SessionNamer namer = new SessionNamer();
|
||||
String name1 = namer.format("Custom_session_name");
|
||||
String name1 = SessionNamer.format("Custom_session_name");
|
||||
assertThat(name1).matches("Custom_session_name");
|
||||
String name2 = namer.format("TEST--%tQ");
|
||||
String name2 = SessionNamer.format("TEST--%tQ");
|
||||
assertThat(name2).matches("TEST--\\d{13}");
|
||||
}
|
||||
|
||||
|
@ -15,11 +15,13 @@
|
||||
* /
|
||||
*/
|
||||
|
||||
package io.nosqlbench.engine.cli;
|
||||
package io.nosqlbench.nb.api.metadata;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class SessionNamer {
|
||||
|
||||
public String format(String sessionName) {
|
||||
public static String format(String sessionName, long sessionTimeMillis) {
|
||||
String nameTemplate = sessionName;
|
||||
if (nameTemplate==null || nameTemplate.isEmpty()) {
|
||||
nameTemplate = "scenario_%tY%tm%td_%tH%tM%tS_%tL";
|
||||
@ -27,11 +29,14 @@ public class SessionNamer {
|
||||
|
||||
int splits = nameTemplate.split("%").length -1;
|
||||
Long[] times = new Long[splits];
|
||||
long now = System.currentTimeMillis();
|
||||
for (int i = 0; i < times.length; i++) times[i] = now;
|
||||
Arrays.fill(times, sessionTimeMillis);
|
||||
|
||||
sessionName = String.format(nameTemplate, (Object[]) times);
|
||||
|
||||
return sessionName;
|
||||
}
|
||||
|
||||
public static String format(String sessionName) {
|
||||
return format(sessionName, System.currentTimeMillis());
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user