org.apache.avro.ipc.trace
Class FileSpanStorage

java.lang.Object
  extended by org.apache.avro.ipc.trace.FileSpanStorage
All Implemented Interfaces:
SpanStorage

public class FileSpanStorage
extends Object
implements SpanStorage

A file-based { @link SpanStorage } implementation for Avro's { @link TracePlugin }. This class has two modes, one in which writes are buffered and one in which they are not. Even without buffering, there will be some delay between reporting of a Span and the actual disk write.


Field Summary
 
Fields inherited from interface org.apache.avro.ipc.trace.SpanStorage
DEFAULT_MAX_SPANS, MILLIS_PER_SECOND, NANOS_PER_SECOND
 
Constructor Summary
FileSpanStorage(boolean buffer, TracePluginConfiguration conf)
           
 
Method Summary
 void addSpan(org.apache.avro.ipc.trace.Span s)
          Add a span.
 void clear()
          Clear all Span data stored by this plugin.
 List<org.apache.avro.ipc.trace.Span> getAllSpans()
          Return a list of all spans currently stored.
 List<org.apache.avro.ipc.trace.Span> getSpansInRange(long start, long end)
          Return a list of all spans that fall within the time given range.
 void setMaxSpans(long maxSpans)
          Set the maximum number of spans to have in storage at any given time.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileSpanStorage

public FileSpanStorage(boolean buffer,
                       TracePluginConfiguration conf)
Method Detail

addSpan

public void addSpan(org.apache.avro.ipc.trace.Span s)
Description copied from interface: SpanStorage
Add a span.

Specified by:
addSpan in interface SpanStorage

getAllSpans

public List<org.apache.avro.ipc.trace.Span> getAllSpans()
Description copied from interface: SpanStorage
Return a list of all spans currently stored. For testing.

Specified by:
getAllSpans in interface SpanStorage

clear

public void clear()
Clear all Span data stored by this plugin.


setMaxSpans

public void setMaxSpans(long maxSpans)
Description copied from interface: SpanStorage
Set the maximum number of spans to have in storage at any given time.

Specified by:
setMaxSpans in interface SpanStorage

getSpansInRange

public List<org.apache.avro.ipc.trace.Span> getSpansInRange(long start,
                                                            long end)
Description copied from interface: SpanStorage
Return a list of all spans that fall within the time given range.

Specified by:
getSpansInRange in interface SpanStorage
Parameters:
start - UNIX time (in nanoseconds) as a long
end - UNIX time (in nanoseconds) as a long


Copyright © 2010 The Apache Software Foundation