|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.core.perftool; import java.text.MessageFormat; import org.openide.ErrorManager; /** The class collects performance info about different * actions in the IDE. * */ final class PerformanceMeterImpl implements PerformanceMeter { /** Name of the log for print. */ static final String LOG_NAME = "IDE-Perf"; // NOI18N /** Standard prefix to all messages written into the log. Cf. NbErrorManager. */ static final String LOG_PREFIX = "[" + LOG_NAME + "] "; // NOI18N /** Instance */ private static PerformanceMeterImpl instance; /** Log */ private ErrorManager log; /** Getter for an instance */ static PerformanceMeterImpl getInstance() { if (instance == null) { instance = new PerformanceMeterImpl(); } return instance; } /** Constructs new PerformanceMeterImpl */ private PerformanceMeterImpl() { } /** Caller notifies PerformanceMeter * about a PerformanceEvent */ public void notify(PerformanceEvent ev) { if (Util.isRunning()) { log(ev.toString()); } } /** Convenience method - notifies that an operation took millis milliseconds */ public void notifyTime(String msg, long millis) { if (Util.isRunning()) { log(MessageFormat.format("{0} {1} s", new Object[] { msg, Util.long2Print(millis, 1000f, 3) })); // NOI18N } } /** Convenience method - notifies that an operation took "bytes" bytes of heap */ public void notifyMemory(String msg, long bytes) { if (Util.isRunning()) { log(MessageFormat.format("{0} {1} MB", new Object[] { msg, Util.long2Print(bytes, 1048576f, 1) })); // NOI18N } } /** Getter for the performance log */ private ErrorManager getLog() { if (log == null) { log = ErrorManager.getDefault().getInstance(LOG_NAME); } return log; } /** Logs the String */ private void log(String msg) { getLog().log(ErrorManager.USER, msg); } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.