utility that generates a csv with many different tags
This commit is contained in:
@@ -0,0 +1,93 @@
|
|||||||
|
package org.lucares.pdb.map;
|
||||||
|
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.time.ZoneOffset;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
import java.util.concurrent.ThreadLocalRandom;
|
||||||
|
|
||||||
|
public class CsvTestDataCreator {
|
||||||
|
|
||||||
|
private static final List<String> PODS = Arrays.asList("vapbrewe01", "vapfinra01", "vapondem01", "vapondem02",
|
||||||
|
"vapondem03", "vapondem04", "vapnyse01", "vapnorto01", "vapfackb01", "vaprjrey01", "vadtrans01",
|
||||||
|
"vadaxcel09", "vadaxcel66");
|
||||||
|
private static final List<String> HOSTS = new ArrayList<>();
|
||||||
|
private static final List<String> CLASSES = Arrays.asList("AuditLog", "Brava", "Collection", "Folder", "Field",
|
||||||
|
"Tagging", "Arrangment", "Review", "Production", "ProductionExport", "View", "Jobs", "Navigation",
|
||||||
|
"RecentNavigation", "Entity", "Search", "Tasks", "PcWorkflow", "Batch", "Matter");
|
||||||
|
private static final List<String> ENDPOINTS = Arrays.asList("create", "remove", "update", "delete", "createBulk",
|
||||||
|
"removeBulk", "deleteBulk", "list", "index", "listing", "all");
|
||||||
|
private static final List<String> METHODS = new ArrayList<>();
|
||||||
|
private static final List<String> PROJECTS = new ArrayList<>();
|
||||||
|
private static final List<String> SOURCE = Arrays.asList("web", "service", "metrics");
|
||||||
|
private static final List<String> BUILDS = new ArrayList<>();
|
||||||
|
|
||||||
|
static {
|
||||||
|
for (int i = 0; i < 500; i++) {
|
||||||
|
BUILDS.add("AXC_5.15_" + i);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < 500; i++) {
|
||||||
|
HOSTS.add(UUID.randomUUID().toString().substring(1, 16));
|
||||||
|
PROJECTS.add(UUID.randomUUID().toString().substring(1, 16) + "_Review");
|
||||||
|
}
|
||||||
|
|
||||||
|
for (final String clazz : CLASSES) {
|
||||||
|
for (final String endpoint : ENDPOINTS) {
|
||||||
|
METHODS.add(clazz + "Service." + endpoint);
|
||||||
|
METHODS.add(clazz + "Controller." + endpoint);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(final String[] args) throws IOException {
|
||||||
|
final Path testdataFile = Files.createTempFile("testData", ".csv");
|
||||||
|
|
||||||
|
final ThreadLocalRandom r = ThreadLocalRandom.current();
|
||||||
|
int lines = 0;
|
||||||
|
|
||||||
|
try (FileWriter writer = new FileWriter(testdataFile.toFile())) {
|
||||||
|
writer.append("@timestamp,duration,pod,host,method,project,source,build\n");
|
||||||
|
|
||||||
|
for (lines = 0; lines < 1_000_000; lines++) {
|
||||||
|
final String timestamp = Instant.ofEpochMilli(r.nextLong(1234567890L, 12345678901L))
|
||||||
|
.atOffset(ZoneOffset.UTC).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
|
||||||
|
final String duration = String.valueOf(r.nextInt(10000));
|
||||||
|
final String pod = PODS.get(r.nextInt(PODS.size()));
|
||||||
|
final String host = HOSTS.get(r.nextInt(HOSTS.size()));
|
||||||
|
final String method = METHODS.get(r.nextInt(METHODS.size()));
|
||||||
|
final String project = PROJECTS.get(r.nextInt(PROJECTS.size()));
|
||||||
|
final String source = SOURCE.get(r.nextInt(SOURCE.size()));
|
||||||
|
final String build = BUILDS.get(r.nextInt(BUILDS.size()));
|
||||||
|
|
||||||
|
writer.append(timestamp);
|
||||||
|
writer.append(",");
|
||||||
|
writer.append(duration);
|
||||||
|
writer.append(",");
|
||||||
|
writer.append(pod);
|
||||||
|
writer.append(",");
|
||||||
|
writer.append(host);
|
||||||
|
writer.append(",");
|
||||||
|
writer.append(method);
|
||||||
|
writer.append(",");
|
||||||
|
writer.append(project);
|
||||||
|
writer.append(",");
|
||||||
|
writer.append(source);
|
||||||
|
writer.append(",");
|
||||||
|
writer.append(build);
|
||||||
|
writer.append("\n");
|
||||||
|
|
||||||
|
if (lines % 1000 == 0) {
|
||||||
|
System.out.println("lines: " + lines);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user