Example usage for java.lang System nanoTime

List of usage examples for java.lang System nanoTime

Introduction

In this page you can find the example usage for java.lang System nanoTime.

Prototype

@HotSpotIntrinsicCandidate
public static native long nanoTime();

Source Link

Document

Returns the current value of the running Java Virtual Machine's high-resolution time source, in nanoseconds.

Usage

From source file:com.mule.transport.hz.transformer.ObjectToHzMessageTransformer.java

@Override
public Object transformMessage(MuleMessage message, String outputEncoding) throws TransformerException {
    DefaultHzMessage hzMessage = new DefaultHzMessage();
    final long timeStamp = System.nanoTime();
    hzMessage.setTimeStamp(timeStamp);//  w w w  .j  a va2 s.c  o m
    hzMessage.setUniqueId(message.getUniqueId());
    hzMessage.setPayLoad(message.getPayload());

    if (logger.isDebugEnabled()) {
        logger.debug(StringMessageUtils.getBoilerPlate("Transformed HZ Message : " + hzMessage));
    }
    return hzMessage;
}

From source file:com.google.cloud.bigtable.hbase.PutAdapterPerf.java

private static void putAdapterPerf(HBaseRequestAdapter adapter, Put put) {
    System.out.println("Size: " + adapter.adapt(put).getSerializedSize());
    System.gc();/*w ww .  ja v a 2  s  . c o m*/
    {
        long start = System.nanoTime();
        for (int i = 0; i < count; i++) {
            adapter.adapt(put);
        }
        long time = System.nanoTime() - start;
        System.out.println(String.format("adapted: %,d rows merged in %,d ms.  %,d nanos per row.", count,
                time / 1000000, time / count));
    }
    System.gc();
    {
        long start = System.nanoTime();
        for (int i = 0; i < count; i++) {
            MutateRowRequest adapted = adapter.adapt(put);
            BigtableGrpc.METHOD_MUTATE_ROW.streamRequest(adapted);
        }
        long time = System.nanoTime() - start;
        System.out
                .println(String.format("adapted, streamRequest: %,d rows merged in %,d ms.  %,d nanos per row.",
                        count, time / 1000000, time / count));
    }
    System.gc();
    {
        long start = System.nanoTime();
        for (int i = 0; i < count; i++) {
            MutateRowRequest adapted = adapter.adapt(put);
            adapted.getSerializedSize();
            BigtableGrpc.METHOD_MUTATE_ROW.streamRequest(adapted);
        }
        long time = System.nanoTime() - start;
        System.out.println(String.format(
                "adapted, getSerializedSize, streamRequest: %,d rows merged in %,d ms.  %,d nanos per row.",
                count, time / 1000000, time / count));
    }
}

From source file:ch.algotrader.util.metric.MetricsUtil.java

/**
 * account the given metric by its {@code startMillis}. The endTime is taken from the system clock
 *///from ww w  .  ja  v a 2  s  .com
public static void accountEnd(String metricName, long startMillis) {

    if (isMetricsEnabled) {
        account(metricName, System.nanoTime() - startMillis);
    }
}

From source file:Main.java

public TimeSliceTask(final long timeToLive, final TimeUnit timeUnit) {
    this.timeToLive = System.nanoTime() + timeUnit.toNanos(timeToLive);
    this.duration = timeUnit.toMillis(timeToLive);
}

From source file:com.dgtlrepublic.model.test.DataTest.java

@Test
public void validateParsingResults() throws Exception {
    List<Map> testCases = new ObjectMapper().readValue(
            new File(DataTest.class.getResource("/test-cases.json").getPath()), new TypeReference<List<Map>>() {
            });//  www . ja va2  s .c o  m
    System.out.println(String.format("Loaded %s test cases.", testCases.size()));
    long start = System.nanoTime();
    for (Map testCase : testCases) {
        verify(testCase);
    }
    System.out.println(
            String.format("Tests took: %s(ms)", TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - start)));
}

From source file:com.betfair.cougar.test.socket.app.TestCombo.java

public void run() {
    long startTime = System.nanoTime();
    try {/*from w  ww.  ja va2 s .c  o m*/
        client.run(server.getServerConfigs());
    } catch (Exception e) {
        e.printStackTrace();
        // todo
    }
    long endTime = System.nanoTime();
    runningTime = (endTime - startTime) / 1000000000.0;
}

From source file:io.kahu.hawaii.util.call.statistics.RequestStatistic.java

public void startRequest() {
    this.startNano = System.nanoTime();
}

From source file:au.com.jwatmuff.eventmanager.Main.java

/**
 * Main method./*from   w  w w  .  j ava 2 s  .c  om*/
 */
public static void main(String args[]) {
    LogUtils.setupUncaughtExceptionHandler();

    /* Set timeout for RMI connections - TODO: move to external file */
    System.setProperty("sun.rmi.transport.tcp.handshakeTimeout", "2000");
    updateRmiHostName();

    /*
     * Set up menu bar for Mac
     */
    System.setProperty("apple.laf.useScreenMenuBar", "true");
    System.setProperty("com.apple.mrj.application.apple.menu.about.name", "Event Manager");

    /*
     * Set look and feel to 'system' style
     */
    try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception e) {
        log.info("Failed to set system look and feel");
    }

    /*
     * Set workingDir to a writable folder for storing competitions, settings etc.
     */
    String applicationData = System.getenv("APPDATA");
    if (applicationData != null) {
        workingDir = new File(applicationData, "EventManager");
        if (workingDir.exists() || workingDir.mkdirs()) {
            // redirect logging to writable folder
            LogUtils.reconfigureFileAppenders("log4j.properties", workingDir);
        } else {
            workingDir = new File(".");
        }
    }

    // log version for debugging
    log.info("Running version: " + VISIBLE_VERSION + " (Internal: " + VERSION + ")");

    /*
     * Copy license if necessary
     */
    File license1 = new File("license.lic");
    File license2 = new File(workingDir, "license.lic");
    if (license1.exists() && !license2.exists()) {
        try {
            FileUtils.copyFile(license1, license2);
        } catch (IOException e) {
            log.warn("Failed to copy license from " + license1 + " to " + license2, e);
        }
    }
    if (license1.exists() && license2.exists()) {
        if (license1.lastModified() > license2.lastModified()) {
            try {
                FileUtils.copyFile(license1, license2);
            } catch (IOException e) {
                log.warn("Failed to copy license from " + license1 + " to " + license2, e);
            }
        }
    }

    /*
     * Check if run lock exists, if so ask user if it is ok to continue
     */
    if (!obtainRunLock(false)) {
        int response = JOptionPane.showConfirmDialog(null,
                "Unable to obtain run-lock.\nPlease ensure that no other instances of EventManager are running before continuing.\nDo you wish to continue?",
                "Run-lock detected", JOptionPane.YES_NO_OPTION);
        if (response == JOptionPane.YES_OPTION)
            obtainRunLock(true);
        else
            System.exit(0);
    }

    try {
        LoadWindow loadWindow = new LoadWindow();
        loadWindow.setVisible(true);

        loadWindow.addMessage("Reading settings..");

        /*
         * Read properties from file
         */
        final Properties props = new Properties();
        try {
            Properties defaultProps = PropertiesLoaderUtils
                    .loadProperties(new ClassPathResource("eventmanager.properties"));
            props.putAll(defaultProps);
        } catch (IOException ex) {
            log.error(ex);
        }

        props.putAll(System.getProperties());

        File databaseStore = new File(workingDir, "comps");
        int rmiPort = Integer.parseInt(props.getProperty("eventmanager.rmi.port"));

        loadWindow.addMessage("Loading Peer Manager..");
        log.info("Loading Peer Manager");

        ManualDiscoveryService manualDiscoveryService = new ManualDiscoveryService();
        JmDNSRMIPeerManager peerManager = new JmDNSRMIPeerManager(rmiPort, new File(workingDir, "peerid.dat"));
        peerManager.addDiscoveryService(manualDiscoveryService);

        monitorNetworkInterfaceChanges(peerManager);

        loadWindow.addMessage("Loading Database Manager..");
        log.info("Loading Database Manager");

        DatabaseManager databaseManager = new SQLiteDatabaseManager(databaseStore, peerManager);
        LicenseManager licenseManager = new LicenseManager(workingDir);

        loadWindow.addMessage("Loading Load Competition Dialog..");
        log.info("Loading Load Competition Dialog");

        LoadCompetitionWindow loadCompetitionWindow = new LoadCompetitionWindow(databaseManager, licenseManager,
                peerManager);
        loadCompetitionWindow.setTitle(WINDOW_TITLE);

        loadWindow.dispose();
        log.info("Starting Load Competition Dialog");

        while (true) {
            // reset permission checker to use our license
            licenseManager.updatePermissionChecker();

            GUIUtils.runModalJFrame(loadCompetitionWindow);

            if (loadCompetitionWindow.getSuccess()) {
                DatabaseInfo info = loadCompetitionWindow.getSelectedDatabaseInfo();

                if (!databaseManager.checkLock(info.id)) {
                    String message = "EventManager did not shut down correctly the last time this competition was open. To avoid potential data corruption, you are advised to take the following steps:\n"
                            + "1) Do NOT open this competition\n" + "2) Create a backup of this competition\n"
                            + "3) Delete the competition from this computer\n"
                            + "4) If possible, reload this competition from another computer on the network\n"
                            + "5) Alternatively, you may manually load the backup onto all computers on the network, ensuring the 'Preserve competition ID' option is checked.";
                    String title = "WARNING: Potential Data Corruption Detected";

                    int status = JOptionPane.showOptionDialog(null, message, title, JOptionPane.YES_NO_OPTION,
                            JOptionPane.ERROR_MESSAGE, null,
                            new Object[] { "Cancel (recommended)", "Open anyway" }, "Cancel (recommended)");

                    if (status == 0)
                        continue; // return to load competition window
                }

                SynchronizingWindow syncWindow = new SynchronizingWindow();
                syncWindow.setVisible(true);
                long t = System.nanoTime();
                DistributedDatabase database = databaseManager.activateDatabase(info.id, info.passwordHash);
                long dt = System.nanoTime() - t;
                log.debug(String.format("Initial sync in %dms",
                        TimeUnit.MILLISECONDS.convert(dt, TimeUnit.NANOSECONDS)));
                syncWindow.dispose();

                if (loadCompetitionWindow.isNewDatabase()) {
                    GregorianCalendar calendar = new GregorianCalendar();
                    Date today = calendar.getTime();
                    calendar.set(Calendar.MONTH, Calendar.DECEMBER);
                    calendar.set(Calendar.DAY_OF_MONTH, 31);
                    Date endOfYear = new java.sql.Date(calendar.getTimeInMillis());

                    CompetitionInfo ci = new CompetitionInfo();
                    ci.setName(info.name);
                    ci.setStartDate(today);
                    ci.setEndDate(today);
                    ci.setAgeThresholdDate(endOfYear);
                    //ci.setPasswordHash(info.passwordHash);
                    License license = licenseManager.getLicense();
                    if (license != null) {
                        ci.setLicenseName(license.getName());
                        ci.setLicenseType(license.getType().toString());
                        ci.setLicenseContact(license.getContactPhoneNumber());
                    }
                    database.add(ci);
                }

                // Set PermissionChecker to use database's license type
                String competitionLicenseType = database.get(CompetitionInfo.class, null).getLicenseType();
                PermissionChecker.setLicenseType(LicenseType.valueOf(competitionLicenseType));

                TransactionNotifier notifier = new TransactionNotifier();
                database.setListener(notifier);

                MainWindow mainWindow = new MainWindow();
                mainWindow.setDatabase(database);
                mainWindow.setNotifier(notifier);
                mainWindow.setPeerManager(peerManager);
                mainWindow.setLicenseManager(licenseManager);
                mainWindow.setManualDiscoveryService(manualDiscoveryService);
                mainWindow.setTitle(WINDOW_TITLE);
                mainWindow.afterPropertiesSet();

                TestUtil.setActivatedDatabase(database);

                // show main window (modally)
                GUIUtils.runModalJFrame(mainWindow);

                // shutdown procedures

                // System.exit();

                database.shutdown();
                databaseManager.deactivateDatabase(1500);

                if (mainWindow.getDeleteOnExit()) {
                    for (File file : info.localDirectory.listFiles())
                        if (!file.isDirectory())
                            file.delete();
                    info.localDirectory.deleteOnExit();
                }
            } else {
                // This can cause an RuntimeException - Peer is disconnected
                peerManager.stop();
                System.exit(0);
            }
        }
    } catch (Throwable e) {
        log.error("Error in main function", e);
        String message = e.getMessage();
        if (message == null)
            message = "";
        if (message.length() > 100)
            message = message.substring(0, 97) + "...";
        GUIUtils.displayError(null,
                "An unexpected error has occured.\n\n" + e.getClass().getSimpleName() + "\n" + message);
        System.exit(0);
    }
}

From source file:com.github.yongchristophertang.engine.java.LoggerProxyHelper.java

static Object addLogger(Logger logger, Method method, Object[] args, Object client) throws Throwable {
    if (method.getDeclaringClass() == Object.class) {
        return method.invoke(client, args);
    }//from  w w  w . j ava  2s  . com

    String formatter = "\n\tAPI: " + method.getName() + "\n\n";
    formatter += "\tInput:\n";
    for (int i = 0; i < method.getParameterCount(); i++) {
        formatter += "\t\t" + method.getParameters()[i].getName() + " ("
                + method.getParameters()[i].getType().getSimpleName() + "): ";
        if (args[i] == null) {
            formatter += "NULL";
        } else if (args[i] instanceof Iterable) {
            int cnt = 0;
            Iterator iter = ((Iterable) args[i]).iterator();
            while (iter.hasNext()) {
                formatter += "\n\t\t\t[" + (++cnt) + "]: " + toPrinterString(iter.next(), false);
            }
        } else {
            formatter += toPrinterString(args[i], false);
        }
        formatter += "\n";
    }

    long bf = System.nanoTime();
    Object result;
    try {
        result = method.invoke(client, args);
    } catch (InvocationTargetException e) {
        formatter += "\n\tException: \n\t\t" + e.getTargetException();
        formatter += "\n=======================================================================\n";
        logger.info(formatter);
        throw e.getTargetException();
    }
    long af = System.nanoTime();

    formatter += "\n\tResponse Time(ms): " + (af - bf) / 1000000 + "\n\n\tOutput:\n";

    if (result == null) {
        formatter += "\t\tNULL\n";
    } else if (result instanceof Iterable) {
        Iterator iter = ((Iterable) result).iterator();
        int cnt = 0;
        while (iter.hasNext()) {
            formatter += "\t\t[" + (++cnt) + "]: " + toPrinterString(iter.next(), true) + "\n";
        }
        if (cnt == 0) {
            formatter += "\t\tEmpty Collection []\n";
        }
    } else {
        formatter += "\t\t" + toPrinterString(result, true) + "\n";
    }

    formatter += "=======================================================================\n";
    logger.info(formatter);
    return result;
}

From source file:com.clican.pluto.dataprocess.engine.processes.IBatisExecProcessor.java

public void process(ProcessorContext context) throws DataProcessException {
    long nanoSeconds = System.nanoTime();
    logger.trace("start processing sql expression ...");
    if (ibatisExecBeanList != null) {
        for (IBatisExecBean ibatisExecBean : ibatisExecBeanList) {
            ibatisExecBean.execute(sqlMapClient, context);
        }//from   ww  w .  j a v a2  s . co m
    }
    logger.trace("end processing sql expression, time consumed: " + (System.nanoTime() - nanoSeconds) / 1000000
            + " ms");
}