1 /*******************************************************************************
2 * Copyright (c) 2007, 2011 Association for Decentralized Information Management in
4 * All rights reserved. This program and the accompanying materials
5 * are made available under the terms of the Eclipse Public License v1.0
6 * which accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * VTT Technical Research Centre of Finland - initial API and implementation
11 *******************************************************************************/
12 package org.simantics;
14 import org.eclipse.core.runtime.NullProgressMonitor;
15 import org.slf4j.Logger;
16 import org.slf4j.LoggerFactory;
19 * @author Tuukka Lehtonen
21 public class TimingProgressMonitor extends NullProgressMonitor {
23 private static final Logger LOGGER = LoggerFactory.getLogger(TimingProgressMonitor.class);
25 private final long start;
27 public TimingProgressMonitor() {
28 this.start = System.nanoTime();
31 private void log(String msg) {
32 LOGGER.info(msg + " @ " + (System.nanoTime() - start)*1e-9);
36 public void worked(int work) {
37 log("worked(" + work + ")");
41 public void subTask(String name) {
42 log("subTask(" + name + ")");
46 public void setTaskName(String name) {
47 log("setTaskName(" + name + ")");
51 public void setCanceled(boolean value) {
52 log("setCanceled(" + value+ ")");
53 super.setCanceled(value);
57 public boolean isCanceled() {
59 return super.isCanceled();
63 public void internalWorked(double work) {
64 log("internalWorked(" + work + ")");
73 public void beginTask(String name, int totalWork) {
74 log("beginTask(" + name + ", " + totalWork + ")");