summaryrefslogtreecommitdiff
path: root/src/main/java/com/p4square/restlet/metrics/MetricsApplication.java
blob: 6caf742da5909f5226ecea5874e8b9e8b9accde7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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);
    }
}