21 * questions.
22 */
23 package org.graalvm.compiler.debug;
24
25 import com.sun.management.ThreadMXBean;
26
27 /**
28 * Tracks memory usage within a scope using {@link ThreadMXBean}. This facility should be employed
29 * using the try-with-resources pattern:
30 *
31 * <pre>
32 * try (DebugMemUseTracker.Closeable a = memUseTracker.start()) {
33 * // the code to measure
34 * }
35 * </pre>
36 */
37 public interface DebugMemUseTracker {
38
39 /**
40 * Creates a point from which memory usage will be recorded if memory use tracking is
41 * {@linkplain Debug#isMemUseTrackingEnabled() enabled}.
42 *
43 * @return an object that must be closed once the activity has completed to add the memory used
44 * since this call to the total for this tracker
45 */
46 DebugCloseable start();
47
48 /**
49 * Gets the current value of this tracker.
50 */
51 long getCurrentValue();
52 }
|
21 * questions.
22 */
23 package org.graalvm.compiler.debug;
24
25 import com.sun.management.ThreadMXBean;
26
27 /**
28 * Tracks memory usage within a scope using {@link ThreadMXBean}. This facility should be employed
29 * using the try-with-resources pattern:
30 *
31 * <pre>
32 * try (DebugMemUseTracker.Closeable a = memUseTracker.start()) {
33 * // the code to measure
34 * }
35 * </pre>
36 */
37 public interface DebugMemUseTracker {
38
39 /**
40 * Creates a point from which memory usage will be recorded if memory use tracking is
41 * {@linkplain DebugContext#isMemUseTrackingEnabled() enabled}.
42 *
43 * @return an object that must be closed once the activity has completed to add the memory used
44 * since this call to the total for this tracker
45 */
46 DebugCloseable start();
47
48 /**
49 * Gets the current value of this tracker.
50 */
51 long getCurrentValue();
52 }
|