This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class SomeServiceHandler extends SomeServiceGrpc.SomeServiceImplBase { | |
private static final String METRICS_PREFIX = "meter-api." + SomeServiceHandler.class.getSimpleName(); | |
/** | |
* metric registry. | |
*/ | |
private MetricRegistry metricRegistry; | |
// metricRegistry injected. | |
public void setMetricRegistry(MetricRegistry metricRegistry) { | |
this.metricRegistry = metricRegistry; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import com.codahale.metrics.MetricFilter; | |
import com.codahale.metrics.MetricRegistry; | |
import com.codahale.metrics.graphite.Graphite; | |
import com.codahale.metrics.graphite.GraphiteReporter; | |
import org.springframework.beans.factory.InitializingBean; | |
import java.net.InetAddress; | |
import java.net.InetSocketAddress; | |
import java.util.concurrent.TimeUnit; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import com.codahale.metrics.JmxReporter; | |
import com.codahale.metrics.MetricRegistry; | |
import org.springframework.beans.factory.InitializingBean; | |
public class JMXMetricsReporter implements InitializingBean { | |
private MetricRegistry metricRegistry; | |
// metricRegistry injected. | |
public void setMetricRegistry(MetricRegistry metricRegistry) { | |
this.metricRegistry = metricRegistry; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import com.codahale.metrics.ConsoleReporter; | |
import com.codahale.metrics.MetricRegistry; | |
import org.springframework.beans.factory.InitializingBean; | |
import java.util.concurrent.TimeUnit; | |
public class SystemOutReporter implements InitializingBean { | |
private MetricRegistry metricRegistry; | |
// metricRegistry injected. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import com.codahale.metrics.MetricRegistry; | |
import org.springframework.beans.factory.FactoryBean; | |
import org.springframework.beans.factory.InitializingBean; | |
public class MetricRegistryFactory implements InitializingBean, FactoryBean<MetricRegistry> { | |
private MetricRegistry metricRegistry; | |
@Override | |
public void afterPropertiesSet() throws Exception { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<bean id="metricRegistryFactory" | |
class="io.shunters.mykidong.component.metrics.MetricRegistryFactory" /> | |
<bean id="jMXMetricsReporter" | |
class="io.shunters.mykidong.component.metrics.JMXMetricsReporter" | |
p:metricRegistry-ref="metricRegistryFactory" /> | |
<bean id="graphiteMetricsReporter" | |
class="io.shunters.mykidong.component.metrics.GraphiteMetricsReporter" | |
p:metricRegistry-ref="metricRegistryFactory" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<bean id="someServiceHandler" | |
class="io.shunters.mykidong.component.SomeServiceHandler" | |
p:metricRegistry-ref="metricRegistryFactory" /> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
EventHandler<EventLog> validationHandler = ... | |
Disruptor<EventLog> validationDisruptor = DisruptorCreator.singleton(DisruptorCreator.DISRUPTOR_NAME_VALIDATION, EventLog.FACTORY, 1024, validationHandler); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import com.lmax.disruptor.BlockingWaitStrategy; | |
import com.lmax.disruptor.EventFactory; | |
import com.lmax.disruptor.EventHandler; | |
import com.lmax.disruptor.dsl.Disruptor; | |
import com.lmax.disruptor.dsl.ProducerType; | |
import org.slf4j.Logger; | |
import org.slf4j.LoggerFactory; | |
import java.util.concurrent.ConcurrentHashMap; | |
import java.util.concurrent.ConcurrentMap; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// init. disruptor event log translator. | |
BaseTranslator.EventLogTranslator eventLogValidationTranslator = new BaseTranslator.EventLogTranslator(); | |
// handle http or tcp request. | |
Buffer body = ... | |
// get body from the request. | |
String json = new String(body.getBytes()); | |
// set the values to event translator. |
OlderNewer