From b731e2f1dd0972409b136aebc7b463dd72c9cfad Mon Sep 17 00:00:00 2001 From: CNlucius Date: Tue, 13 Sep 2016 11:40:12 +0800 Subject: ONOSFW-171 O/S-SFC-ONOS scenario documentation Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365 Signed-off-by: CNlucius --- .../main/java/org/onlab/metrics/EventMetric.java | 118 --------------------- 1 file changed, 118 deletions(-) delete mode 100644 framework/src/onos/utils/misc/src/main/java/org/onlab/metrics/EventMetric.java (limited to 'framework/src/onos/utils/misc/src/main/java/org/onlab/metrics/EventMetric.java') diff --git a/framework/src/onos/utils/misc/src/main/java/org/onlab/metrics/EventMetric.java b/framework/src/onos/utils/misc/src/main/java/org/onlab/metrics/EventMetric.java deleted file mode 100644 index d20ca53f..00000000 --- a/framework/src/onos/utils/misc/src/main/java/org/onlab/metrics/EventMetric.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2014 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onlab.metrics; - -import com.codahale.metrics.Gauge; -import com.codahale.metrics.Meter; - -/** - * Metric measurements for events. - */ -public class EventMetric { - private static final String GAUGE_TIMESTAMP_NAME = "Timestamp.EpochMs"; - private static final String METER_RATE_NAME = "Rate"; - - private final MetricsService metricsService; - private final String componentName; - private final String featureName; - - private MetricsComponent metricsComponent; - private MetricsFeature metricsFeature; - - private volatile long lastEventTimestampEpochMs = 0; - private Gauge lastEventTimestampGauge; - private Meter eventRateMeter; - - /** - * Constructor. - * - * @param metricsService the Metrics Service to use for Metrics - * registration and deregistration - * @param componentName the Metrics Component Name to use for Metrics - * registration and deregistration - * @param featureName the Metrics Feature Name to use for Metrics - * registration and deregistration - */ - public EventMetric(MetricsService metricsService, String componentName, - String featureName) { - this.metricsService = metricsService; - this.componentName = componentName; - this.featureName = featureName; - } - - /** - * Registers the metrics. - */ - public void registerMetrics() { - metricsComponent = metricsService.registerComponent(componentName); - metricsFeature = metricsComponent.registerFeature(featureName); - - lastEventTimestampEpochMs = 0; - lastEventTimestampGauge = - metricsService.registerMetric(metricsComponent, - metricsFeature, - GAUGE_TIMESTAMP_NAME, - new Gauge() { - @Override - public Long getValue() { - return lastEventTimestampEpochMs; - } - }); - - eventRateMeter = metricsService.createMeter(metricsComponent, - metricsFeature, - METER_RATE_NAME); - } - - /** - * Removes the metrics. - */ - public void removeMetrics() { - lastEventTimestampEpochMs = 0; - metricsService.removeMetric(metricsComponent, - metricsFeature, - GAUGE_TIMESTAMP_NAME); - metricsService.removeMetric(metricsComponent, - metricsFeature, - METER_RATE_NAME); - } - - /** - * Updates the metric measurements for a single event. - */ - public void eventReceived() { - lastEventTimestampEpochMs = System.currentTimeMillis(); - eventRateMeter.mark(1); - } - - /** - * Gets the last event timestamp Gauge (ms from the Epoch). - * - * @return the last event timestamp Gauge (ms from the Epoch) - */ - public Gauge lastEventTimestampGauge() { - return lastEventTimestampGauge; - } - - /** - * Gets the event rate meter. - * - * @return the event rate meter - */ - public Meter eventRateMeter() { - return eventRateMeter; - } -} -- cgit 1.2.3-korg