/** * Constructor. * * @throws ClassNotFoundException if a class was not found when attempting to load it * @throws InstantiationException if a class was not able to be instantiated * @throws IllegalAccessException if there was a problem accessing something due to security restrictions */ public ResourceConfig() throws ClassNotFoundException, InstantiationException, IllegalAccessException { // Build the binder using the configured factory Class<?> binderClass = Class.forName(bindingFactory); BinderFactory binderFactory = (BinderFactory) binderClass.newInstance(); Binder binder = binderFactory.buildBinder(); // Register Instrumentation register(new InstrumentedResourceMethodApplicationListener(MetricRegistryFactory.getRegistry())); registerMetricsAppender(); register(binder); registerFilters(); // Call post-registration hook to allow for additional registration binderFactory.afterRegistration(this); }
@Named("APIResourceConfig") @Singleton @Provides public ResourceConfig getAPIResourceConfig(StateMachineResource stateMachineResource, DeploymentUnitResource deploymentUnitResource, StatusResource statusResource, MetricRegistry metricRegistry) { ResourceConfig resourceConfig = new ResourceConfig(); //Register codahale metrics and publish to jmx resourceConfig.register(new InstrumentedResourceMethodApplicationListener(metricRegistry)); JmxReporter jmxReporter = JmxReporter.forRegistry(metricRegistry).build(); //register resources resourceConfig.register(stateMachineResource); resourceConfig.register(deploymentUnitResource); resourceConfig.register(statusResource); resourceConfig.register(CORSFilter.class); jmxReporter.start(); return resourceConfig; }
private void registerMetrics(final ResourceConfig resourceConfig) { logger.info("Registering Metrics service"); MetricRegistry metricsReg = MetricsUtil.getMetricsRegistry(); resourceConfig.register(new InstrumentedResourceMethodApplicationListener(metricsReg)); if (config.isConsoleMetrics()) { logger.info("Enabling console Metrics reporting"); ConsoleReporter.forRegistry(metricsReg).convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).build() .start(10, TimeUnit.SECONDS); } logger.info("Registered Metrics service"); }
public SCAPEFedoraApplication() { packages("org.fcrepo", "eu.scape_project.resource"); register(new FactoryBinder()); register(MultiPartFeature.class); register(JacksonFeature.class); register(new InstrumentedResourceMethodApplicationListener(new MetricRegistry())); }
/** * THIS IS OUR RESOURCE CONFIG! */ public FedoraApplication() { super(); packages("org.fcrepo"); register(new FactoryBinder()); register(MultiPartFeature.class); register(JacksonFeature.class); if (LOGGER.isDebugEnabled()) { register(new LoggingFeature(Logger.getLogger(LoggingFeature.class.getName()))); } register(new InstrumentedResourceMethodApplicationListener(new MetricRegistry())); }
/** * Called during construction to {@link #register(Object)} the {@link InstrumentedResourceMethodApplicationListener} * using our Jersey singleton MetricRegistry instance. */ protected void registerMetricRegistry() { logger.info("Registering MetricRegistry with Jersey."); register(new InstrumentedResourceMethodApplicationListener(registry)); }
/** * Called during construction to {@link #register(Object)} the {@link com.codahale.metrics.jersey2.InstrumentedResourceMethodApplicationListener} * using our Jersey singleton MetricRegistry instance. */ protected void registerMetricRegistry() { logger.info("Registering MetricRegistry with Jersey."); register(new InstrumentedResourceMethodApplicationListener(registry)); }