@InterfaceAudience.Private class LogEventHandler extends Object implements com.lmax.disruptor.EventHandler<RingBufferEnvelope>
Modifier and Type | Field and Description |
---|---|
private org.apache.hadoop.conf.Configuration |
configuration |
private static int |
DEFAULT_SYS_TABLE_QUEUE_SIZE |
private boolean |
isSlowLogTableEnabled |
private static ReentrantLock |
LOCK |
private static org.slf4j.Logger |
LOG |
private Queue<org.apache.hadoop.hbase.shaded.protobuf.generated.TooSlowLog.SlowLogPayload> |
queueForRingBuffer |
private Queue<org.apache.hadoop.hbase.shaded.protobuf.generated.TooSlowLog.SlowLogPayload> |
queueForSysTable |
private static String |
SYS_TABLE_QUEUE_SIZE |
private static int |
SYSTABLE_PUT_BATCH_SIZE |
Constructor and Description |
---|
LogEventHandler(int eventCount,
boolean isSlowLogTableEnabled,
org.apache.hadoop.conf.Configuration conf) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
addAllLogsToSysTable()
Poll from queueForSysTable and insert 100 records in hbase:slowlog table in single batch
|
(package private) boolean |
clearSlowLogs()
Cleans up slow log payloads
|
(package private) List<org.apache.hadoop.hbase.shaded.protobuf.generated.TooSlowLog.SlowLogPayload> |
getLargeLogPayloads(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SlowLogResponseRequest request)
Retrieve list of large log payloads
|
private org.apache.hadoop.hbase.shaded.protobuf.generated.TooSlowLog.SlowLogPayload.Type |
getLogType(RpcLogDetails rpcCallDetails) |
(package private) List<org.apache.hadoop.hbase.shaded.protobuf.generated.TooSlowLog.SlowLogPayload> |
getSlowLogPayloads(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SlowLogResponseRequest request)
Retrieve list of slow log payloads
|
void |
onEvent(RingBufferEnvelope event,
long sequence,
boolean endOfBatch)
Called when a publisher has published an event to the
RingBuffer |
private static final org.slf4j.Logger LOG
private static final String SYS_TABLE_QUEUE_SIZE
private static final int DEFAULT_SYS_TABLE_QUEUE_SIZE
private static final int SYSTABLE_PUT_BATCH_SIZE
private final Queue<org.apache.hadoop.hbase.shaded.protobuf.generated.TooSlowLog.SlowLogPayload> queueForRingBuffer
private final Queue<org.apache.hadoop.hbase.shaded.protobuf.generated.TooSlowLog.SlowLogPayload> queueForSysTable
private final boolean isSlowLogTableEnabled
private org.apache.hadoop.conf.Configuration configuration
private static final ReentrantLock LOCK
LogEventHandler(int eventCount, boolean isSlowLogTableEnabled, org.apache.hadoop.conf.Configuration conf)
public void onEvent(RingBufferEnvelope event, long sequence, boolean endOfBatch) throws Exception
RingBuffer
onEvent
in interface com.lmax.disruptor.EventHandler<RingBufferEnvelope>
event
- published to the RingBuffer
sequence
- of the event being processedendOfBatch
- flag to indicate if this is the last event in a batch from
the RingBuffer
Exception
- if the EventHandler would like the exception handled further up the chainprivate org.apache.hadoop.hbase.shaded.protobuf.generated.TooSlowLog.SlowLogPayload.Type getLogType(RpcLogDetails rpcCallDetails)
boolean clearSlowLogs()
List<org.apache.hadoop.hbase.shaded.protobuf.generated.TooSlowLog.SlowLogPayload> getSlowLogPayloads(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SlowLogResponseRequest request)
request
- slow log request parametersList<org.apache.hadoop.hbase.shaded.protobuf.generated.TooSlowLog.SlowLogPayload> getLargeLogPayloads(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SlowLogResponseRequest request)
request
- large log request parametersvoid addAllLogsToSysTable()
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.