Change to use Storm 1.0.0 instead of 0.9.x
Storm classes changed from starting with backtype to org.apache Since this is a major backwards incompatible change, increment the jar version Copy some Stream classes from monasca-common. They were only used for monasca-thresh anyways and having them in a separate repo made it harder to make this change. A later review will remove these classes from monasca-common Need to have an explicit dependency on commons-codec Change-Id: I36db83ce7fdea02ae4df267cf0820e49dcdf3001
This commit is contained in:
parent
080b11dc54
commit
0e72d867ec
@ -5,7 +5,7 @@
|
||||
|
||||
<groupId>monasca</groupId>
|
||||
<artifactId>monasca-thresh</artifactId>
|
||||
<version>1.1.0-SNAPSHOT</version>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<url>http://github.com/openstack/monasca-thresh</url>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<computedVersion>${project.version}-${timestamp}-${gitRevision}</computedVersion>
|
||||
<computedName>${project.artifactId}-${computedVersion}</computedName>
|
||||
<mon.common.version>1.1.0-SNAPSHOT</mon.common.version>
|
||||
<storm.version>0.9.5</storm.version>
|
||||
<storm.version>1.0.0</storm.version>
|
||||
<postgresql.version>9.1-901.jdbc4</postgresql.version>
|
||||
<hikaricp.version>2.3.9</hikaricp.version>
|
||||
<reflections.version>0.9.9-RC1</reflections.version>
|
||||
@ -113,11 +113,6 @@
|
||||
<artifactId>monasca-common-persistence</artifactId>
|
||||
<version>${mon.common.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>monasca-common</groupId>
|
||||
<artifactId>monasca-common-streaming</artifactId>
|
||||
<version>${mon.common.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>monasca-common</groupId>
|
||||
<artifactId>monasca-common-hibernate</artifactId>
|
||||
@ -187,11 +182,9 @@
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>monasca-common</groupId>
|
||||
<artifactId>monasca-common-streaming</artifactId>
|
||||
<version>${mon.common.version}</version>
|
||||
<type>test-jar</type>
|
||||
<scope>test</scope>
|
||||
<groupId>commons-codec</groupId>
|
||||
<artifactId>commons-codec</artifactId>
|
||||
<version>1.4</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -17,17 +17,13 @@
|
||||
|
||||
package monasca.thresh;
|
||||
|
||||
import ch.qos.logback.classic.LoggerContext;
|
||||
import ch.qos.logback.core.util.StatusPrinter;
|
||||
|
||||
import monasca.common.util.Injector;
|
||||
import monasca.common.util.config.ConfigurationFactory;
|
||||
|
||||
import backtype.storm.Config;
|
||||
import backtype.storm.LocalCluster;
|
||||
import backtype.storm.StormSubmitter;
|
||||
import backtype.storm.generated.StormTopology;
|
||||
|
||||
import org.apache.storm.Config;
|
||||
import org.apache.storm.LocalCluster;
|
||||
import org.apache.storm.StormSubmitter;
|
||||
import org.apache.storm.generated.StormTopology;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -70,8 +66,6 @@ public class ThresholdingEngine {
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
// Let's show the logging status.
|
||||
StatusPrinter.print((LoggerContext) LoggerFactory.getILoggerFactory());
|
||||
showVersion();
|
||||
|
||||
if (args.length < 2) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2015-2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -29,15 +29,15 @@ import monasca.thresh.utils.StatsdMetricConsumer;
|
||||
|
||||
import monasca.common.util.Injector;
|
||||
|
||||
import backtype.storm.Config;
|
||||
import backtype.storm.generated.StormTopology;
|
||||
import backtype.storm.topology.IRichSpout;
|
||||
import backtype.storm.topology.TopologyBuilder;
|
||||
import backtype.storm.tuple.Fields;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
import com.google.inject.Provides;
|
||||
|
||||
import org.apache.storm.Config;
|
||||
import org.apache.storm.generated.StormTopology;
|
||||
import org.apache.storm.topology.IRichSpout;
|
||||
import org.apache.storm.topology.TopologyBuilder;
|
||||
import org.apache.storm.tuple.Fields;
|
||||
|
||||
import javax.inject.Named;
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014-2016 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014-2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -17,20 +17,12 @@
|
||||
|
||||
package monasca.thresh.infrastructure.thresholding;
|
||||
|
||||
import backtype.storm.task.OutputCollector;
|
||||
import backtype.storm.task.TopologyContext;
|
||||
import backtype.storm.topology.OutputFieldsDeclarer;
|
||||
import backtype.storm.topology.base.BaseRichBolt;
|
||||
import backtype.storm.tuple.Fields;
|
||||
import backtype.storm.tuple.Tuple;
|
||||
import backtype.storm.tuple.Values;
|
||||
|
||||
import monasca.common.model.alarm.AlarmState;
|
||||
import monasca.common.model.alarm.AlarmSubExpression;
|
||||
import monasca.common.model.event.AlarmDefinitionDeletedEvent;
|
||||
import monasca.common.model.event.AlarmDefinitionUpdatedEvent;
|
||||
import monasca.common.model.event.AlarmDeletedEvent;
|
||||
import monasca.common.model.metric.MetricDefinition;
|
||||
import monasca.common.streaming.storm.Logging;
|
||||
import monasca.common.util.Injector;
|
||||
import monasca.thresh.domain.model.Alarm;
|
||||
import monasca.thresh.domain.model.AlarmDefinition;
|
||||
@ -41,7 +33,15 @@ import monasca.thresh.domain.model.TenantIdAndMetricName;
|
||||
import monasca.thresh.domain.service.AlarmDAO;
|
||||
import monasca.thresh.domain.service.AlarmDefinitionDAO;
|
||||
import monasca.thresh.infrastructure.persistence.PersistenceModule;
|
||||
import monasca.thresh.utils.Logging;
|
||||
|
||||
import org.apache.storm.task.OutputCollector;
|
||||
import org.apache.storm.task.TopologyContext;
|
||||
import org.apache.storm.topology.OutputFieldsDeclarer;
|
||||
import org.apache.storm.topology.base.BaseRichBolt;
|
||||
import org.apache.storm.tuple.Fields;
|
||||
import org.apache.storm.tuple.Tuple;
|
||||
import org.apache.storm.tuple.Values;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014,2016 Hewlett Packard Enterprise Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -24,17 +24,8 @@ import monasca.common.model.event.AlarmUpdatedEvent;
|
||||
import monasca.common.model.alarm.AlarmState;
|
||||
import monasca.common.model.alarm.AlarmSubExpression;
|
||||
import monasca.common.model.metric.MetricDefinition;
|
||||
import monasca.common.streaming.storm.Logging;
|
||||
import monasca.common.streaming.storm.Streams;
|
||||
import monasca.common.util.Injector;
|
||||
import monasca.common.util.Serialization;
|
||||
|
||||
import backtype.storm.task.OutputCollector;
|
||||
import backtype.storm.task.TopologyContext;
|
||||
import backtype.storm.topology.OutputFieldsDeclarer;
|
||||
import backtype.storm.topology.base.BaseRichBolt;
|
||||
import backtype.storm.tuple.Tuple;
|
||||
|
||||
import monasca.thresh.domain.model.Alarm;
|
||||
import monasca.thresh.domain.model.AlarmDefinition;
|
||||
import monasca.thresh.domain.model.MetricDefinitionAndTenantId;
|
||||
@ -43,7 +34,14 @@ import monasca.thresh.domain.model.SubExpression;
|
||||
import monasca.thresh.domain.service.AlarmDAO;
|
||||
import monasca.thresh.domain.service.AlarmDefinitionDAO;
|
||||
import monasca.thresh.infrastructure.persistence.PersistenceModule;
|
||||
import monasca.thresh.utils.Logging;
|
||||
import monasca.thresh.utils.Streams;
|
||||
|
||||
import org.apache.storm.task.OutputCollector;
|
||||
import org.apache.storm.task.TopologyContext;
|
||||
import org.apache.storm.topology.OutputFieldsDeclarer;
|
||||
import org.apache.storm.topology.base.BaseRichBolt;
|
||||
import org.apache.storm.tuple.Tuple;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -24,22 +24,21 @@ import monasca.common.model.event.AlarmDeletedEvent;
|
||||
import monasca.common.model.event.AlarmUpdatedEvent;
|
||||
import monasca.common.model.alarm.AlarmSubExpression;
|
||||
import monasca.common.model.metric.MetricDefinition;
|
||||
import monasca.common.util.Injector;
|
||||
import monasca.thresh.domain.model.MetricDefinitionAndTenantId;
|
||||
import monasca.thresh.domain.model.SubExpression;
|
||||
import monasca.thresh.domain.model.TenantIdAndMetricName;
|
||||
import monasca.thresh.domain.service.AlarmDAO;
|
||||
import monasca.thresh.infrastructure.persistence.PersistenceModule;
|
||||
import monasca.common.streaming.storm.Logging;
|
||||
import monasca.common.util.Injector;
|
||||
|
||||
import backtype.storm.task.OutputCollector;
|
||||
import backtype.storm.task.TopologyContext;
|
||||
import backtype.storm.topology.OutputFieldsDeclarer;
|
||||
import backtype.storm.topology.base.BaseRichBolt;
|
||||
import backtype.storm.tuple.Fields;
|
||||
import backtype.storm.tuple.Tuple;
|
||||
import backtype.storm.tuple.Values;
|
||||
import monasca.thresh.utils.Logging;
|
||||
|
||||
import org.apache.storm.task.OutputCollector;
|
||||
import org.apache.storm.task.TopologyContext;
|
||||
import org.apache.storm.topology.OutputFieldsDeclarer;
|
||||
import org.apache.storm.topology.base.BaseRichBolt;
|
||||
import org.apache.storm.tuple.Fields;
|
||||
import org.apache.storm.tuple.Tuple;
|
||||
import org.apache.storm.tuple.Values;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -20,10 +20,9 @@ package monasca.thresh.infrastructure.thresholding;
|
||||
import monasca.thresh.EventSpoutConfig;
|
||||
import monasca.thresh.infrastructure.thresholding.deserializer.EventDeserializer;
|
||||
|
||||
import backtype.storm.spout.SpoutOutputCollector;
|
||||
import backtype.storm.topology.OutputFieldsDeclarer;
|
||||
import backtype.storm.tuple.Values;
|
||||
|
||||
import org.apache.storm.spout.SpoutOutputCollector;
|
||||
import org.apache.storm.topology.OutputFieldsDeclarer;
|
||||
import org.apache.storm.tuple.Values;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -20,16 +20,15 @@ package monasca.thresh.infrastructure.thresholding;
|
||||
import monasca.common.configuration.KafkaConsumerProperties;
|
||||
import monasca.thresh.KafkaSpoutConfig;
|
||||
|
||||
import backtype.storm.spout.SpoutOutputCollector;
|
||||
import backtype.storm.task.TopologyContext;
|
||||
import backtype.storm.topology.base.BaseRichSpout;
|
||||
|
||||
import kafka.consumer.Consumer;
|
||||
import kafka.consumer.ConsumerConfig;
|
||||
import kafka.consumer.ConsumerIterator;
|
||||
import kafka.consumer.KafkaStream;
|
||||
import kafka.javaapi.consumer.ConsumerConnector;
|
||||
|
||||
import org.apache.storm.spout.SpoutOutputCollector;
|
||||
import org.apache.storm.task.TopologyContext;
|
||||
import org.apache.storm.topology.base.BaseRichSpout;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
* Copyright 2016 FUJITSU LIMITED
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@ -18,19 +18,7 @@
|
||||
|
||||
package monasca.thresh.infrastructure.thresholding;
|
||||
|
||||
import backtype.storm.Config;
|
||||
import backtype.storm.task.OutputCollector;
|
||||
import backtype.storm.task.TopologyContext;
|
||||
import backtype.storm.topology.OutputFieldsDeclarer;
|
||||
import backtype.storm.topology.base.BaseRichBolt;
|
||||
import backtype.storm.tuple.Fields;
|
||||
import backtype.storm.tuple.Tuple;
|
||||
import backtype.storm.tuple.Values;
|
||||
|
||||
import monasca.common.model.metric.Metric;
|
||||
import monasca.common.streaming.storm.Logging;
|
||||
import monasca.common.streaming.storm.Streams;
|
||||
import monasca.common.streaming.storm.Tuples;
|
||||
import monasca.thresh.ThresholdingConfiguration;
|
||||
import monasca.thresh.domain.model.MetricDefinitionAndTenantId;
|
||||
import monasca.thresh.domain.model.SubAlarm;
|
||||
@ -38,7 +26,18 @@ import monasca.thresh.domain.model.SubAlarmStats;
|
||||
import monasca.thresh.domain.model.SubExpression;
|
||||
import monasca.thresh.domain.model.TenantIdAndMetricName;
|
||||
import monasca.thresh.domain.service.SubAlarmStatsRepository;
|
||||
import monasca.thresh.utils.Logging;
|
||||
import monasca.thresh.utils.Streams;
|
||||
import monasca.thresh.utils.Tuples;
|
||||
|
||||
import org.apache.storm.Config;
|
||||
import org.apache.storm.task.OutputCollector;
|
||||
import org.apache.storm.task.TopologyContext;
|
||||
import org.apache.storm.topology.OutputFieldsDeclarer;
|
||||
import org.apache.storm.topology.base.BaseRichBolt;
|
||||
import org.apache.storm.tuple.Fields;
|
||||
import org.apache.storm.tuple.Tuple;
|
||||
import org.apache.storm.tuple.Values;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -22,18 +22,7 @@ import monasca.common.model.event.AlarmDefinitionDeletedEvent;
|
||||
import monasca.common.model.alarm.AlarmExpression;
|
||||
import monasca.common.model.alarm.AlarmSubExpression;
|
||||
import monasca.common.model.metric.Metric;
|
||||
import monasca.common.streaming.storm.Logging;
|
||||
import monasca.common.streaming.storm.Streams;
|
||||
import monasca.common.util.Injector;
|
||||
|
||||
import backtype.storm.task.OutputCollector;
|
||||
import backtype.storm.task.TopologyContext;
|
||||
import backtype.storm.topology.OutputFieldsDeclarer;
|
||||
import backtype.storm.topology.base.BaseRichBolt;
|
||||
import backtype.storm.tuple.Fields;
|
||||
import backtype.storm.tuple.Tuple;
|
||||
import backtype.storm.tuple.Values;
|
||||
|
||||
import monasca.thresh.domain.model.Alarm;
|
||||
import monasca.thresh.domain.model.AlarmDefinition;
|
||||
import monasca.thresh.domain.model.MetricDefinitionAndTenantId;
|
||||
@ -44,7 +33,16 @@ import monasca.thresh.domain.model.TenantIdAndMetricName;
|
||||
import monasca.thresh.domain.service.AlarmDAO;
|
||||
import monasca.thresh.domain.service.AlarmDefinitionDAO;
|
||||
import monasca.thresh.infrastructure.persistence.PersistenceModule;
|
||||
import monasca.thresh.utils.Logging;
|
||||
import monasca.thresh.utils.Streams;
|
||||
|
||||
import org.apache.storm.task.OutputCollector;
|
||||
import org.apache.storm.task.TopologyContext;
|
||||
import org.apache.storm.topology.OutputFieldsDeclarer;
|
||||
import org.apache.storm.topology.base.BaseRichBolt;
|
||||
import org.apache.storm.tuple.Fields;
|
||||
import org.apache.storm.tuple.Tuple;
|
||||
import org.apache.storm.tuple.Values;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -20,15 +20,13 @@ package monasca.thresh.infrastructure.thresholding;
|
||||
import monasca.common.model.metric.Metric;
|
||||
import monasca.common.model.metric.MetricEnvelope;
|
||||
import monasca.common.model.metric.MetricEnvelopes;
|
||||
|
||||
import backtype.storm.spout.SpoutOutputCollector;
|
||||
import backtype.storm.topology.OutputFieldsDeclarer;
|
||||
import backtype.storm.tuple.Fields;
|
||||
import backtype.storm.tuple.Values;
|
||||
|
||||
import monasca.thresh.MetricSpoutConfig;
|
||||
import monasca.thresh.domain.model.TenantIdAndMetricName;
|
||||
|
||||
import org.apache.storm.spout.SpoutOutputCollector;
|
||||
import org.apache.storm.topology.OutputFieldsDeclarer;
|
||||
import org.apache.storm.tuple.Fields;
|
||||
import org.apache.storm.tuple.Values;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -22,16 +22,14 @@ import monasca.common.model.event.AlarmDefinitionDeletedEvent;
|
||||
import monasca.common.model.event.AlarmDefinitionUpdatedEvent;
|
||||
import monasca.common.model.event.AlarmDeletedEvent;
|
||||
import monasca.common.model.event.AlarmUpdatedEvent;
|
||||
import monasca.common.streaming.storm.TupleDeserializer;
|
||||
import monasca.common.util.Serialization;
|
||||
import monasca.thresh.utils.TupleDeserializer;
|
||||
|
||||
import backtype.storm.tuple.Fields;
|
||||
|
||||
import org.apache.storm.tuple.Fields;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
|
32
thresh/src/main/java/monasca/thresh/utils/Logging.java
Normal file
32
thresh/src/main/java/monasca/thresh/utils/Logging.java
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* (C) Copyright 2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* 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 monasca.thresh.utils;
|
||||
|
||||
import org.apache.storm.task.TopologyContext;
|
||||
|
||||
|
||||
/**
|
||||
* Storm related logging utilities.
|
||||
*/
|
||||
public final class Logging {
|
||||
private Logging() {
|
||||
}
|
||||
|
||||
public static String categoryFor(Class<?> type, TopologyContext ctx) {
|
||||
return String.format("%s-%s", type.getName(), ctx.getThisTaskId());
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2015-2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -29,15 +29,13 @@ import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import monasca.common.streaming.storm.Logging;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import backtype.storm.Config;
|
||||
import backtype.storm.metric.api.IMetricsConsumer;
|
||||
import backtype.storm.task.IErrorReporter;
|
||||
import backtype.storm.task.TopologyContext;
|
||||
import org.apache.storm.Config;
|
||||
import org.apache.storm.metric.api.IMetricsConsumer;
|
||||
import org.apache.storm.task.IErrorReporter;
|
||||
import org.apache.storm.task.TopologyContext;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonGenerationException;
|
||||
import com.fasterxml.jackson.core.JsonParseException;
|
||||
|
27
thresh/src/main/java/monasca/thresh/utils/Streams.java
Normal file
27
thresh/src/main/java/monasca/thresh/utils/Streams.java
Normal file
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* (C) Copyright 2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* 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 monasca.thresh.utils;
|
||||
|
||||
/**
|
||||
* Utilities for working with streams.
|
||||
*/
|
||||
public final class Streams {
|
||||
public static final String DEFAULT_STREAM_ID = "default";
|
||||
|
||||
private Streams() {
|
||||
}
|
||||
}
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* (C) Copyright 2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* 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 monasca.thresh.utils;
|
||||
|
||||
import org.apache.storm.tuple.Fields;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Deserializes tuples. Similar to a Scheme, but allows for multiple records per
|
||||
* {@link #deserialize(byte[])} call.
|
||||
*/
|
||||
public interface TupleDeserializer {
|
||||
/**
|
||||
* Returns a list of deserialized tuples, consisting of a list of tuples each with a list of
|
||||
* fields, for the {@code tuple}, else null if the {@code tuple} cannot be deserialized.
|
||||
*/
|
||||
List<List<?>> deserialize(byte[] tuple);
|
||||
|
||||
/**
|
||||
* Returns the output fields.
|
||||
*/
|
||||
Fields getOutputFields();
|
||||
}
|
33
thresh/src/main/java/monasca/thresh/utils/Tuples.java
Normal file
33
thresh/src/main/java/monasca/thresh/utils/Tuples.java
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* (C) Copyright 2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* 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 monasca.thresh.utils;
|
||||
|
||||
import org.apache.storm.Constants;
|
||||
import org.apache.storm.tuple.Tuple;
|
||||
|
||||
/**
|
||||
* Utilities for working with Tuples.
|
||||
*/
|
||||
public final class Tuples {
|
||||
private Tuples() {
|
||||
}
|
||||
|
||||
public static boolean isTickTuple(Tuple tuple) {
|
||||
return tuple.getSourceComponent().equals(Constants.SYSTEM_COMPONENT_ID)
|
||||
&& tuple.getSourceStreamId().equals(Constants.SYSTEM_TICK_STREAM_ID);
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -25,6 +25,7 @@ import static org.testng.Assert.assertEquals;
|
||||
import static org.testng.Assert.assertNotEquals;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
import static org.testng.Assert.fail;
|
||||
|
||||
import monasca.common.configuration.KafkaProducerConfiguration;
|
||||
import monasca.common.model.event.AlarmDefinitionCreatedEvent;
|
||||
import monasca.common.model.event.AlarmDefinitionDeletedEvent;
|
||||
@ -37,17 +38,8 @@ import monasca.common.model.alarm.AlarmState;
|
||||
import monasca.common.model.alarm.AlarmSubExpression;
|
||||
import monasca.common.model.metric.Metric;
|
||||
import monasca.common.model.metric.MetricDefinition;
|
||||
import monasca.common.streaming.storm.TopologyTestCase;
|
||||
import monasca.common.util.Injector;
|
||||
import monasca.common.util.Serialization;
|
||||
|
||||
import backtype.storm.Config;
|
||||
import backtype.storm.testing.FeederSpout;
|
||||
import backtype.storm.tuple.Fields;
|
||||
import backtype.storm.tuple.Values;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
|
||||
import monasca.thresh.domain.model.Alarm;
|
||||
import monasca.thresh.domain.model.AlarmDefinition;
|
||||
import monasca.thresh.domain.model.MetricDefinitionAndTenantId;
|
||||
@ -63,6 +55,12 @@ import monasca.thresh.infrastructure.thresholding.MetricFilteringBoltTest;
|
||||
import monasca.thresh.infrastructure.thresholding.MetricSpout;
|
||||
import monasca.thresh.infrastructure.thresholding.ProducerModule;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
|
||||
import org.apache.storm.Config;
|
||||
import org.apache.storm.testing.FeederSpout;
|
||||
import org.apache.storm.tuple.Fields;
|
||||
import org.apache.storm.tuple.Values;
|
||||
import org.mockito.invocation.InvocationOnMock;
|
||||
import org.mockito.stubbing.Answer;
|
||||
import org.testng.annotations.AfterMethod;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -26,11 +26,6 @@ import static org.testng.Assert.assertEquals;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
import static org.testng.Assert.fail;
|
||||
|
||||
import backtype.storm.Config;
|
||||
import backtype.storm.testing.FeederSpout;
|
||||
import backtype.storm.tuple.Fields;
|
||||
import backtype.storm.tuple.Values;
|
||||
import com.google.inject.AbstractModule;
|
||||
import monasca.common.configuration.KafkaProducerConfiguration;
|
||||
import monasca.common.model.alarm.AlarmExpression;
|
||||
import monasca.common.model.alarm.AlarmState;
|
||||
@ -39,7 +34,6 @@ import monasca.common.model.event.AlarmDefinitionCreatedEvent;
|
||||
import monasca.common.model.event.AlarmStateTransitionedEvent;
|
||||
import monasca.common.model.metric.Metric;
|
||||
import monasca.common.model.metric.MetricDefinition;
|
||||
import monasca.common.streaming.storm.TopologyTestCase;
|
||||
import monasca.common.util.Injector;
|
||||
import monasca.common.util.Serialization;
|
||||
import monasca.thresh.domain.model.Alarm;
|
||||
@ -52,6 +46,13 @@ import monasca.thresh.infrastructure.thresholding.AlarmEventForwarder;
|
||||
import monasca.thresh.infrastructure.thresholding.MetricFilteringBolt;
|
||||
import monasca.thresh.infrastructure.thresholding.MetricSpout;
|
||||
import monasca.thresh.infrastructure.thresholding.ProducerModule;
|
||||
|
||||
import com.google.inject.AbstractModule;
|
||||
|
||||
import org.apache.storm.Config;
|
||||
import org.apache.storm.testing.FeederSpout;
|
||||
import org.apache.storm.tuple.Fields;
|
||||
import org.apache.storm.tuple.Values;
|
||||
import org.mockito.invocation.InvocationOnMock;
|
||||
import org.mockito.stubbing.Answer;
|
||||
import org.testng.annotations.AfterMethod;
|
||||
@ -180,7 +181,6 @@ public class ThresholdingEngineTest extends TopologyTestCase {
|
||||
public void afterMethod() throws Exception {
|
||||
System.out.println("Stopping topology");
|
||||
stopTopology();
|
||||
cluster = null;
|
||||
}
|
||||
|
||||
public void testWithInitialAlarmDefinition_NonDeterministic() throws Exception {
|
||||
|
54
thresh/src/test/java/monasca/thresh/TopologyTestCase.java
Normal file
54
thresh/src/test/java/monasca/thresh/TopologyTestCase.java
Normal file
@ -0,0 +1,54 @@
|
||||
/*
|
||||
* (C) Copyright 2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* 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 monasca.thresh;
|
||||
|
||||
import monasca.common.util.Injector;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
|
||||
import org.apache.storm.Config;
|
||||
import org.apache.storm.LocalCluster;
|
||||
import org.apache.storm.generated.StormTopology;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test(groups = "integration")
|
||||
public class TopologyTestCase {
|
||||
public static final String TEST_TOPOLOGY_NAME = "test-maas-alarming";
|
||||
protected static volatile LocalCluster cluster;
|
||||
|
||||
protected void startTopology() throws Exception {
|
||||
if (cluster == null) {
|
||||
synchronized (TopologyTestCase.class) {
|
||||
if (cluster == null) {
|
||||
Preconditions.checkArgument(Injector.isBound(Config.class),
|
||||
"You must bind a storm config");
|
||||
Preconditions.checkArgument(Injector.isBound(StormTopology.class),
|
||||
"You must bind a storm topology");
|
||||
|
||||
cluster = new LocalCluster();
|
||||
cluster.submitTopology(TEST_TOPOLOGY_NAME, Injector.getInstance(Config.class),
|
||||
Injector.getInstance(StormTopology.class));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected static void stopTopology() {
|
||||
if (cluster != null) {
|
||||
cluster.killTopology(TEST_TOPOLOGY_NAME);
|
||||
cluster.shutdown();
|
||||
cluster = null;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
* Copyright 2016 FUJITSU LIMITED
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@ -30,13 +30,6 @@ import static org.testng.Assert.assertNotNull;
|
||||
import static org.testng.Assert.assertNull;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
|
||||
import backtype.storm.Testing;
|
||||
import backtype.storm.task.OutputCollector;
|
||||
import backtype.storm.task.TopologyContext;
|
||||
import backtype.storm.testing.MkTupleParam;
|
||||
import backtype.storm.tuple.Tuple;
|
||||
import backtype.storm.tuple.Values;
|
||||
|
||||
import monasca.common.model.alarm.AlarmExpression;
|
||||
import monasca.common.model.alarm.AlarmState;
|
||||
import monasca.common.model.alarm.AlarmSubExpression;
|
||||
@ -52,6 +45,12 @@ import monasca.thresh.domain.model.TenantIdAndMetricName;
|
||||
import monasca.thresh.domain.service.AlarmDAO;
|
||||
import monasca.thresh.domain.service.AlarmDefinitionDAO;
|
||||
|
||||
import org.apache.storm.Testing;
|
||||
import org.apache.storm.task.OutputCollector;
|
||||
import org.apache.storm.task.TopologyContext;
|
||||
import org.apache.storm.testing.MkTupleParam;
|
||||
import org.apache.storm.tuple.Tuple;
|
||||
import org.apache.storm.tuple.Values;
|
||||
import org.mockito.invocation.InvocationOnMock;
|
||||
import org.mockito.stubbing.Answer;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014,2016 Hewlett Packard Enterprise Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -30,7 +30,6 @@ import monasca.common.model.alarm.AggregateFunction;
|
||||
import monasca.common.model.alarm.AlarmExpression;
|
||||
import monasca.common.model.alarm.AlarmState;
|
||||
import monasca.common.model.alarm.AlarmSubExpression;
|
||||
import monasca.common.streaming.storm.Streams;
|
||||
import monasca.common.util.Serialization;
|
||||
import monasca.thresh.domain.model.Alarm;
|
||||
import monasca.thresh.domain.model.AlarmDefinition;
|
||||
@ -38,13 +37,13 @@ import monasca.thresh.domain.model.SubAlarm;
|
||||
import monasca.thresh.domain.model.SubExpression;
|
||||
import monasca.thresh.domain.service.AlarmDAO;
|
||||
import monasca.thresh.domain.service.AlarmDefinitionDAO;
|
||||
import monasca.thresh.utils.Streams;
|
||||
|
||||
import backtype.storm.Testing;
|
||||
import backtype.storm.task.OutputCollector;
|
||||
import backtype.storm.task.TopologyContext;
|
||||
import backtype.storm.testing.MkTupleParam;
|
||||
import backtype.storm.tuple.Tuple;
|
||||
|
||||
import org.apache.storm.Testing;
|
||||
import org.apache.storm.task.OutputCollector;
|
||||
import org.apache.storm.task.TopologyContext;
|
||||
import org.apache.storm.testing.MkTupleParam;
|
||||
import org.apache.storm.tuple.Tuple;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014,2016 Hewlett Packard Enterprise Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -31,19 +31,6 @@ import monasca.common.model.alarm.AlarmExpression;
|
||||
import monasca.common.model.alarm.AlarmState;
|
||||
import monasca.common.model.alarm.AlarmSubExpression;
|
||||
import monasca.common.model.metric.MetricDefinition;
|
||||
import monasca.common.streaming.storm.Streams;
|
||||
|
||||
import backtype.storm.Testing;
|
||||
import backtype.storm.task.OutputCollector;
|
||||
import backtype.storm.task.TopologyContext;
|
||||
import backtype.storm.testing.MkTupleParam;
|
||||
import backtype.storm.tuple.Tuple;
|
||||
import backtype.storm.tuple.Values;
|
||||
|
||||
import com.google.common.collect.BiMap;
|
||||
import com.google.common.collect.HashBiMap;
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
import monasca.thresh.domain.model.Alarm;
|
||||
import monasca.thresh.domain.model.AlarmDefinition;
|
||||
import monasca.thresh.domain.model.MetricDefinitionAndTenantId;
|
||||
@ -51,7 +38,18 @@ import monasca.thresh.domain.model.SubAlarm;
|
||||
import monasca.thresh.domain.model.SubExpression;
|
||||
import monasca.thresh.domain.model.TenantIdAndMetricName;
|
||||
import monasca.thresh.domain.service.AlarmDAO;
|
||||
import monasca.thresh.utils.Streams;
|
||||
|
||||
import com.google.common.collect.BiMap;
|
||||
import com.google.common.collect.HashBiMap;
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
import org.apache.storm.Testing;
|
||||
import org.apache.storm.task.OutputCollector;
|
||||
import org.apache.storm.task.TopologyContext;
|
||||
import org.apache.storm.testing.MkTupleParam;
|
||||
import org.apache.storm.tuple.Tuple;
|
||||
import org.apache.storm.tuple.Values;
|
||||
import org.mockito.verification.VerificationMode;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.Test;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
* Copyright 2016 FUJITSU LIMITED
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@ -28,22 +28,13 @@ import static org.testng.Assert.assertFalse;
|
||||
import static org.testng.Assert.assertNotNull;
|
||||
import static org.testng.Assert.assertNull;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
|
||||
import monasca.common.model.alarm.AlarmOperator;
|
||||
import monasca.common.model.alarm.AlarmState;
|
||||
|
||||
import monasca.common.model.alarm.AlarmSubExpression;
|
||||
import monasca.common.model.metric.Metric;
|
||||
import monasca.common.model.metric.MetricDefinition;
|
||||
import monasca.common.streaming.storm.Streams;
|
||||
|
||||
import backtype.storm.Constants;
|
||||
import backtype.storm.Testing;
|
||||
import backtype.storm.task.OutputCollector;
|
||||
import backtype.storm.task.TopologyContext;
|
||||
import backtype.storm.testing.MkTupleParam;
|
||||
import backtype.storm.tuple.Tuple;
|
||||
import backtype.storm.tuple.Values;
|
||||
|
||||
import monasca.thresh.ThresholdingConfiguration;
|
||||
import monasca.thresh.domain.model.MetricDefinitionAndTenantId;
|
||||
import monasca.thresh.domain.model.SubAlarm;
|
||||
@ -51,7 +42,15 @@ import monasca.thresh.domain.model.SubAlarmStats;
|
||||
import monasca.thresh.domain.model.SubExpression;
|
||||
import monasca.thresh.domain.model.TenantIdAndMetricName;
|
||||
import monasca.thresh.domain.service.SubAlarmStatsRepository;
|
||||
import monasca.thresh.utils.Streams;
|
||||
|
||||
import org.apache.storm.Constants;
|
||||
import org.apache.storm.Testing;
|
||||
import org.apache.storm.task.OutputCollector;
|
||||
import org.apache.storm.task.TopologyContext;
|
||||
import org.apache.storm.testing.MkTupleParam;
|
||||
import org.apache.storm.tuple.Tuple;
|
||||
import org.apache.storm.tuple.Values;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.Test;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
* (C) Copyright 2014,2016 Hewlett Packard Enterprise Development Company LP.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@ -23,6 +23,7 @@ import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.testng.Assert.assertEquals;
|
||||
|
||||
import monasca.common.model.event.AlarmDefinitionCreatedEvent;
|
||||
import monasca.common.model.event.AlarmDefinitionDeletedEvent;
|
||||
import monasca.common.model.alarm.AlarmExpression;
|
||||
@ -30,15 +31,6 @@ import monasca.common.model.alarm.AlarmState;
|
||||
import monasca.common.model.alarm.AlarmSubExpression;
|
||||
import monasca.common.model.metric.Metric;
|
||||
import monasca.common.model.metric.MetricDefinition;
|
||||
import monasca.common.streaming.storm.Streams;
|
||||
|
||||
import backtype.storm.Testing;
|
||||
import backtype.storm.task.OutputCollector;
|
||||
import backtype.storm.task.TopologyContext;
|
||||
import backtype.storm.testing.MkTupleParam;
|
||||
import backtype.storm.tuple.Tuple;
|
||||
import backtype.storm.tuple.Values;
|
||||
|
||||
import monasca.thresh.domain.model.Alarm;
|
||||
import monasca.thresh.domain.model.AlarmDefinition;
|
||||
import monasca.thresh.domain.model.MetricDefinitionAndTenantId;
|
||||
@ -47,7 +39,14 @@ import monasca.thresh.domain.model.SubExpression;
|
||||
import monasca.thresh.domain.model.TenantIdAndMetricName;
|
||||
import monasca.thresh.domain.service.AlarmDAO;
|
||||
import monasca.thresh.domain.service.AlarmDefinitionDAO;
|
||||
import monasca.thresh.utils.Streams;
|
||||
|
||||
import org.apache.storm.Testing;
|
||||
import org.apache.storm.task.OutputCollector;
|
||||
import org.apache.storm.task.TopologyContext;
|
||||
import org.apache.storm.testing.MkTupleParam;
|
||||
import org.apache.storm.tuple.Tuple;
|
||||
import org.apache.storm.tuple.Values;
|
||||
import org.mockito.verification.VerificationMode;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.Test;
|
||||
|
Loading…
x
Reference in New Issue
Block a user