org.apache.hadoop.chukwa.datacollection.adaptor
Interface Adaptor

All Known Subinterfaces:
NotifyOnCommitAdaptor
All Known Implementing Classes:
AbstractAdaptor, AbstractWrapper, CharFileTailingAdaptorUTF8, CharFileTailingAdaptorUTF8NewLineEscaped, ConstRateAdaptor, DirTailingAdaptor, ExecAdaptor, FileAdaptor, FileTailingAdaptor, JMSAdaptor, LWFTAdaptor, MaxRateSender, MemBuffered, RCheckFTAdaptor, RegExDirTailingAdaptor, SocketAdaptor, SyslogAdaptor, SystemMetrics, UDPAdaptor, WriteaheadBuffered

public interface Adaptor

An adaptor is a component that runs within the Local Agent, producing chunks of monitoring data. An adaptor can, but need not, have an associated thread. If an adaptor lacks a thread, it needs to arrange some mechanism to periodically get control and send reports such as a callback somewhere. Adaptors must be able to stop and resume without losing data, using a byte offset in the stream. If an adaptor crashes at byte offset n, and is restarted at byte offset k, with k < n, it is allowed to send different values for bytes k through n the second time around. However, the stream must still be parseable, assuming that bytes 0-k come from the first run,and bytes k - n come from the second. Note that Adaptor implements neither equals() nor hashCode(). It is never safe to compare two adaptors with equals(). It is safe to use adaptors as hash table keys, though two distinct Adaptors will appear as two distinct keys. This is the desired behavior, since it means that messages intended for one Adaptor will never be received by another, even across Adaptor restarts.


Method Summary
 String getCurrentStatus()
          Return the adaptor's state Should not include class name or byte offset, which are written by caller.
 String getType()
           
 String parseArgs(String datatype, String params, AdaptorManager c)
          Parse args, return stream name.
 long shutdown(AdaptorShutdownPolicy shutdownPolicy)
          Signals this adaptor to come to an orderly stop.
 void start(String adaptorID, String type, long offset, ChunkReceiver dest)
          Start this adaptor
 

Method Detail

start

void start(String adaptorID,
           String type,
           long offset,
           ChunkReceiver dest)
           throws AdaptorException
Start this adaptor

Parameters:
type - the application type, who is starting this adaptor
status - the status string to use for configuration.
offset - the stream offset of the first byte sent by this adaptor
Throws:
AdaptorException

getCurrentStatus

String getCurrentStatus()
Return the adaptor's state Should not include class name or byte offset, which are written by caller. The datatype should, however, be written by this method.

Returns:
the adaptor state as a string

getType

String getType()

parseArgs

String parseArgs(String datatype,
                 String params,
                 AdaptorManager c)
Parse args, return stream name. Do not start running. Return the stream name, given params. The stream name is the part of the Adaptor status that's used to determine uniqueness.

Returns:
Stream name as a string, null if params are malformed

shutdown

long shutdown(AdaptorShutdownPolicy shutdownPolicy)
              throws AdaptorException
Signals this adaptor to come to an orderly stop. The adaptor ought to push out all the data it can before exiting depending of the shutdown policy

Returns:
the logical offset at which the adaptor was when the method return
Throws:
AdaptorException


Copyright © 2011 Apache Software Foundation. All Rights Reserved.