/* * Copyright (c) 2016, 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. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * 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.
*/
/** * Convenience class for applying event settings to a recording. * <p> * An {@code EventSettings} object for a recording can be obtained by invoking * the {@link Recording#enable(String)} method which is configured using method * chaining. * <p> * The following example shows how to use the {@code EventSettings} class. * * {@snippet class="Snippets" region="EventSettingOverview"} * * @since 9
*/ publicabstractclass EventSettings {
// Used to provide EventSettings for jdk.management.jfr module staticclass DelegatedEventSettings extends EventSettings { privatefinal EventSettingsModifier delegate;
/** * Enables stack traces for the event that is associated with this event setting. * <p> * Equivalent to invoking the {@code with("stackTrace", "true")} method. * * @return event settings object for further configuration, not {@code null}
*/ publicfinal EventSettings withStackTrace() { return with(StackTrace.NAME, "true");
}
/** * Disables stack traces for the event that is associated with this event setting. * <p> * Equivalent to invoking the {@code with("stackTrace", "false")} method. * * @return event settings object for further configuration, not {@code null}
*/ publicfinal EventSettings withoutStackTrace() { return with(StackTrace.NAME, "false");
}
/** * Specifies that a threshold is not used. * <p> * This is a convenience method, equivalent to invoking the * {@code with("threshold", "0 s")} method. * * @return event settings object for further configuration, not {@code null}
*/ publicfinal EventSettings withoutThreshold() { return with(Threshold.NAME, "0 s");
}
/** * Sets the interval for the event that is associated with this event setting. * * @param duration the duration, not {@code null} * * @return event settings object for further configuration, not {@code null}
*/ publicfinal EventSettings withPeriod(Duration duration) {
Objects.requireNonNull(duration, "duration"); return with(Period.NAME, duration.toNanos() + " ns");
}
/** * Sets the threshold for the event that is associated with this event setting. * * @param duration the duration, or {@code null} if no duration is used * * @return event settings object for further configuration, not {@code null}
*/ publicfinal EventSettings withThreshold(Duration duration) { if (duration == null) { return with(Threshold.NAME, "0 ns");
} else { return with(Threshold.NAME, duration.toNanos() + " ns");
}
}
/** * Sets a setting value for the event that is associated with this event setting. * * @param name the name of the setting (for example, {@code "threshold"}) * * @param value the value to set (for example {@code "20 ms"} not * {@code null}) * * @return event settings object for further configuration, not {@code null}
*/ publicabstract EventSettings with(String name, String value);
/** * Creates a settings {@code Map} for the event that is associated with this * event setting. * * @return a settings {@code Map}, not {@code null}
*/ abstract Map<String, String> toMap();
}
Messung V0.5
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
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.