summaryrefslogtreecommitdiff
path: root/src/com/p4square/restlet/metrics/MetricsApplication.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/p4square/restlet/metrics/MetricsApplication.java')
-rw-r--r--src/com/p4square/restlet/metrics/MetricsApplication.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/com/p4square/restlet/metrics/MetricsApplication.java b/src/com/p4square/restlet/metrics/MetricsApplication.java
new file mode 100644
index 0000000..6caf742
--- /dev/null
+++ b/src/com/p4square/restlet/metrics/MetricsApplication.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2014 Jesse Morgan
+ */
+
+package com.p4square.restlet.metrics;
+
+import java.util.concurrent.TimeUnit;
+
+import com.codahale.metrics.MetricRegistry;
+import com.codahale.metrics.json.MetricsModule;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.restlet.Application;
+import org.restlet.Restlet;
+import org.restlet.resource.Finder;
+
+/**
+ *
+ * @author Jesse Morgan <jesse@jesterpm.net>
+ */
+public class MetricsApplication extends Application {
+ static final ObjectMapper MAPPER;
+ static {
+ MAPPER = new ObjectMapper();
+ MAPPER.registerModule(new MetricsModule(TimeUnit.SECONDS, TimeUnit.MILLISECONDS, true));
+ }
+
+ private final MetricRegistry mMetricRegistry;
+
+ public MetricsApplication(MetricRegistry metrics) {
+ mMetricRegistry = metrics;
+ }
+
+ public MetricRegistry getMetricRegistry() {
+ return mMetricRegistry;
+ }
+
+ @Override
+ public Restlet createInboundRoot() {
+ return new Finder(getContext(), MetricsResource.class);
+ }
+}