Migrate from infrautils-counters to -meters
[netvirt.git] / natservice / impl / src / main / java / org / opendaylight / netvirt / natservice / internal / NatServiceCounters.java
1 /*
2  * Copyright (c) 2016 Hewlett-Packard Enterprise and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.netvirt.natservice.internal;
10
11 import javax.inject.Inject;
12 import javax.inject.Singleton;
13 import org.opendaylight.infrautils.metrics.Meter;
14 import org.opendaylight.infrautils.metrics.MetricDescriptor;
15 import org.opendaylight.infrautils.metrics.MetricProvider;
16
17 @Singleton
18 public class NatServiceCounters {
19     private final Meter installDefaultNatFlowMeter;
20     private final Meter removeDefaultNatFlowMeter;
21     private final Meter removeExternalNetworkGroupMeter;
22     private final Meter subnetmapAddMeter;
23     private final Meter subnetmapRemoveMeter;
24     private final Meter subnetmapUpdateMeter;
25     private final Meter garpSentMeter;
26     private final Meter garpFailedIpv6Meter;
27     private final Meter garpFailedMissingInterfaceMeter;
28     private final Meter garpFailedSendMeter;
29
30     @Inject
31     public NatServiceCounters(MetricProvider metricProvider) {
32         this.installDefaultNatFlowMeter = meter(metricProvider, "install_default_nat_flow");
33         this.removeDefaultNatFlowMeter = meter(metricProvider, "remove_default_nat_flow");
34         this.removeExternalNetworkGroupMeter = meter(metricProvider, "remove_external_network_group");
35         this.subnetmapAddMeter = meter(metricProvider, "subnetmap_add");
36         this.subnetmapRemoveMeter = meter(metricProvider, "subnetmap_remove");
37         this.subnetmapUpdateMeter = meter(metricProvider, "subnetmap_update");
38         this.garpSentMeter = meter(metricProvider, "garp_sent");
39         this.garpFailedIpv6Meter = meter(metricProvider, "garp_failed_ipv6");
40         this.garpFailedMissingInterfaceMeter = meter(metricProvider, "garp_failed_missing_interface");
41         this.garpFailedSendMeter = meter(metricProvider, "garp_failed_send");
42     }
43
44     private Meter meter(MetricProvider metricProvider, String id) {
45         return metricProvider.newMeter(
46                 MetricDescriptor.builder().anchor(this).project("netvirt").module("natservice").id(id).build());
47     }
48
49     public void installDefaultNatFlow() {
50         installDefaultNatFlowMeter.mark();
51     }
52
53     public void removeDefaultNatFlow() {
54         removeDefaultNatFlowMeter.mark();
55     }
56
57     public void removeExternalNetworkGroup() {
58         removeExternalNetworkGroupMeter.mark();
59     }
60
61     public void subnetmapAdd() {
62         subnetmapAddMeter.mark();
63     }
64
65     public void subnetmapRemove() {
66         subnetmapRemoveMeter.mark();
67     }
68
69     public void subnetmapUpdate() {
70         subnetmapUpdateMeter.mark();
71     }
72
73     public void garpSent() {
74         garpSentMeter.mark();
75     }
76
77     public void garpFailedIpv6() {
78         garpFailedIpv6Meter.mark();
79     }
80
81     public void garpFailedMissingInterface() {
82         garpFailedMissingInterfaceMeter.mark();
83     }
84
85     public void garpFailedSend() {
86         garpFailedSendMeter.mark();
87     }
88 }