package com.linkedin.camus.etl.kafka.common;
import org.apache.avro.generic.GenericRecord;
import org.apache.hadoop.conf.Configuration;
/**
* All details for monitoring the event counts
* @author ggupta
*
*/
public abstract class AbstractMonitoringEvent {
public Configuration conf;
/**
* Constructor to accept a configuration parameter
* @param config
*/
public AbstractMonitoringEvent(Configuration config) {
this.conf = config;
}
/**
* Create a generic record containing the monitoring details to be published to Kafka
* @param countEntry
* @param topic
* @param granularity
* @param tier
* @param conf
* @return GenericRecord
*/
public abstract GenericRecord createMonitoringEventRecord(Source countEntry, String topic, long granularity,
String tier);
}