001package org.hl7.fhir.validation;
002
003public class TimeTracker {
004  private long overall = 0;
005  private long txTime = 0;
006  private long sdTime = 0;
007  private long loadTime = 0;
008  private long fpeTime = 0;
009
010  public long getOverall() {
011    return overall;
012  }
013  public long getTxTime() {
014    return txTime;
015  }
016  public long getSdTime() {
017    return sdTime;
018  }
019  public long getLoadTime() {
020    return loadTime;
021  }
022  public long getFpeTime() {
023    return fpeTime;
024  }
025  
026  public void load(long start) {
027    loadTime = loadTime + (System.nanoTime() - start);
028  }
029  
030  public void overall(long start) {  
031    overall = overall + (System.nanoTime() - start);
032  }
033  
034  public void tx(long start, String s) {
035    long ms = (System.nanoTime() - start) / 1000000;
036//    System.out.println("tx: "+ms+" "+s);
037    txTime = txTime + (System.nanoTime() - start);
038  }
039  
040  public void sd(long start) {
041    sdTime = sdTime + (System.nanoTime() - start);
042  }
043  
044  public void fpe(long start) {
045    fpeTime = fpeTime + (System.nanoTime() - start);
046  }
047  
048  public void reset() {
049    overall = 0;
050    txTime = 0;
051    sdTime = 0;
052    loadTime = 0;
053    fpeTime = 0;
054  }
055}