Service reference metric alarm.
This commit is contained in:
parent
a17de070c1
commit
5cab1e2715
|
|
@ -25,4 +25,6 @@ public class AlarmGraphIdDefine {
|
|||
public static final int SERVICE_METRIC_ALARM_GRAPH_ID = 500;
|
||||
public static final int INSTANCE_METRIC_ALARM_GRAPH_ID = 501;
|
||||
public static final int APPLICATION_METRIC_ALARM_GRAPH_ID = 502;
|
||||
public static final int SERVICE_REFERENCE_METRIC_ALARM_GRAPH_ID = 503;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,4 +42,11 @@ public class AlarmWorkerIdDefine {
|
|||
public static final int APPLICATION_METRIC_ALARM_PERSISTENCE_WORKER_ID = 523;
|
||||
public static final int APPLICATION_METRIC_ALARM_LIST_PERSISTENCE_WORKER_ID = 524;
|
||||
public static final int APPLICATION_METRIC_ALARM_TO_LIST_NODE_PROCESSOR_ID = 525;
|
||||
|
||||
public static final int SERVICE_REFERENCE_METRIC_ALARM_ASSERT_WORKER_ID = 530;
|
||||
public static final int SERVICE_REFERENCE_METRIC_TRANSFORM_GRAPH_BRIDGE_WORKER_ID = 531;
|
||||
public static final int SERVICE_REFERENCE_METRIC_ALARM_REMOTE_WORKER_ID = 532;
|
||||
public static final int SERVICE_REFERENCE_METRIC_ALARM_PERSISTENCE_WORKER_ID = 533;
|
||||
public static final int SERVICE_REFERENCE_METRIC_ALARM_LIST_PERSISTENCE_WORKER_ID = 534;
|
||||
public static final int SERVICE_REFERENCE_METRIC_ALARM_TO_LIST_NODE_PROCESSOR_ID = 535;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import org.apache.skywalking.apm.collector.analysis.alarm.define.AnalysisAlarmMo
|
|||
import org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.application.ApplicationMetricAlarmGraph;
|
||||
import org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.instance.InstanceMetricAlarmGraph;
|
||||
import org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.service.ServiceMetricAlarmGraph;
|
||||
import org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.service.ServiceReferenceMetricAlarmGraph;
|
||||
import org.apache.skywalking.apm.collector.analysis.metric.define.AnalysisMetricModule;
|
||||
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
|
||||
import org.apache.skywalking.apm.collector.configuration.ConfigurationModule;
|
||||
|
|
@ -61,6 +62,8 @@ public class AnalysisAlarmModuleProvider extends ModuleProvider {
|
|||
ApplicationMetricAlarmGraph applicationMetricAlarmGraph = new ApplicationMetricAlarmGraph(getManager(), workerCreateListener);
|
||||
applicationMetricAlarmGraph.create();
|
||||
|
||||
ServiceReferenceMetricAlarmGraph serviceReferenceMetricAlarmGraph = new ServiceReferenceMetricAlarmGraph(getManager(), workerCreateListener);
|
||||
serviceReferenceMetricAlarmGraph.create();
|
||||
}
|
||||
|
||||
@Override public void notifyAfterCompleted() throws ServiceNotProvidedException {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,89 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.analysis.alarm.provider.worker.service;
|
||||
|
||||
import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
|
||||
import org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.AlarmAssertWorker;
|
||||
import org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.AlarmAssertWorkerProvider;
|
||||
import org.apache.skywalking.apm.collector.configuration.ConfigurationModule;
|
||||
import org.apache.skywalking.apm.collector.configuration.service.IServiceReferenceAlarmRuleConfig;
|
||||
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
|
||||
import org.apache.skywalking.apm.collector.core.util.Const;
|
||||
import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceReferenceAlarm;
|
||||
import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetric;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class ServiceReferenceMetricAlarmAssertWorker extends AlarmAssertWorker<ServiceReferenceMetric, ServiceReferenceAlarm> {
|
||||
|
||||
private final IServiceReferenceAlarmRuleConfig serviceReferenceAlarmRuleConfig;
|
||||
|
||||
public ServiceReferenceMetricAlarmAssertWorker(ModuleManager moduleManager) {
|
||||
super(moduleManager);
|
||||
this.serviceReferenceAlarmRuleConfig = moduleManager.find(ConfigurationModule.NAME).getService(IServiceReferenceAlarmRuleConfig.class);
|
||||
}
|
||||
|
||||
@Override public int id() {
|
||||
return AlarmWorkerIdDefine.SERVICE_REFERENCE_METRIC_ALARM_ASSERT_WORKER_ID;
|
||||
}
|
||||
|
||||
@Override protected ServiceReferenceAlarm newAlarmObject(String id, ServiceReferenceMetric inputMetric) {
|
||||
ServiceReferenceAlarm serviceReferenceAlarm = new ServiceReferenceAlarm(id + Const.ID_SPLIT + inputMetric.getFrontServiceId() + Const.ID_SPLIT + inputMetric.getBehindServiceId());
|
||||
serviceReferenceAlarm.setFrontApplicationId(inputMetric.getFrontApplicationId());
|
||||
serviceReferenceAlarm.setBehindApplicationId(inputMetric.getBehindApplicationId());
|
||||
serviceReferenceAlarm.setFrontInstanceId(inputMetric.getFrontInstanceId());
|
||||
serviceReferenceAlarm.setBehindInstanceId(inputMetric.getBehindInstanceId());
|
||||
serviceReferenceAlarm.setFrontServiceId(inputMetric.getFrontServiceId());
|
||||
serviceReferenceAlarm.setBehindServiceId(inputMetric.getBehindServiceId());
|
||||
return serviceReferenceAlarm;
|
||||
}
|
||||
|
||||
@Override protected Double calleeErrorRateThreshold() {
|
||||
return serviceReferenceAlarmRuleConfig.calleeErrorRateThreshold();
|
||||
}
|
||||
|
||||
@Override protected Double callerErrorRateThreshold() {
|
||||
return serviceReferenceAlarmRuleConfig.callerErrorRateThreshold();
|
||||
}
|
||||
|
||||
@Override protected Double calleeAverageResponseTimeThreshold() {
|
||||
return serviceReferenceAlarmRuleConfig.calleeAverageResponseTimeThreshold();
|
||||
}
|
||||
|
||||
@Override protected Double callerAverageResponseTimeThreshold() {
|
||||
return serviceReferenceAlarmRuleConfig.callerAverageResponseTimeThreshold();
|
||||
}
|
||||
|
||||
public static class Factory extends AlarmAssertWorkerProvider<ServiceReferenceMetric, ServiceReferenceAlarm, ServiceReferenceMetricAlarmAssertWorker> {
|
||||
|
||||
public Factory(ModuleManager moduleManager) {
|
||||
super(moduleManager);
|
||||
}
|
||||
|
||||
@Override public ServiceReferenceMetricAlarmAssertWorker workerInstance(ModuleManager moduleManager) {
|
||||
return new ServiceReferenceMetricAlarmAssertWorker(moduleManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int queueSize() {
|
||||
return 1024;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.analysis.alarm.provider.worker.service;
|
||||
|
||||
import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmGraphIdDefine;
|
||||
import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
|
||||
import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricGraphIdDefine;
|
||||
import org.apache.skywalking.apm.collector.analysis.metric.define.graph.MetricWorkerIdDefine;
|
||||
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
|
||||
import org.apache.skywalking.apm.collector.core.graph.Graph;
|
||||
import org.apache.skywalking.apm.collector.core.graph.GraphManager;
|
||||
import org.apache.skywalking.apm.collector.core.graph.Next;
|
||||
import org.apache.skywalking.apm.collector.core.graph.NodeProcessor;
|
||||
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
|
||||
import org.apache.skywalking.apm.collector.remote.RemoteModule;
|
||||
import org.apache.skywalking.apm.collector.remote.service.RemoteSenderService;
|
||||
import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceReferenceAlarm;
|
||||
import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenceMetric;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class ServiceReferenceMetricAlarmGraph {
|
||||
|
||||
private final ModuleManager moduleManager;
|
||||
private final WorkerCreateListener workerCreateListener;
|
||||
|
||||
public ServiceReferenceMetricAlarmGraph(ModuleManager moduleManager, WorkerCreateListener workerCreateListener) {
|
||||
this.moduleManager = moduleManager;
|
||||
this.workerCreateListener = workerCreateListener;
|
||||
}
|
||||
|
||||
public void create() {
|
||||
RemoteSenderService remoteSenderService = moduleManager.find(RemoteModule.NAME).getService(RemoteSenderService.class);
|
||||
|
||||
Graph<ServiceReferenceMetric> graph = GraphManager.INSTANCE.createIfAbsent(AlarmGraphIdDefine.SERVICE_REFERENCE_METRIC_ALARM_GRAPH_ID, ServiceReferenceMetric.class);
|
||||
|
||||
graph.addNode(new ServiceReferenceMetricAlarmAssertWorker.Factory(moduleManager).create(workerCreateListener))
|
||||
.addNext(new ServiceReferenceMetricAlarmRemoteWorker.Factory(moduleManager, remoteSenderService, AlarmGraphIdDefine.SERVICE_METRIC_ALARM_GRAPH_ID).create(workerCreateListener))
|
||||
.addNext(new ServiceReferenceMetricAlarmPersistenceWorker.Factory(moduleManager).create(workerCreateListener));
|
||||
|
||||
graph.toFinder().findNode(AlarmWorkerIdDefine.SERVICE_METRIC_ALARM_REMOTE_WORKER_ID, ServiceReferenceAlarm.class)
|
||||
.addNext(new ServiceReferenceMetricAlarmToListNodeProcessor())
|
||||
.addNext(new ServiceReferenceMetricAlarmListPersistenceWorker.Factory(moduleManager).create(workerCreateListener));
|
||||
|
||||
link(graph);
|
||||
}
|
||||
|
||||
private void link(Graph<ServiceReferenceMetric> graph) {
|
||||
GraphManager.INSTANCE.findGraph(MetricGraphIdDefine.SERVICE_REFERENCE_METRIC_GRAPH_ID, ServiceReferenceMetric.class)
|
||||
.toFinder().findNode(MetricWorkerIdDefine.SERVICE_REFERENCE_METRIC_PERSISTENCE_WORKER_ID, ServiceReferenceMetric.class)
|
||||
.addNext(new NodeProcessor<ServiceReferenceMetric, ServiceReferenceMetric>() {
|
||||
@Override public int id() {
|
||||
return AlarmWorkerIdDefine.SERVICE_METRIC_TRANSFORM_GRAPH_BRIDGE_WORKER_ID;
|
||||
}
|
||||
|
||||
@Override public void process(ServiceReferenceMetric serviceReferenceMetric,
|
||||
Next<ServiceReferenceMetric> next) {
|
||||
graph.start(serviceReferenceMetric);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.analysis.alarm.provider.worker.service;
|
||||
|
||||
import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
|
||||
import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker;
|
||||
import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider;
|
||||
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
|
||||
import org.apache.skywalking.apm.collector.storage.StorageModule;
|
||||
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.IServiceReferenceAlarmListPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceReferenceAlarmList;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class ServiceReferenceMetricAlarmListPersistenceWorker extends PersistenceWorker<ServiceReferenceAlarmList> {
|
||||
|
||||
public ServiceReferenceMetricAlarmListPersistenceWorker(ModuleManager moduleManager) {
|
||||
super(moduleManager);
|
||||
}
|
||||
|
||||
@Override public int id() {
|
||||
return AlarmWorkerIdDefine.SERVICE_REFERENCE_METRIC_ALARM_LIST_PERSISTENCE_WORKER_ID;
|
||||
}
|
||||
|
||||
@Override protected boolean needMergeDBData() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override protected IPersistenceDAO<?, ?, ServiceReferenceAlarmList> persistenceDAO() {
|
||||
return getModuleManager().find(StorageModule.NAME).getService(IServiceReferenceAlarmListPersistenceDAO.class);
|
||||
}
|
||||
|
||||
public static class Factory extends PersistenceWorkerProvider<ServiceReferenceAlarmList, ServiceReferenceMetricAlarmListPersistenceWorker> {
|
||||
public Factory(ModuleManager moduleManager) {
|
||||
super(moduleManager);
|
||||
}
|
||||
|
||||
@Override public ServiceReferenceMetricAlarmListPersistenceWorker workerInstance(ModuleManager moduleManager) {
|
||||
return new ServiceReferenceMetricAlarmListPersistenceWorker(moduleManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int queueSize() {
|
||||
return 1024;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.analysis.alarm.provider.worker.service;
|
||||
|
||||
import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
|
||||
import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorker;
|
||||
import org.apache.skywalking.apm.collector.analysis.worker.model.impl.PersistenceWorkerProvider;
|
||||
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
|
||||
import org.apache.skywalking.apm.collector.storage.StorageModule;
|
||||
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.dao.IServiceReferenceAlarmPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceReferenceAlarm;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class ServiceReferenceMetricAlarmPersistenceWorker extends PersistenceWorker<ServiceReferenceAlarm> {
|
||||
|
||||
public ServiceReferenceMetricAlarmPersistenceWorker(ModuleManager moduleManager) {
|
||||
super(moduleManager);
|
||||
}
|
||||
|
||||
@Override public int id() {
|
||||
return AlarmWorkerIdDefine.SERVICE_REFERENCE_METRIC_ALARM_PERSISTENCE_WORKER_ID;
|
||||
}
|
||||
|
||||
@Override protected boolean needMergeDBData() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override protected IPersistenceDAO<?, ?, ServiceReferenceAlarm> persistenceDAO() {
|
||||
return getModuleManager().find(StorageModule.NAME).getService(IServiceReferenceAlarmPersistenceDAO.class);
|
||||
}
|
||||
|
||||
public static class Factory extends PersistenceWorkerProvider<ServiceReferenceAlarm, ServiceReferenceMetricAlarmPersistenceWorker> {
|
||||
public Factory(ModuleManager moduleManager) {
|
||||
super(moduleManager);
|
||||
}
|
||||
|
||||
@Override public ServiceReferenceMetricAlarmPersistenceWorker workerInstance(ModuleManager moduleManager) {
|
||||
return new ServiceReferenceMetricAlarmPersistenceWorker(moduleManager);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int queueSize() {
|
||||
return 1024;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.analysis.alarm.provider.worker.service;
|
||||
|
||||
import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
|
||||
import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorker;
|
||||
import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractRemoteWorkerProvider;
|
||||
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException;
|
||||
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
|
||||
import org.apache.skywalking.apm.collector.remote.service.RemoteSenderService;
|
||||
import org.apache.skywalking.apm.collector.remote.service.Selector;
|
||||
import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceReferenceAlarm;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class ServiceReferenceMetricAlarmRemoteWorker extends AbstractRemoteWorker<ServiceReferenceAlarm, ServiceReferenceAlarm> {
|
||||
|
||||
public ServiceReferenceMetricAlarmRemoteWorker(ModuleManager moduleManager) {
|
||||
super(moduleManager);
|
||||
}
|
||||
|
||||
@Override public int id() {
|
||||
return AlarmWorkerIdDefine.SERVICE_REFERENCE_METRIC_ALARM_REMOTE_WORKER_ID;
|
||||
}
|
||||
|
||||
@Override public Selector selector() {
|
||||
return Selector.HashCode;
|
||||
}
|
||||
|
||||
@Override protected void onWork(ServiceReferenceAlarm message) throws WorkerException {
|
||||
onNext(message);
|
||||
}
|
||||
|
||||
public static class Factory extends AbstractRemoteWorkerProvider<ServiceReferenceAlarm, ServiceReferenceAlarm, ServiceReferenceMetricAlarmRemoteWorker> {
|
||||
|
||||
public Factory(ModuleManager moduleManager, RemoteSenderService remoteSenderService, int graphId) {
|
||||
super(moduleManager, remoteSenderService, graphId);
|
||||
}
|
||||
|
||||
@Override public ServiceReferenceMetricAlarmRemoteWorker workerInstance(ModuleManager moduleManager) {
|
||||
return new ServiceReferenceMetricAlarmRemoteWorker(moduleManager);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.analysis.alarm.provider.worker.service;
|
||||
|
||||
import org.apache.skywalking.apm.collector.analysis.alarm.define.graph.AlarmWorkerIdDefine;
|
||||
import org.apache.skywalking.apm.collector.core.graph.Next;
|
||||
import org.apache.skywalking.apm.collector.core.graph.NodeProcessor;
|
||||
import org.apache.skywalking.apm.collector.core.util.Const;
|
||||
import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceReferenceAlarm;
|
||||
import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceReferenceAlarmList;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class ServiceReferenceMetricAlarmToListNodeProcessor implements NodeProcessor<ServiceReferenceAlarm, ServiceReferenceAlarmList> {
|
||||
|
||||
@Override public int id() {
|
||||
return AlarmWorkerIdDefine.SERVICE_REFERENCE_METRIC_ALARM_TO_LIST_NODE_PROCESSOR_ID;
|
||||
}
|
||||
|
||||
@Override public void process(ServiceReferenceAlarm serviceReferenceAlarm, Next<ServiceReferenceAlarmList> next) {
|
||||
String id = serviceReferenceAlarm.getLastTimeBucket() + Const.ID_SPLIT + serviceReferenceAlarm.getSourceValue()
|
||||
+ Const.ID_SPLIT + serviceReferenceAlarm.getAlarmType()
|
||||
+ Const.ID_SPLIT + serviceReferenceAlarm.getFrontServiceId()
|
||||
+ Const.ID_SPLIT + serviceReferenceAlarm.getBehindServiceId();
|
||||
|
||||
ServiceReferenceAlarmList serviceReferenceAlarmList = new ServiceReferenceAlarmList(id);
|
||||
serviceReferenceAlarmList.setFrontApplicationId(serviceReferenceAlarm.getFrontApplicationId());
|
||||
serviceReferenceAlarmList.setBehindApplicationId(serviceReferenceAlarm.getBehindApplicationId());
|
||||
serviceReferenceAlarmList.setFrontInstanceId(serviceReferenceAlarm.getFrontInstanceId());
|
||||
serviceReferenceAlarmList.setBehindInstanceId(serviceReferenceAlarm.getBehindInstanceId());
|
||||
serviceReferenceAlarmList.setFrontServiceId(serviceReferenceAlarm.getFrontServiceId());
|
||||
serviceReferenceAlarmList.setBehindServiceId(serviceReferenceAlarm.getBehindServiceId());
|
||||
serviceReferenceAlarmList.setSourceValue(serviceReferenceAlarm.getSourceValue());
|
||||
serviceReferenceAlarmList.setAlarmType(serviceReferenceAlarm.getAlarmType());
|
||||
serviceReferenceAlarmList.setTimeBucket(serviceReferenceAlarm.getLastTimeBucket());
|
||||
serviceReferenceAlarmList.setAlarmContent(serviceReferenceAlarm.getAlarmContent());
|
||||
next.execute(serviceReferenceAlarmList);
|
||||
}
|
||||
}
|
||||
|
|
@ -22,6 +22,7 @@ import org.apache.skywalking.apm.collector.configuration.service.IApdexThreshold
|
|||
import org.apache.skywalking.apm.collector.configuration.service.IApplicationAlarmRuleConfig;
|
||||
import org.apache.skywalking.apm.collector.configuration.service.IInstanceAlarmRuleConfig;
|
||||
import org.apache.skywalking.apm.collector.configuration.service.IServiceAlarmRuleConfig;
|
||||
import org.apache.skywalking.apm.collector.configuration.service.IServiceReferenceAlarmRuleConfig;
|
||||
import org.apache.skywalking.apm.collector.core.module.Module;
|
||||
|
||||
/**
|
||||
|
|
@ -36,6 +37,9 @@ public class ConfigurationModule extends Module {
|
|||
}
|
||||
|
||||
@Override public Class[] services() {
|
||||
return new Class[] {IApdexThresholdService.class, IServiceAlarmRuleConfig.class, IInstanceAlarmRuleConfig.class, IApplicationAlarmRuleConfig.class};
|
||||
return new Class[] {
|
||||
IApdexThresholdService.class,
|
||||
IServiceAlarmRuleConfig.class, IInstanceAlarmRuleConfig.class, IApplicationAlarmRuleConfig.class,
|
||||
IServiceReferenceAlarmRuleConfig.class};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.configuration.service;
|
||||
|
||||
import org.apache.skywalking.apm.collector.core.module.Service;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public interface IServiceReferenceAlarmRuleConfig extends Service {
|
||||
double calleeErrorRateThreshold();
|
||||
|
||||
double calleeAverageResponseTimeThreshold();
|
||||
|
||||
double callerErrorRateThreshold();
|
||||
|
||||
double callerAverageResponseTimeThreshold();
|
||||
}
|
||||
|
|
@ -25,8 +25,10 @@ import org.apache.skywalking.apm.collector.configuration.service.IApdexThreshold
|
|||
import org.apache.skywalking.apm.collector.configuration.service.IApplicationAlarmRuleConfig;
|
||||
import org.apache.skywalking.apm.collector.configuration.service.IInstanceAlarmRuleConfig;
|
||||
import org.apache.skywalking.apm.collector.configuration.service.IServiceAlarmRuleConfig;
|
||||
import org.apache.skywalking.apm.collector.configuration.service.IServiceReferenceAlarmRuleConfig;
|
||||
import org.apache.skywalking.apm.collector.configuration.service.InstanceAlarmRuleConfig;
|
||||
import org.apache.skywalking.apm.collector.configuration.service.ServiceAlarmRuleConfig;
|
||||
import org.apache.skywalking.apm.collector.configuration.service.ServiceReferenceAlarmRuleConfig;
|
||||
import org.apache.skywalking.apm.collector.core.module.Module;
|
||||
import org.apache.skywalking.apm.collector.core.module.ModuleProvider;
|
||||
import org.apache.skywalking.apm.collector.core.module.ServiceNotProvidedException;
|
||||
|
|
@ -49,6 +51,7 @@ public class ConfigurationModuleProvider extends ModuleProvider {
|
|||
this.registerServiceImplementation(IServiceAlarmRuleConfig.class, new ServiceAlarmRuleConfig());
|
||||
this.registerServiceImplementation(IInstanceAlarmRuleConfig.class, new InstanceAlarmRuleConfig());
|
||||
this.registerServiceImplementation(IApplicationAlarmRuleConfig.class, new ApplicationAlarmRuleConfig());
|
||||
this.registerServiceImplementation(IServiceReferenceAlarmRuleConfig.class, new ServiceReferenceAlarmRuleConfig());
|
||||
}
|
||||
|
||||
@Override public void start(Properties config) throws ServiceNotProvidedException {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.configuration.service;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class ServiceReferenceAlarmRuleConfig implements IServiceReferenceAlarmRuleConfig {
|
||||
|
||||
@Override public double calleeErrorRateThreshold() {
|
||||
return 10.00;
|
||||
}
|
||||
|
||||
@Override public double calleeAverageResponseTimeThreshold() {
|
||||
return 2000;
|
||||
}
|
||||
|
||||
@Override public double callerErrorRateThreshold() {
|
||||
return 10.00;
|
||||
}
|
||||
|
||||
@Override public double callerAverageResponseTimeThreshold() {
|
||||
return 3000;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.storage.dao;
|
||||
|
||||
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceReferenceAlarmList;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public interface IServiceReferenceAlarmListPersistenceDAO<Insert, Update, DataImpl extends ServiceReferenceAlarmList> extends IPersistenceDAO<Insert, Update, DataImpl> {
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.storage.dao;
|
||||
|
||||
import org.apache.skywalking.apm.collector.storage.base.dao.IPersistenceDAO;
|
||||
import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceReferenceAlarm;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public interface IServiceReferenceAlarmPersistenceDAO<Insert, Update, DataImpl extends ServiceReferenceAlarm> extends IPersistenceDAO<Insert, Update, DataImpl> {
|
||||
}
|
||||
|
|
@ -0,0 +1,148 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.storage.table.alarm;
|
||||
|
||||
import org.apache.skywalking.apm.collector.core.data.Column;
|
||||
import org.apache.skywalking.apm.collector.core.data.Data;
|
||||
import org.apache.skywalking.apm.collector.core.data.operator.CoverOperation;
|
||||
import org.apache.skywalking.apm.collector.core.data.operator.NonOperation;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class ServiceReferenceAlarm extends Data implements Alarm {
|
||||
|
||||
private static final Column[] STRING_COLUMNS = {
|
||||
new Column(ServiceReferenceAlarmTable.COLUMN_ID, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmTable.COLUMN_ALARM_CONTENT, new CoverOperation()),
|
||||
};
|
||||
|
||||
private static final Column[] LONG_COLUMNS = {
|
||||
new Column(ServiceReferenceAlarmTable.COLUMN_LAST_TIME_BUCKET, new CoverOperation()),
|
||||
};
|
||||
|
||||
private static final Column[] DOUBLE_COLUMNS = {};
|
||||
|
||||
private static final Column[] INTEGER_COLUMNS = {
|
||||
new Column(ServiceReferenceAlarmTable.COLUMN_ALARM_TYPE, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmTable.COLUMN_SOURCE_VALUE, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmTable.COLUMN_FRONT_APPLICATION_ID, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmTable.COLUMN_BEHIND_APPLICATION_ID, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmTable.COLUMN_FRONT_INSTANCE_ID, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmTable.COLUMN_BEHIND_INSTANCE_ID, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmTable.COLUMN_FRONT_SERVICE_ID, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmTable.COLUMN_BEHIND_SERVICE_ID, new NonOperation()),
|
||||
};
|
||||
|
||||
private static final Column[] BOOLEAN_COLUMNS = {};
|
||||
|
||||
private static final Column[] BYTE_COLUMNS = {};
|
||||
|
||||
public ServiceReferenceAlarm(String id) {
|
||||
super(id, STRING_COLUMNS, LONG_COLUMNS, DOUBLE_COLUMNS, INTEGER_COLUMNS, BOOLEAN_COLUMNS, BYTE_COLUMNS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getAlarmType() {
|
||||
return getDataInteger(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAlarmType(Integer alarmType) {
|
||||
setDataInteger(0, alarmType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getSourceValue() {
|
||||
return getDataInteger(1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSourceValue(Integer sourceValue) {
|
||||
setDataInteger(1, sourceValue);
|
||||
}
|
||||
|
||||
public Integer getFrontApplicationId() {
|
||||
return getDataInteger(2);
|
||||
}
|
||||
|
||||
public void setFrontApplicationId(Integer frontApplicationId) {
|
||||
setDataInteger(2, frontApplicationId);
|
||||
}
|
||||
|
||||
public Integer getBehindApplicationId() {
|
||||
return getDataInteger(3);
|
||||
}
|
||||
|
||||
public void setBehindApplicationId(Integer behindApplicationId) {
|
||||
setDataInteger(3, behindApplicationId);
|
||||
}
|
||||
|
||||
public Integer getFrontInstanceId() {
|
||||
return getDataInteger(4);
|
||||
}
|
||||
|
||||
public void setFrontInstanceId(Integer frontInstanceId) {
|
||||
setDataInteger(4, frontInstanceId);
|
||||
}
|
||||
|
||||
public Integer getBehindInstanceId() {
|
||||
return getDataInteger(5);
|
||||
}
|
||||
|
||||
public void setBehindInstanceId(Integer behindInstanceId) {
|
||||
setDataInteger(5, behindInstanceId);
|
||||
}
|
||||
|
||||
public Integer getFrontServiceId() {
|
||||
return getDataInteger(6);
|
||||
}
|
||||
|
||||
public void setFrontServiceId(Integer frontServiceId) {
|
||||
setDataInteger(6, frontServiceId);
|
||||
}
|
||||
|
||||
public Integer getBehindServiceId() {
|
||||
return getDataInteger(7);
|
||||
}
|
||||
|
||||
public void setBehindServiceId(Integer behindServiceId) {
|
||||
setDataInteger(7, behindServiceId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getLastTimeBucket() {
|
||||
return getDataLong(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLastTimeBucket(Long lastTimeBucket) {
|
||||
setDataLong(0, lastTimeBucket);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAlarmContent() {
|
||||
return getDataString(1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAlarmContent(String alarmContent) {
|
||||
setDataString(1, alarmContent);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,140 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.storage.table.alarm;
|
||||
|
||||
import org.apache.skywalking.apm.collector.core.data.Column;
|
||||
import org.apache.skywalking.apm.collector.core.data.Data;
|
||||
import org.apache.skywalking.apm.collector.core.data.operator.CoverOperation;
|
||||
import org.apache.skywalking.apm.collector.core.data.operator.NonOperation;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class ServiceReferenceAlarmList extends Data {
|
||||
|
||||
private static final Column[] STRING_COLUMNS = {
|
||||
new Column(ServiceReferenceAlarmListTable.COLUMN_ID, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmListTable.COLUMN_ALARM_CONTENT, new CoverOperation()),
|
||||
};
|
||||
|
||||
private static final Column[] LONG_COLUMNS = {
|
||||
new Column(ServiceReferenceAlarmListTable.COLUMN_TIME_BUCKET, new NonOperation()),
|
||||
};
|
||||
|
||||
private static final Column[] DOUBLE_COLUMNS = {};
|
||||
|
||||
private static final Column[] INTEGER_COLUMNS = {
|
||||
new Column(ServiceReferenceAlarmListTable.COLUMN_ALARM_TYPE, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmListTable.COLUMN_SOURCE_VALUE, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmListTable.COLUMN_FRONT_APPLICATION_ID, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmListTable.COLUMN_BEHIND_APPLICATION_ID, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmListTable.COLUMN_FRONT_INSTANCE_ID, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmListTable.COLUMN_BEHIND_INSTANCE_ID, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmListTable.COLUMN_FRONT_SERVICE_ID, new NonOperation()),
|
||||
new Column(ServiceReferenceAlarmListTable.COLUMN_BEHIND_SERVICE_ID, new NonOperation()),
|
||||
};
|
||||
|
||||
private static final Column[] BOOLEAN_COLUMNS = {};
|
||||
|
||||
private static final Column[] BYTE_COLUMNS = {};
|
||||
|
||||
public ServiceReferenceAlarmList(String id) {
|
||||
super(id, STRING_COLUMNS, LONG_COLUMNS, DOUBLE_COLUMNS, INTEGER_COLUMNS, BOOLEAN_COLUMNS, BYTE_COLUMNS);
|
||||
}
|
||||
|
||||
public Integer getAlarmType() {
|
||||
return getDataInteger(0);
|
||||
}
|
||||
|
||||
public void setAlarmType(Integer alarmType) {
|
||||
setDataInteger(0, alarmType);
|
||||
}
|
||||
|
||||
public Integer getSourceValue() {
|
||||
return getDataInteger(1);
|
||||
}
|
||||
|
||||
public void setSourceValue(Integer sourceValue) {
|
||||
setDataInteger(1, sourceValue);
|
||||
}
|
||||
|
||||
public Integer getFrontApplicationId() {
|
||||
return getDataInteger(2);
|
||||
}
|
||||
|
||||
public void setFrontApplicationId(Integer frontApplicationId) {
|
||||
setDataInteger(2, frontApplicationId);
|
||||
}
|
||||
|
||||
public Integer getBehindApplicationId() {
|
||||
return getDataInteger(3);
|
||||
}
|
||||
|
||||
public void setBehindApplicationId(Integer behindApplicationId) {
|
||||
setDataInteger(3, behindApplicationId);
|
||||
}
|
||||
|
||||
public Integer getFrontInstanceId() {
|
||||
return getDataInteger(4);
|
||||
}
|
||||
|
||||
public void setFrontInstanceId(Integer frontInstanceId) {
|
||||
setDataInteger(4, frontInstanceId);
|
||||
}
|
||||
|
||||
public Integer getBehindInstanceId() {
|
||||
return getDataInteger(5);
|
||||
}
|
||||
|
||||
public void setBehindInstanceId(Integer behindInstanceId) {
|
||||
setDataInteger(5, behindInstanceId);
|
||||
}
|
||||
|
||||
public Integer getFrontServiceId() {
|
||||
return getDataInteger(6);
|
||||
}
|
||||
|
||||
public void setFrontServiceId(Integer frontServiceId) {
|
||||
setDataInteger(6, frontServiceId);
|
||||
}
|
||||
|
||||
public Integer getBehindServiceId() {
|
||||
return getDataInteger(7);
|
||||
}
|
||||
|
||||
public void setBehindServiceId(Integer behindServiceId) {
|
||||
setDataInteger(7, behindServiceId);
|
||||
}
|
||||
|
||||
public Long getTimeBucket() {
|
||||
return getDataLong(0);
|
||||
}
|
||||
|
||||
public void setTimeBucket(Long timeBucket) {
|
||||
setDataLong(0, timeBucket);
|
||||
}
|
||||
|
||||
public String getAlarmContent() {
|
||||
return getDataString(1);
|
||||
}
|
||||
|
||||
public void setAlarmContent(String alarmContent) {
|
||||
setDataString(1, alarmContent);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.storage.table.alarm;
|
||||
|
||||
import org.apache.skywalking.apm.collector.storage.table.CommonMetricTable;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class ServiceReferenceAlarmListTable extends CommonMetricTable {
|
||||
public static final String TABLE = "service_reference_alarm_list";
|
||||
public static final String COLUMN_FRONT_SERVICE_ID = "front_service_id";
|
||||
public static final String COLUMN_BEHIND_SERVICE_ID = "behind_service_id";
|
||||
public static final String COLUMN_FRONT_INSTANCE_ID = "front_instance_id";
|
||||
public static final String COLUMN_BEHIND_INSTANCE_ID = "behind_instance_id";
|
||||
public static final String COLUMN_FRONT_APPLICATION_ID = "front_application_id";
|
||||
public static final String COLUMN_BEHIND_APPLICATION_ID = "behind_application_id";
|
||||
public static final String COLUMN_ALARM_TYPE = "alarm_type";
|
||||
public static final String COLUMN_ALARM_CONTENT = "alarm_content";
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* 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.skywalking.apm.collector.storage.table.alarm;
|
||||
|
||||
import org.apache.skywalking.apm.collector.storage.table.CommonMetricTable;
|
||||
|
||||
/**
|
||||
* @author peng-yongsheng
|
||||
*/
|
||||
public class ServiceReferenceAlarmTable extends CommonMetricTable {
|
||||
public static final String TABLE = "service_reference_alarm";
|
||||
public static final String COLUMN_FRONT_SERVICE_ID = "front_service_id";
|
||||
public static final String COLUMN_BEHIND_SERVICE_ID = "behind_service_id";
|
||||
public static final String COLUMN_FRONT_INSTANCE_ID = "front_instance_id";
|
||||
public static final String COLUMN_BEHIND_INSTANCE_ID = "behind_instance_id";
|
||||
public static final String COLUMN_FRONT_APPLICATION_ID = "front_application_id";
|
||||
public static final String COLUMN_BEHIND_APPLICATION_ID = "behind_application_id";
|
||||
public static final String COLUMN_ALARM_TYPE = "alarm_type";
|
||||
public static final String COLUMN_LAST_TIME_BUCKET = "last_time_bucket";
|
||||
public static final String COLUMN_ALARM_CONTENT = "alarm_content";
|
||||
}
|
||||
Loading…
Reference in New Issue