blob: 56ca2c1c7224a6485bb8aedc7b56abc07d98b42e [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.apache.ambari.metrics.adservice.subsystem.pointintime
import java.util.Date
import org.apache.ambari.metrics.adservice.common.Season
import org.apache.ambari.metrics.adservice.metadata.MetricKey
import org.apache.ambari.metrics.adservice.model.AnomalyDetectionMethod.AnomalyDetectionMethod
import org.apache.ambari.metrics.adservice.model.AnomalyType.AnomalyType
import org.apache.ambari.metrics.adservice.model.{AnomalyType, MetricAnomalyInstance}
class PointInTimeAnomalyInstance(val metricKey: MetricKey,
val timestamp: Long,
val metricValue: Double,
val methodType: AnomalyDetectionMethod,
val anomalyScore: Double,
val anomalousSeason: Season,
val modelParameters: String) extends MetricAnomalyInstance {
override val anomalyType: AnomalyType = AnomalyType.POINT_IN_TIME
private def anomalyToString : String = {
"Method=" + methodType + ", AnomalyScore=" + anomalyScore + ", Season=" + anomalousSeason.toString +
", Model Parameters=" + modelParameters
}
@Override
override def toString: String = {
"Metric : [" + metricKey.toString + ", Metric Value=" + metricValue + " @ Time = " + new Date(timestamp) + "], Anomaly : [" + anomalyToString + "]"
}
}