public static void shutdown() throws InterruptedException { synchronized (LOCK) { List<GarbageCollectorMXBean> garbageCollectorMXBeans = ManagementFactory .getGarbageCollectorMXBeans(); ThreadRecorder.get().record(ExecutionType.FINAL_METADATA, Recorder.EmptyBlock, new Recorder.Property("build_time", Long.toString(System.currentTimeMillis() - sINSTANCE.startTime)), new Recorder.Property("gc_count", Long.toString(garbageCollectorMXBeans.get(0).getCollectionCount() - sINSTANCE.gcCountAtStart)), new Recorder.Property("gc_time", Long.toString(garbageCollectorMXBeans.get(0).getCollectionTime() - sINSTANCE.gcTimeAtStart))); if (sINSTANCE.isInitialized()) { sINSTANCE.get().finish(); sINSTANCE.uploadData(); } sINSTANCE.processRecorder = null; } }
new Recorder.Property(SpanRecorders.VARIANT, variantData.getName()));
public static void publishInitialRecords() { ThreadRecorder.get().record(ExecutionType.INITIAL_METADATA, Recorder.EmptyBlock, new Recorder.Property("build_id", UUID.randomUUID().toString()), new Recorder.Property("os_name", System.getProperty("os.name")), new Recorder.Property("os_version", System.getProperty("os.version")), new Recorder.Property("java_version", System.getProperty("java.version")), new Recorder.Property("java_vm_version", System.getProperty("java.vm.version")), new Recorder.Property("max_memory", Long.toString(Runtime.getRuntime().maxMemory()))); }