org.apache.spark.storage
Class TimeTrackingOutputStream

Object
  extended by java.io.OutputStream
      extended by org.apache.spark.storage.TimeTrackingOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable

public final class TimeTrackingOutputStream
extends java.io.OutputStream

Intercepts write calls and tracks total time spent writing in order to update shuffle write metrics. Not thread safe.


Constructor Summary
TimeTrackingOutputStream(org.apache.spark.executor.ShuffleWriteMetrics writeMetrics, java.io.OutputStream outputStream)
           
 
Method Summary
 void close()
           
 void flush()
           
 void write(byte[] b)
           
 void write(byte[] b, int off, int len)
           
 void write(int b)
           
 
Methods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeTrackingOutputStream

public TimeTrackingOutputStream(org.apache.spark.executor.ShuffleWriteMetrics writeMetrics,
                                java.io.OutputStream outputStream)
Method Detail

write

public void write(int b)
           throws java.io.IOException
Specified by:
write in class java.io.OutputStream
Throws:
java.io.IOException

write

public void write(byte[] b)
           throws java.io.IOException
Overrides:
write in class java.io.OutputStream
Throws:
java.io.IOException

write

public void write(byte[] b,
                  int off,
                  int len)
           throws java.io.IOException
Overrides:
write in class java.io.OutputStream
Throws:
java.io.IOException

flush

public void flush()
           throws java.io.IOException
Specified by:
flush in interface java.io.Flushable
Overrides:
flush in class java.io.OutputStream
Throws:
java.io.IOException

close

public void close()
           throws java.io.IOException
Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.OutputStream
Throws:
java.io.IOException