@@ -0,0 +1,2638 @@
+package com.yahoo.omid.tso.metrics;%0A%0Aimport java.util.concurrent.TimeUnit;%0A%0Aimport org.apache.log4j.Logger;%0A%0Aimport com.yahoo.omid.notifications.ScannerSandbox.ScannerContainer.Scanner;%0Aimport com.yahoo.omid.tso.TSOHandler;%0Aimport com.yammer.metrics.Metrics;%0Aimport com.yammer.metrics.core.Meter;%0Aimport com.yammer.metrics.core.Timer;%0Aimport com.yammer.metrics.core.TimerContext;%0A%0Apublic class StatusOracleMetrics %7B%0A%0A    private static Logger logger = Logger.getLogger(StatusOracleMetrics.class);%0A%0A    private final Timer commitsTimer;%0A    private final Timer beginTimer;%0A    private final Timer commitsLatency;%0A    private final Meter committedMeter;%0A    private final Meter abortedMeter;%0A    private final Meter selfAbortedMeter;%0A    private final Meter queryMeter;%0A    private final Meter beginMeter;%0A%0A    public StatusOracleMetrics() %7B%0A        committedMeter = Metrics.defaultRegistry().newMeter(TSOHandler.class, %22statusOracle@committed%22, %22statusOracle%22,%0A                TimeUnit.SECONDS);%0A        abortedMeter = Metrics.defaultRegistry().newMeter(TSOHandler.class, %22statusOracle@aborted%22, %22statusOracle%22,%0A                TimeUnit.SECONDS);%0A        selfAbortedMeter = Metrics.defaultRegistry().newMeter(TSOHandler.class, %22statusOracle@selfAborted%22,%0A                %22statusOracle%22, TimeUnit.SECONDS);%0A        queryMeter = Metrics.defaultRegistry().newMeter(TSOHandler.class, %22statusOracle@query%22, %22statusOracle%22,%0A                TimeUnit.SECONDS);%0A        beginMeter = Metrics.defaultRegistry().newMeter(TSOHandler.class, %22statusOracle@begin%22,%0A                %22statusOracle%22, TimeUnit.SECONDS);%0A        commitsTimer = Metrics.defaultRegistry().newTimer(TSOHandler.class, %22statusOracle@commit-processingTime%22,%0A                %22statusOracle%22);%0A        commitsLatency = Metrics.defaultRegistry().newTimer(TSOHandler.class, %22statusOracle@commit-latency%22,%0A                %22statusOracle%22);%0A        beginTimer = Metrics.defaultRegistry().newTimer(TSOHandler.class, %22statusOracle@begin-processingTime%22,%0A                %22statusOracle%22);%0A    %7D%0A%0A    public void commited() %7B%0A        committedMeter.mark();%0A    %7D%0A%0A    public void aborted() %7B%0A        abortedMeter.mark();%0A    %7D%0A%0A    public void selfAborted() %7B%0A        selfAbortedMeter.mark();%0A    %7D%0A%0A    public void query() %7B%0A        queryMeter.mark();%0A    %7D%0A%0A    public void begin() %7B%0A        beginMeter.mark();%0A    %7D%0A%0A    public TimerContext startCommitProcessing() %7B%0A        return commitsTimer.time();%0A    %7D%0A%0A    public TimerContext startCommitLatency() %7B%0A        return commitsLatency.time();%0A    %7D%0A%0A    public TimerContext startBeginProcessing() %7B%0A        return beginTimer.time();%0A    %7D%0A%7D%0A

add missing file