Search in sources :

Example 16 with StopWatch

use of org.perf4j.StopWatch in project cuba by cuba-platform.

the class DesktopAbstractTable method packRows.

/**
 * Sets the height of each row into the preferred height of the tallest cell in that row.
 */
public void packRows() {
    if (!contentRepaintEnabled) {
        return;
    }
    impl.setRowHeight(defaultRowHeight);
    for (Column column : columnsOrder) {
        if (column.isEditable()) {
            impl.setRowHeight(defaultEditableRowHeight);
            break;
        }
    }
    if (allColumnsAreInline()) {
        return;
    }
    int preferredRowHeight = -1;
    boolean equalsRowHeight = true;
    StopWatch sw = new Slf4JStopWatch("DAT packRows " + id);
    for (int r = 0; r < impl.getRowCount(); r++) {
        int h = getPreferredRowHeight(r);
        if (preferredRowHeight == -1) {
            preferredRowHeight = h;
        } else if (preferredRowHeight != h) {
            equalsRowHeight = false;
        }
        if (impl.getRowHeight(r) != h) {
            impl.setRowHeight(r, h);
        }
    }
    if (equalsRowHeight && preferredRowHeight > 0) {
        impl.setRowHeight(preferredRowHeight);
    }
    sw.stop();
}
Also used : Slf4JStopWatch(org.perf4j.slf4j.Slf4JStopWatch) TableColumn(javax.swing.table.TableColumn) Slf4JStopWatch(org.perf4j.slf4j.Slf4JStopWatch) StopWatch(org.perf4j.StopWatch)

Example 17 with StopWatch

use of org.perf4j.StopWatch in project cuba by cuba-platform.

the class Scheduling method processScheduledTasks.

@Override
public void processScheduledTasks(boolean onlyIfActive) {
    if (onlyIfActive && !isActive())
        return;
    log.debug("Processing scheduled tasks");
    if (schedulingStartTime == 0)
        schedulingStartTime = timeSource.currentTimeMillis();
    authentication.begin();
    try {
        StopWatch sw = new Slf4JStopWatch("Scheduling.processTasks");
        Coordinator.Context context = coordinator.begin();
        try {
            for (ScheduledTask task : context.getTasks()) {
                processTask(task);
            }
        } finally {
            coordinator.end(context);
        }
        sw.stop();
    } finally {
        authentication.end();
    }
}
Also used : Slf4JStopWatch(org.perf4j.slf4j.Slf4JStopWatch) ScheduledTask(com.haulmont.cuba.core.entity.ScheduledTask) Slf4JStopWatch(org.perf4j.slf4j.Slf4JStopWatch) StopWatch(org.perf4j.StopWatch)

Example 18 with StopWatch

use of org.perf4j.StopWatch in project cuba by cuba-platform.

the class ManagedBeanInfoDatasource method loadTree.

@Override
protected Tree<ManagedBeanInfo> loadTree(Map<String, Object> params) {
    String tag = getLoggingTag("TDS");
    StopWatch sw = new Slf4JStopWatch(tag, LoggerFactory.getLogger(UIPerformanceLogger.class));
    List<Node<ManagedBeanInfo>> nodes = new ArrayList<>();
    if (jmxInstance != null) {
        List<ManagedBeanDomain> domains = jmxControlAPI.getDomains(jmxInstance);
        Map<String, Node<ManagedBeanInfo>> domainMap = new HashMap<>();
        for (ManagedBeanDomain mbd : domains) {
            ManagedBeanInfo dummy = metadata.create(ManagedBeanInfo.class);
            dummy.setDomain(mbd.getName());
            Node<ManagedBeanInfo> node = new Node<>(dummy);
            domainMap.put(mbd.getName(), node);
            nodes.add(node);
        }
        List<ManagedBeanInfo> list = loadManagedBeans(params);
        for (ManagedBeanInfo mbi : list) {
            if (mbi != null) {
                if (domainMap.containsKey(mbi.getDomain())) {
                    domainMap.get(mbi.getDomain()).addChild(new Node<>(mbi));
                }
            }
        }
        // remove root nodes that might have left without children after filtering
        for (Node<ManagedBeanInfo> rootNode : new ArrayList<>(nodes)) {
            if (rootNode.getChildren().isEmpty()) {
                nodes.remove(rootNode);
            }
        }
    }
    sw.stop();
    return new Tree<>(nodes);
}
Also used : Slf4JStopWatch(org.perf4j.slf4j.Slf4JStopWatch) UIPerformanceLogger(com.haulmont.cuba.gui.logging.UIPerformanceLogger) Node(com.haulmont.bali.datastruct.Node) ManagedBeanInfo(com.haulmont.cuba.web.jmx.entity.ManagedBeanInfo) ManagedBeanDomain(com.haulmont.cuba.web.jmx.entity.ManagedBeanDomain) Slf4JStopWatch(org.perf4j.slf4j.Slf4JStopWatch) StopWatch(org.perf4j.StopWatch) Tree(com.haulmont.bali.datastruct.Tree)

Example 19 with StopWatch

use of org.perf4j.StopWatch in project bioformats by openmicroscopy.

the class Memoizer method loadMemo.

/**
 * Load a memo file if possible, returning a null if not.
 *
 * Corrupt memo files will be deleted if possible. Kryo
 * exceptions should never propagate to the caller. Only
 * the regular Bio-Formats exceptions should be thrown.
 */
public IFormatReader loadMemo() throws IOException, FormatException {
    if (skipLoad) {
        LOGGER.trace("skip load");
        return null;
    }
    if (!memoFile.exists()) {
        LOGGER.trace("Memo file doesn't exist: {}", memoFile);
        return null;
    }
    if (!memoFile.canRead()) {
        LOGGER.trace("Can't read memo file: {}", memoFile);
        return null;
    }
    long memoLast = memoFile.lastModified();
    long realLast = realFile.lastModified();
    if (memoLast < realLast) {
        LOGGER.debug("memo(lastModified={}) older than real(lastModified={})", memoLast, realLast);
        return null;
    }
    final Deser ser = getDeser();
    final StopWatch sw = stopWatch();
    IFormatReader copy = null;
    ser.loadStart(memoFile);
    try {
        // VERSION
        Integer version = ser.loadVersion();
        if (!VERSION.equals(version)) {
            LOGGER.info("Old version of memo file: {} not {}", version, VERSION);
            return null;
        }
        // RELEASE VERSION NUMBER
        if (versionMismatch()) {
            // Logging done in versionMismatch
            return null;
        }
        // CLASS & COPY
        try {
            copy = ser.loadReader();
        } catch (ClassNotFoundException e) {
            LOGGER.warn("unknown reader type: {}", e);
            return null;
        }
        boolean equal = false;
        try {
            equal = FormatTools.equalReaders(reader, copy);
        } catch (RuntimeException rt) {
            copy.close();
            throw rt;
        } catch (Error err) {
            copy.close();
            throw err;
        }
        if (!equal) {
            copy.close();
            return null;
        }
        copy = handleMetadataStore(copy);
        if (copy == null) {
            LOGGER.debug("metadata store invalidated cache: {}", memoFile);
        }
        // TODO:
        // Check flags
        // DataV1 class?
        // Handle exceptions on read/write. possibly deleting.
        LOGGER.debug("loaded memo file: {} ({} bytes)", memoFile, memoFile.length());
        return copy;
    } catch (KryoException e) {
        LOGGER.warn("deleting invalid memo file: {}", memoFile, e);
        LOGGER.debug("Kryo Exception: " + e.getMessage());
        deleteQuietly(memoFile);
        return null;
    } catch (ArrayIndexOutOfBoundsException e) {
        LOGGER.warn("deleting invalid memo file: {}", memoFile, e);
        LOGGER.debug("ArrayIndexOutOfBoundsException: " + e.getMessage());
        deleteQuietly(memoFile);
        return null;
    } catch (Throwable t) {
        // Logging at error since this is unexpected.
        LOGGER.error("deleting invalid memo file: {}", memoFile, t);
        LOGGER.debug("Other Exception: " + t.getMessage());
        deleteQuietly(memoFile);
        return null;
    } finally {
        ser.loadStop();
        sw.stop("loci.formats.Memoizer.loadMemo");
    }
}
Also used : KryoException(com.esotericsoftware.kryo.KryoException) ArrayIndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException) Slf4JStopWatch(org.perf4j.slf4j.Slf4JStopWatch) StopWatch(org.perf4j.StopWatch)

Example 20 with StopWatch

use of org.perf4j.StopWatch in project bioformats by openmicroscopy.

the class OpenBytesPerformanceTest method setId.

@Test
public void setId() throws Exception {
    reader = new ImageReader();
    reader = new ChannelFiller(reader);
    reader = new ChannelSeparator(reader);
    reader = new MinMaxCalculator(reader);
    if (memMap && reader.isSingleFile(id)) {
        TestTools.mapFile(id);
    }
    StopWatch stopWatch = new Slf4JStopWatch();
    reader.setId(id);
    stopWatch.stop(String.format("%s.setId.%s", ((ReaderWrapper) reader).unwrap().getClass().getName(), filename));
    seriesCount = reader.getSeriesCount();
}
Also used : Slf4JStopWatch(org.perf4j.slf4j.Slf4JStopWatch) MinMaxCalculator(loci.formats.MinMaxCalculator) ChannelFiller(loci.formats.ChannelFiller) ImageReader(loci.formats.ImageReader) ChannelSeparator(loci.formats.ChannelSeparator) ReaderWrapper(loci.formats.ReaderWrapper) Slf4JStopWatch(org.perf4j.slf4j.Slf4JStopWatch) StopWatch(org.perf4j.StopWatch) Test(org.testng.annotations.Test)

Aggregations

StopWatch (org.perf4j.StopWatch)41 Slf4JStopWatch (org.perf4j.slf4j.Slf4JStopWatch)41 UIPerformanceLogger (com.haulmont.cuba.gui.logging.UIPerformanceLogger)17 Element (org.dom4j.Element)4 Transaction (com.haulmont.cuba.core.Transaction)3 Test (org.testng.annotations.Test)3 Node (com.haulmont.bali.datastruct.Node)2 MetaClass (com.haulmont.chile.core.model.MetaClass)2 AppFolder (com.haulmont.cuba.core.entity.AppFolder)2 ComponentLoader (com.haulmont.cuba.gui.xml.layout.ComponentLoader)2 ComponentLoaderContext (com.haulmont.cuba.gui.xml.layout.loaders.ComponentLoaderContext)2 SearchFolder (com.haulmont.cuba.security.entity.SearchFolder)2 Binding (groovy.lang.Binding)2 IOException (java.io.IOException)2 KryoException (com.esotericsoftware.kryo.KryoException)1 Pair (com.haulmont.bali.datastruct.Pair)1 Tree (com.haulmont.bali.datastruct.Tree)1 MetaModel (com.haulmont.chile.core.model.MetaModel)1 MetaProperty (com.haulmont.chile.core.model.MetaProperty)1 EntityManager (com.haulmont.cuba.core.EntityManager)1