/* * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions.
*/
for (int i = 0; i < 9; i++) {
recs.add(new TestRecording(i, 100));
} int last = 0;
List<TestRecording> reversed = new ArrayList<>(recs);
Collections.reverse(reversed); for (TestRecording r : reversed) {
r.total = r.size + last;
last += r.size;
}
privatestaticvoid testDumpEnd() throws IOException {
Path testEnd = Paths.get("testEnd.jfr");
JcmdHelper.jcmd("JFR.dump", "filename=" + testEnd.toFile().getAbsolutePath(), "end="+ middle);
Asserts.assertEquals(firstFiveSize, Files.size(testEnd), "Expected dump with end="+ middle + " to contain data from the five first recordings");
Files.delete(testEnd);
}
privatestaticvoid testDumpBegin() throws IOException {
Path testBegin = Paths.get("testBegin.jfr");
JcmdHelper.jcmd("JFR.dump", "filename=" + testBegin.toFile().getAbsolutePath(), "begin=" + middle);
Asserts.assertEquals(lastFiveSize, Files.size(testBegin), "Expected dump with begin=" + middle + " to contain data from the last five recordings");
Files.delete(testBegin);
}
privatestaticvoid testDumpMaxSize() throws IOException {
Path testMaxSize = Paths.get("testMaxSize.jfr");
JcmdHelper.jcmd("JFR.dump", "filename=" + testMaxSize.toFile().getAbsolutePath(), "maxsize=" + lastFiveSize);
Asserts.assertEquals(lastFiveSize, Files.size(testMaxSize), "Expected dump with maxsize=" + lastFiveSize + " to contain data from the last five recordings");
Files.delete(testMaxSize);
}
privatestaticvoid testDumpMaxSizeSmall() throws IOException {
Path testMaxSizeSmall = Paths.get("testMaxSizeSmall.jfr");
JcmdHelper.jcmd("JFR.dump", "filename=" + testMaxSizeSmall.toFile().getAbsolutePath(), "maxsize=1k");
Asserts.assertEquals(lastSize, Files.size(testMaxSizeSmall), "Expected dump with maxsize=1k to contain data from the last recording");
Files.delete(testMaxSizeSmall);
}
privatestaticvoid testDump() throws IOException {
Path all = Paths.get("all.jfr");
OutputAnalyzer output = JcmdHelper.jcmd("JFR.dump", "filename=" + all.toFile().getAbsolutePath());
JcmdAsserts.assertRecordingDumpedToFile(output, all.toFile());
Asserts.assertEquals(totalSize, Files.size(all), "Expected dump to be sum of all recordings");
Files.delete(all);
}
privatestaticvoid testDumpInvalidTime() throws Exception {
Path invalidTime = Paths.get("invalidTime.jfr");
OutputAnalyzer output = JcmdHelper.jcmd("JFR.dump", "filename=" + invalidTime.toFile().getAbsolutePath(), "begin=4711");
output.shouldContain("Dump failed, not a valid begin time.");
assertMissingFile(invalidTime);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.