提交 b5444e7e 编写于 作者: P peng-yongsheng

Define the remote data interface.

上级 b61ab344
......@@ -21,7 +21,7 @@ package org.apache.skywalking.apm.collector.analysis.alarm.provider.worker;
import org.apache.skywalking.apm.collector.analysis.metric.define.MetricSource;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorker;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.AbstractData;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
import org.apache.skywalking.apm.collector.core.util.Const;
import org.apache.skywalking.apm.collector.core.util.NumberFormatUtils;
......@@ -34,7 +34,7 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng
*/
public abstract class AlarmAssertWorker<INPUT extends Data & Metric, OUTPUT extends Data & Alarm> extends AbstractLocalAsyncWorker<INPUT, OUTPUT> {
public abstract class AlarmAssertWorker<INPUT extends AbstractData & Metric, OUTPUT extends AbstractData & Alarm> extends AbstractLocalAsyncWorker<INPUT, OUTPUT> {
private final Logger logger = LoggerFactory.getLogger(AlarmAssertWorker.class);
......
......@@ -19,7 +19,7 @@
package org.apache.skywalking.apm.collector.analysis.alarm.provider.worker;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.AbstractData;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
import org.apache.skywalking.apm.collector.storage.table.Metric;
import org.apache.skywalking.apm.collector.storage.table.alarm.Alarm;
......@@ -27,7 +27,7 @@ import org.apache.skywalking.apm.collector.storage.table.alarm.Alarm;
/**
* @author peng-yongsheng
*/
public abstract class AlarmAssertWorkerProvider<INPUT extends Data & Metric, OUTPUT extends Data & Alarm, WORKER_TYPE extends AlarmAssertWorker<INPUT, OUTPUT>> extends AbstractLocalAsyncWorkerProvider<INPUT, OUTPUT, WORKER_TYPE> {
public abstract class AlarmAssertWorkerProvider<INPUT extends AbstractData & Metric, OUTPUT extends AbstractData & Alarm, WORKER_TYPE extends AlarmAssertWorker<INPUT, OUTPUT>> extends AbstractLocalAsyncWorkerProvider<INPUT, OUTPUT, WORKER_TYPE> {
public AlarmAssertWorkerProvider(ModuleManager moduleManager) {
super(moduleManager);
......
......@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.worker.model.base;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.AbstractData;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
import org.apache.skywalking.apm.collector.remote.service.Selector;
......@@ -31,7 +31,7 @@ import org.apache.skywalking.apm.collector.remote.service.Selector;
* @author peng-yongsheng
* @since v3.0-2017
*/
public abstract class AbstractRemoteWorker<INPUT extends Data, OUTPUT extends Data> extends AbstractWorker<INPUT, OUTPUT> {
public abstract class AbstractRemoteWorker<INPUT extends AbstractData, OUTPUT extends AbstractData> extends AbstractWorker<INPUT, OUTPUT> {
public AbstractRemoteWorker(ModuleManager moduleManager) {
super(moduleManager);
......
......@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.worker.model.base;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.AbstractData;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
import org.apache.skywalking.apm.collector.remote.service.RemoteSenderService;
......@@ -30,7 +30,7 @@ import org.apache.skywalking.apm.collector.remote.service.RemoteSenderService;
* @author peng-yongsheng
* @since v3.0-2017
*/
public abstract class AbstractRemoteWorkerProvider<INPUT extends Data, OUTPUT extends Data, WORKER_TYPE extends AbstractRemoteWorker<INPUT, OUTPUT>> extends AbstractWorkerProvider<INPUT, OUTPUT, WORKER_TYPE> {
public abstract class AbstractRemoteWorkerProvider<INPUT extends AbstractData, OUTPUT extends AbstractData, WORKER_TYPE extends AbstractRemoteWorker<INPUT, OUTPUT>> extends AbstractWorkerProvider<INPUT, OUTPUT, WORKER_TYPE> {
private final RemoteSenderService remoteSenderService;
private final int graphId;
......
......@@ -18,7 +18,7 @@
package org.apache.skywalking.apm.collector.analysis.worker.model.base;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.AbstractData;
import org.apache.skywalking.apm.collector.remote.service.RemoteSenderService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -26,7 +26,7 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng
*/
public class RemoteWorkerRef<INPUT extends Data, OUTPUT extends Data> extends WorkerRef<INPUT, OUTPUT> {
public class RemoteWorkerRef<INPUT extends AbstractData, OUTPUT extends AbstractData> extends WorkerRef<INPUT, OUTPUT> {
private final Logger logger = LoggerFactory.getLogger(RemoteWorkerRef.class);
......
......@@ -21,7 +21,7 @@ package org.apache.skywalking.apm.collector.analysis.worker.model.impl;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorker;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException;
import org.apache.skywalking.apm.collector.analysis.worker.model.impl.data.DataCache;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.AbstractData;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng
*/
public abstract class AggregationWorker<INPUT extends Data, OUTPUT extends Data> extends AbstractLocalAsyncWorker<INPUT, OUTPUT> {
public abstract class AggregationWorker<INPUT extends AbstractData, OUTPUT extends AbstractData> extends AbstractLocalAsyncWorker<INPUT, OUTPUT> {
private final Logger logger = LoggerFactory.getLogger(AggregationWorker.class);
......
......@@ -24,7 +24,7 @@ import java.util.Map;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorker;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerException;
import org.apache.skywalking.apm.collector.analysis.worker.model.impl.data.DataCache;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.AbstractData;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
import org.apache.skywalking.apm.collector.core.util.ObjectUtils;
import org.apache.skywalking.apm.collector.storage.StorageModule;
......@@ -36,7 +36,7 @@ import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng
*/
public abstract class PersistenceWorker<INPUT_AND_OUTPUT extends Data> extends AbstractLocalAsyncWorker<INPUT_AND_OUTPUT, INPUT_AND_OUTPUT> {
public abstract class PersistenceWorker<INPUT_AND_OUTPUT extends AbstractData> extends AbstractLocalAsyncWorker<INPUT_AND_OUTPUT, INPUT_AND_OUTPUT> {
private final Logger logger = LoggerFactory.getLogger(PersistenceWorker.class);
......
......@@ -19,13 +19,13 @@
package org.apache.skywalking.apm.collector.analysis.worker.model.impl;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.AbstractLocalAsyncWorkerProvider;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.AbstractData;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
/**
* @author peng-yongsheng
*/
public abstract class PersistenceWorkerProvider<INPUT_AND_OUTPUT extends Data, WORKER_TYPE extends PersistenceWorker<INPUT_AND_OUTPUT>> extends AbstractLocalAsyncWorkerProvider<INPUT_AND_OUTPUT, INPUT_AND_OUTPUT, WORKER_TYPE> {
public abstract class PersistenceWorkerProvider<INPUT_AND_OUTPUT extends AbstractData, WORKER_TYPE extends PersistenceWorker<INPUT_AND_OUTPUT>> extends AbstractLocalAsyncWorkerProvider<INPUT_AND_OUTPUT, INPUT_AND_OUTPUT, WORKER_TYPE> {
public PersistenceWorkerProvider(ModuleManager moduleManager) {
super(moduleManager);
......
......@@ -20,12 +20,12 @@
package org.apache.skywalking.apm.collector.analysis.worker.model.impl.data;
import org.apache.skywalking.apm.collector.core.cache.Window;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.AbstractData;
/**
* @author peng-yongsheng
*/
public class DataCache<DATA_IMPL extends Data> extends Window<DataCollection<DATA_IMPL>> {
public class DataCache<DATA_IMPL extends AbstractData> extends Window<DataCollection<DATA_IMPL>> {
private DataCollection<DATA_IMPL> lockedDataCollection;
......@@ -37,7 +37,7 @@ public class DataCache<DATA_IMPL extends Data> extends Window<DataCollection<DAT
return lockedDataCollection.containsKey(id);
}
public Data get(String id) {
public AbstractData get(String id) {
return lockedDataCollection.get(id);
}
......
......@@ -22,12 +22,12 @@ package org.apache.skywalking.apm.collector.analysis.worker.model.impl.data;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.skywalking.apm.collector.core.cache.Collection;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.AbstractData;
/**
* @author peng-yongsheng
*/
public class DataCollection<DATA_IMPL extends Data> implements Collection<Map<String, DATA_IMPL>> {
public class DataCollection<DATA_IMPL extends AbstractData> implements Collection<Map<String, DATA_IMPL>> {
private Map<String, DATA_IMPL> data;
private volatile boolean writing;
private volatile boolean reading;
......
/*
* 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.core.data;
/**
* @author peng-yongsheng
*/
public abstract class AbstractData {
private String[] dataStrings;
private Long[] dataLongs;
private Double[] dataDoubles;
private Integer[] dataIntegers;
private Boolean[] dataBooleans;
private byte[][] dataBytes;
private final Column[] stringColumns;
private final Column[] longColumns;
private final Column[] doubleColumns;
private final Column[] integerColumns;
private final Column[] booleanColumns;
private final Column[] byteColumns;
public AbstractData(Column[] stringColumns, Column[] longColumns, Column[] doubleColumns,
Column[] integerColumns, Column[] booleanColumns, Column[] byteColumns) {
this.dataStrings = new String[stringColumns.length];
this.dataLongs = new Long[longColumns.length];
this.dataDoubles = new Double[doubleColumns.length];
this.dataIntegers = new Integer[integerColumns.length];
this.dataBooleans = new Boolean[booleanColumns.length];
this.dataBytes = new byte[byteColumns.length][];
this.stringColumns = stringColumns;
this.longColumns = longColumns;
this.doubleColumns = doubleColumns;
this.integerColumns = integerColumns;
this.booleanColumns = booleanColumns;
this.byteColumns = byteColumns;
}
public int getDataStringsCount() {
return dataStrings.length;
}
public int getDataLongsCount() {
return dataLongs.length;
}
public int getDataDoublesCount() {
return dataDoubles.length;
}
public int getDataIntegersCount() {
return dataIntegers.length;
}
public int getDataBooleansCount() {
return dataBooleans.length;
}
public int getDataBytesCount() {
return dataBytes.length;
}
public void setDataString(int position, String value) {
dataStrings[position] = value;
}
public void setDataLong(int position, Long value) {
dataLongs[position] = value;
}
public void setDataDouble(int position, Double value) {
dataDoubles[position] = value;
}
public void setDataInteger(int position, Integer value) {
dataIntegers[position] = value;
}
public void setDataBoolean(int position, Boolean value) {
dataBooleans[position] = value;
}
public void setDataBytes(int position, byte[] dataBytes) {
this.dataBytes[position] = dataBytes;
}
public String getDataString(int position) {
return dataStrings[position];
}
public Long getDataLong(int position) {
if (position + 1 > dataLongs.length) {
throw new IndexOutOfBoundsException();
} else if (dataLongs[position] == null) {
return 0L;
} else {
return dataLongs[position];
}
}
public Double getDataDouble(int position) {
if (position + 1 > dataDoubles.length) {
throw new IndexOutOfBoundsException();
} else if (dataDoubles[position] == null) {
return 0D;
} else {
return dataDoubles[position];
}
}
public Integer getDataInteger(int position) {
if (position + 1 > dataIntegers.length) {
throw new IndexOutOfBoundsException();
} else if (dataIntegers[position] == null) {
return 0;
} else {
return dataIntegers[position];
}
}
public Boolean getDataBoolean(int position) {
return dataBooleans[position];
}
public byte[] getDataBytes(int position) {
return dataBytes[position];
}
public void mergeData(AbstractData newData) {
for (int i = 0; i < stringColumns.length; i++) {
String stringData = stringColumns[i].getOperation().operate(newData.getDataString(i), this.getDataString(i));
this.dataStrings[i] = stringData;
}
for (int i = 0; i < longColumns.length; i++) {
Long longData = longColumns[i].getOperation().operate(newData.getDataLong(i), this.getDataLong(i));
this.dataLongs[i] = longData;
}
for (int i = 0; i < doubleColumns.length; i++) {
Double doubleData = doubleColumns[i].getOperation().operate(newData.getDataDouble(i), this.getDataDouble(i));
this.dataDoubles[i] = doubleData;
}
for (int i = 0; i < integerColumns.length; i++) {
Integer integerData = integerColumns[i].getOperation().operate(newData.getDataInteger(i), this.getDataInteger(i));
this.dataIntegers[i] = integerData;
}
for (int i = 0; i < booleanColumns.length; i++) {
Boolean booleanData = booleanColumns[i].getOperation().operate(newData.getDataBoolean(i), this.getDataBoolean(i));
this.dataBooleans[i] = booleanData;
}
for (int i = 0; i < byteColumns.length; i++) {
byte[] byteData = byteColumns[i].getOperation().operate(newData.getDataBytes(i), this.getDataBytes(i));
this.dataBytes[i] = byteData;
}
}
@Override public String toString() {
StringBuilder dataStr = new StringBuilder();
dataStr.append("string: [");
for (String dataString : dataStrings) {
dataStr.append(dataString).append(",");
}
dataStr.append("], longs: [");
for (Long dataLong : dataLongs) {
dataStr.append(dataLong).append(",");
}
dataStr.append("], double: [");
for (Double dataDouble : dataDoubles) {
dataStr.append(dataDouble).append(",");
}
dataStr.append("], integer: [");
for (Integer dataInteger : dataIntegers) {
dataStr.append(dataInteger).append(",");
}
dataStr.append("], boolean: [");
for (Boolean dataBoolean : dataBooleans) {
dataStr.append(dataBoolean).append(",");
}
dataStr.append("]");
return dataStr.toString();
}
}
......@@ -16,193 +16,45 @@
*
*/
package org.apache.skywalking.apm.collector.core.data;
/**
* @author peng-yongsheng
*/
public abstract class Data extends EndOfBatchQueueMessage {
private String[] dataStrings;
private Long[] dataLongs;
private Double[] dataDoubles;
private Integer[] dataIntegers;
private Boolean[] dataBooleans;
private byte[][] dataBytes;
private final Column[] stringColumns;
private final Column[] longColumns;
private final Column[] doubleColumns;
private final Column[] integerColumns;
private final Column[] booleanColumns;
private final Column[] byteColumns;
public Data(String id, Column[] stringColumns, Column[] longColumns, Column[] doubleColumns,
Column[] integerColumns, Column[] booleanColumns, Column[] byteColumns) {
super(id);
this.dataStrings = new String[stringColumns.length];
this.dataStrings[0] = id;
this.dataLongs = new Long[longColumns.length];
this.dataDoubles = new Double[doubleColumns.length];
this.dataIntegers = new Integer[integerColumns.length];
this.dataBooleans = new Boolean[booleanColumns.length];
this.dataBytes = new byte[byteColumns.length][];
this.stringColumns = stringColumns;
this.longColumns = longColumns;
this.doubleColumns = doubleColumns;
this.integerColumns = integerColumns;
this.booleanColumns = booleanColumns;
this.byteColumns = byteColumns;
}
public int getDataStringsCount() {
return dataStrings.length;
}
public int getDataLongsCount() {
return dataLongs.length;
}
public int getDataDoublesCount() {
return dataDoubles.length;
}
public int getDataIntegersCount() {
return dataIntegers.length;
}
public int getDataBooleansCount() {
return dataBooleans.length;
}
public int getDataBytesCount() {
return dataBytes.length;
}
public void setDataString(int position, String value) {
dataStrings[position] = value;
}
public void setDataLong(int position, Long value) {
dataLongs[position] = value;
}
public void setDataDouble(int position, Double value) {
dataDoubles[position] = value;
}
public void setDataInteger(int position, Integer value) {
dataIntegers[position] = value;
}
public void setDataBoolean(int position, Boolean value) {
dataBooleans[position] = value;
}
public void setDataBytes(int position, byte[] dataBytes) {
this.dataBytes[position] = dataBytes;
}
public String getDataString(int position) {
return dataStrings[position];
}
public Long getDataLong(int position) {
if (position + 1 > dataLongs.length) {
throw new IndexOutOfBoundsException();
} else if (dataLongs[position] == null) {
return 0L;
} else {
return dataLongs[position];
}
}
public Double getDataDouble(int position) {
if (position + 1 > dataDoubles.length) {
throw new IndexOutOfBoundsException();
} else if (dataDoubles[position] == null) {
return 0D;
} else {
return dataDoubles[position];
}
}
public Integer getDataInteger(int position) {
if (position + 1 > dataIntegers.length) {
throw new IndexOutOfBoundsException();
} else if (dataIntegers[position] == null) {
return 0;
} else {
return dataIntegers[position];
}
}
public Boolean getDataBoolean(int position) {
return dataBooleans[position];
}
public byte[] getDataBytes(int position) {
return dataBytes[position];
}
public String getId() {
return dataStrings[0];
}
public void setId(String id) {
setKey(id);
this.dataStrings[0] = id;
}
public void mergeData(Data newData) {
for (int i = 0; i < stringColumns.length; i++) {
String stringData = stringColumns[i].getOperation().operate(newData.getDataString(i), this.getDataString(i));
this.dataStrings[i] = stringData;
}
for (int i = 0; i < longColumns.length; i++) {
Long longData = longColumns[i].getOperation().operate(newData.getDataLong(i), this.getDataLong(i));
this.dataLongs[i] = longData;
}
for (int i = 0; i < doubleColumns.length; i++) {
Double doubleData = doubleColumns[i].getOperation().operate(newData.getDataDouble(i), this.getDataDouble(i));
this.dataDoubles[i] = doubleData;
}
for (int i = 0; i < integerColumns.length; i++) {
Integer integerData = integerColumns[i].getOperation().operate(newData.getDataInteger(i), this.getDataInteger(i));
this.dataIntegers[i] = integerData;
}
for (int i = 0; i < booleanColumns.length; i++) {
Boolean booleanData = booleanColumns[i].getOperation().operate(newData.getDataBoolean(i), this.getDataBoolean(i));
this.dataBooleans[i] = booleanData;
}
for (int i = 0; i < byteColumns.length; i++) {
byte[] byteData = byteColumns[i].getOperation().operate(newData.getDataBytes(i), this.getDataBytes(i));
this.dataBytes[i] = byteData;
}
}
@Override public String toString() {
StringBuilder dataStr = new StringBuilder();
dataStr.append("string: [");
for (String dataString : dataStrings) {
dataStr.append(dataString).append(",");
}
dataStr.append("], longs: [");
for (Long dataLong : dataLongs) {
dataStr.append(dataLong).append(",");
}
dataStr.append("], double: [");
for (Double dataDouble : dataDoubles) {
dataStr.append(dataDouble).append(",");
}
dataStr.append("], integer: [");
for (Integer dataInteger : dataIntegers) {
dataStr.append(dataInteger).append(",");
}
dataStr.append("], boolean: [");
for (Boolean dataBoolean : dataBooleans) {
dataStr.append(dataBoolean).append(",");
}
dataStr.append("]");
return dataStr.toString();
}
public interface Data {
int getDataStringsCount();
int getDataLongsCount();
int getDataDoublesCount();
int getDataIntegersCount();
int getDataBooleansCount();
int getDataBytesCount();
void setDataString(int position, String value);
void setDataLong(int position, Long value);
void setDataDouble(int position, Double value);
void setDataInteger(int position, Integer value);
void setDataBoolean(int position, Boolean value);
void setDataBytes(int position, byte[] dataBytes);
String getDataString(int position);
Long getDataLong(int position);
Double getDataDouble(int position);
Integer getDataInteger(int position);
Boolean getDataBoolean(int position);
byte[] getDataBytes(int position);
}
......@@ -16,26 +16,16 @@
*
*/
package org.apache.skywalking.apm.collector.core.data;
import org.apache.skywalking.apm.collector.core.queue.EndOfBatchContext;
/**
* @author peng-yongsheng
*/
public abstract class EndOfBatchQueueMessage extends AbstractHashMessage {
private boolean endOfBatch;
public EndOfBatchQueueMessage(String key) {
super(key);
endOfBatch = false;
}
public interface QueueData {
public final boolean isEndOfBatch() {
return endOfBatch;
}
EndOfBatchContext getEndOfBatchContext();
public final void setEndOfBatch(boolean endOfBatch) {
this.endOfBatch = endOfBatch;
}
void setEndOfBatchContext(EndOfBatchContext context);
}
/*
* 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.core.data;
/**
* @author peng-yongsheng
*/
public interface RemoteData extends Data {
String selectKey();
}
......@@ -16,29 +16,22 @@
*
*/
package org.apache.skywalking.apm.collector.core.data;
import org.apache.skywalking.apm.collector.core.queue.EndOfBatchContext;
/**
* The <code>AbstractHashMessage</code> implementations represent aggregate message,
* which use to aggregate metric.
* <p>
*
* @author peng-yongsheng
* @since v3.0-2017
*/
public abstract class AbstractHashMessage {
private int hashCode;
public abstract class StreamData implements RemoteData, QueueData {
public AbstractHashMessage(String key) {
this.hashCode = key.hashCode();
}
private EndOfBatchContext endOfBatchContext;
public int getHashCode() {
return hashCode;
@Override public final EndOfBatchContext getEndOfBatchContext() {
return this.endOfBatchContext;
}
public void setKey(String key) {
this.hashCode = key.hashCode();
@Override public final void setEndOfBatchContext(EndOfBatchContext context) {
this.endOfBatchContext = endOfBatchContext;
}
}
/*
* 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.core.queue;
/**
* @author peng-yongsheng
*/
public class EndOfBatchContext {
private boolean isEndOfBatch;
public EndOfBatchContext(boolean isEndOfBatch) {
this.isEndOfBatch = isEndOfBatch;
}
public boolean isEndOfBatch() {
return isEndOfBatch;
}
public void setEndOfBatch(boolean endOfBatch) {
isEndOfBatch = endOfBatch;
}
}
......@@ -16,12 +16,11 @@
*
*/
package org.apache.skywalking.apm.collector.remote.service;
import java.util.HashMap;
import java.util.Map;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.RemoteData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -33,7 +32,7 @@ public class CommonRemoteDataRegisterService implements RemoteDataRegisterServic
private final Logger logger = LoggerFactory.getLogger(CommonRemoteDataRegisterService.class);
private Integer id;
private final Map<Class<? extends Data>, Integer> dataClassMapping;
private final Map<Class<? extends RemoteData>, Integer> dataClassMapping;
private final Map<Integer, RemoteDataInstanceCreator> dataInstanceCreatorMapping;
public CommonRemoteDataRegisterService() {
......@@ -42,7 +41,7 @@ public class CommonRemoteDataRegisterService implements RemoteDataRegisterServic
this.dataInstanceCreatorMapping = new HashMap<>();
}
@Override public void register(Class<? extends Data> dataClass, RemoteDataInstanceCreator instanceCreator) {
@Override public void register(Class<? extends RemoteData> dataClass, RemoteDataInstanceCreator instanceCreator) {
if (!dataClassMapping.containsKey(dataClass)) {
dataClassMapping.put(dataClass, this.id);
dataInstanceCreatorMapping.put(this.id, instanceCreator);
......@@ -53,7 +52,7 @@ public class CommonRemoteDataRegisterService implements RemoteDataRegisterServic
}
@Override
public Integer getRemoteDataId(Class<? extends Data> dataClass) throws RemoteDataMappingIdNotFoundException {
public Integer getRemoteDataId(Class<? extends RemoteData> dataClass) throws RemoteDataMappingIdNotFoundException {
if (dataClassMapping.containsKey(dataClass)) {
return dataClassMapping.get(dataClass);
} else {
......
......@@ -16,10 +16,9 @@
*
*/
package org.apache.skywalking.apm.collector.remote.service;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.RemoteData;
/**
* @author peng-yongsheng
......@@ -27,7 +26,7 @@ import org.apache.skywalking.apm.collector.core.data.Data;
public interface RemoteClient extends Comparable<RemoteClient> {
String getAddress();
void push(int graphId, int nodeId, Data data);
void push(int graphId, int nodeId, RemoteData data);
boolean equals(String address);
}
......@@ -16,14 +16,13 @@
*
*/
package org.apache.skywalking.apm.collector.remote.service;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.RemoteData;
/**
* @author peng-yongsheng
*/
public interface RemoteDataIDGetter {
Integer getRemoteDataId(Class<? extends Data> dataClass) throws RemoteDataMappingIdNotFoundException;
Integer getRemoteDataId(Class<? extends RemoteData> dataClass) throws RemoteDataMappingIdNotFoundException;
}
......@@ -16,19 +16,18 @@
*
*/
package org.apache.skywalking.apm.collector.remote.service;
import org.apache.skywalking.apm.collector.core.data.RemoteData;
import org.apache.skywalking.apm.collector.core.module.Service;
import org.apache.skywalking.apm.collector.core.data.Data;
/**
* @author peng-yongsheng
*/
public interface RemoteDataRegisterService extends Service {
void register(Class<? extends Data> dataClass, RemoteDataInstanceCreator instanceCreator);
void register(Class<? extends RemoteData> dataClass, RemoteDataInstanceCreator instanceCreator);
interface RemoteDataInstanceCreator<RemoteData extends Data> {
RemoteData createInstance(String id);
interface RemoteDataInstanceCreator<REMOTE_DATA extends RemoteData> {
REMOTE_DATA createInstance(String id);
}
}
......@@ -16,14 +16,11 @@
*
*/
package org.apache.skywalking.apm.collector.remote.service;
import org.apache.skywalking.apm.collector.core.data.Data;
/**
* @author peng-yongsheng
*/
public interface RemoteDeserializeService<RemoteData> {
void deserialize(RemoteData remoteData, Data data);
void deserialize(RemoteData remoteData, org.apache.skywalking.apm.collector.core.data.RemoteData data);
}
......@@ -16,17 +16,16 @@
*
*/
package org.apache.skywalking.apm.collector.remote.service;
import org.apache.skywalking.apm.collector.core.data.RemoteData;
import org.apache.skywalking.apm.collector.core.module.Service;
import org.apache.skywalking.apm.collector.core.data.Data;
/**
* @author peng-yongsheng
*/
public interface RemoteSenderService extends Service {
Mode send(int graphId, int nodeId, Data data, Selector selector);
Mode send(int graphId, int nodeId, RemoteData remoteData, Selector selector);
enum Mode {
Remote, Local
......
......@@ -16,14 +16,13 @@
*
*/
package org.apache.skywalking.apm.collector.remote.service;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.RemoteData;
/**
* @author peng-yongsheng
*/
public interface RemoteSerializeService<Builder> {
Builder serialize(Data data);
Builder serialize(RemoteData data);
}
......@@ -16,19 +16,17 @@
*
*/
package org.apache.skywalking.apm.collector.remote.grpc.handler;
import io.grpc.stub.StreamObserver;
import org.apache.skywalking.apm.collector.core.data.Data;
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.util.Const;
import org.apache.skywalking.apm.collector.remote.grpc.service.GRPCRemoteDeserializeService;
import org.apache.skywalking.apm.collector.remote.grpc.proto.Empty;
import org.apache.skywalking.apm.collector.remote.grpc.proto.RemoteCommonServiceGrpc;
import org.apache.skywalking.apm.collector.remote.grpc.proto.RemoteData;
import org.apache.skywalking.apm.collector.remote.grpc.proto.RemoteMessage;
import org.apache.skywalking.apm.collector.remote.grpc.service.GRPCRemoteDeserializeService;
import org.apache.skywalking.apm.collector.remote.service.RemoteDataInstanceCreatorGetter;
import org.apache.skywalking.apm.collector.remote.service.RemoteDataInstanceCreatorNotFoundException;
import org.apache.skywalking.apm.collector.server.grpc.GRPCHandler;
......@@ -60,7 +58,7 @@ public class RemoteCommonServiceHandler extends RemoteCommonServiceGrpc.RemoteCo
RemoteData remoteData = message.getRemoteData();
try {
Data output = instanceCreatorGetter.getInstanceCreator(remoteDataId).createInstance(Const.EMPTY_STRING);
org.apache.skywalking.apm.collector.core.data.RemoteData output = instanceCreatorGetter.getInstanceCreator(remoteDataId).createInstance(Const.EMPTY_STRING);
service.deserialize(remoteData, output);
Next next = GraphManager.INSTANCE.findGraph(graphId).toFinder().findNext(nodeId);
next.execute(output);
......
......@@ -16,13 +16,11 @@
*
*/
package org.apache.skywalking.apm.collector.remote.grpc.service;
import io.grpc.stub.StreamObserver;
import java.util.List;
import org.apache.skywalking.apm.collector.client.grpc.GRPCClient;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.remote.grpc.proto.Empty;
import org.apache.skywalking.apm.collector.remote.grpc.proto.RemoteCommonServiceGrpc;
import org.apache.skywalking.apm.collector.remote.grpc.proto.RemoteMessage;
......@@ -62,7 +60,7 @@ public class GRPCRemoteClient implements RemoteClient {
return this.address;
}
@Override public void push(int graphId, int nodeId, Data data) {
@Override public void push(int graphId, int nodeId, org.apache.skywalking.apm.collector.core.data.RemoteData data) {
try {
Integer remoteDataId = remoteDataIDGetter.getRemoteDataId(data.getClass());
RemoteMessage.Builder builder = RemoteMessage.newBuilder();
......@@ -72,7 +70,6 @@ public class GRPCRemoteClient implements RemoteClient {
builder.setRemoteData(service.serialize(data));
this.carrier.produce(builder.build());
logger.debug("put remote message into queue, id: {}", data.getId());
} catch (RemoteDataMappingIdNotFoundException e) {
logger.error(e.getMessage(), e);
}
......
......@@ -16,7 +16,6 @@
*
*/
package org.apache.skywalking.apm.collector.remote.grpc.service;
import org.apache.skywalking.apm.collector.client.ClientException;
......
......@@ -16,19 +16,18 @@
*
*/
package org.apache.skywalking.apm.collector.remote.grpc.service;
import org.apache.skywalking.apm.collector.remote.service.RemoteDeserializeService;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.remote.grpc.proto.RemoteData;
import org.apache.skywalking.apm.collector.remote.service.RemoteDeserializeService;
/**
* @author peng-yongsheng
*/
public class GRPCRemoteDeserializeService implements RemoteDeserializeService<RemoteData> {
@Override public void deserialize(RemoteData remoteData, Data data) {
@Override
public void deserialize(RemoteData remoteData, org.apache.skywalking.apm.collector.core.data.RemoteData data) {
for (int i = 0; i < remoteData.getDataStringsCount(); i++) {
data.setDataString(i, remoteData.getDataStrings(i));
}
......
......@@ -16,7 +16,6 @@
*
*/
package org.apache.skywalking.apm.collector.remote.grpc.service;
import java.util.ArrayList;
......@@ -24,7 +23,7 @@ import java.util.Collections;
import java.util.List;
import org.apache.skywalking.apm.collector.cluster.ClusterModuleListener;
import org.apache.skywalking.apm.collector.core.UnexpectedException;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.RemoteData;
import org.apache.skywalking.apm.collector.remote.RemoteModule;
import org.apache.skywalking.apm.collector.remote.grpc.RemoteModuleGRPCProvider;
import org.apache.skywalking.apm.collector.remote.grpc.service.selector.ForeverFirstSelector;
......@@ -50,27 +49,27 @@ public class GRPCRemoteSenderService extends ClusterModuleListener implements Re
private final int channelSize;
private final int bufferSize;
@Override public Mode send(int graphId, int nodeId, Data data, Selector selector) {
@Override public Mode send(int graphId, int nodeId, RemoteData remoteData, Selector selector) {
RemoteClient remoteClient;
switch (selector) {
case HashCode:
remoteClient = hashCodeSelector.select(remoteClients, data);
return sendToRemoteWhenNotSelf(remoteClient, graphId, nodeId, data);
remoteClient = hashCodeSelector.select(remoteClients, remoteData);
return sendToRemoteWhenNotSelf(remoteClient, graphId, nodeId, remoteData);
case Rolling:
remoteClient = rollingSelector.select(remoteClients, data);
return sendToRemoteWhenNotSelf(remoteClient, graphId, nodeId, data);
remoteClient = rollingSelector.select(remoteClients, remoteData);
return sendToRemoteWhenNotSelf(remoteClient, graphId, nodeId, remoteData);
case ForeverFirst:
remoteClient = foreverFirstSelector.select(remoteClients, data);
return sendToRemoteWhenNotSelf(remoteClient, graphId, nodeId, data);
remoteClient = foreverFirstSelector.select(remoteClients, remoteData);
return sendToRemoteWhenNotSelf(remoteClient, graphId, nodeId, remoteData);
}
throw new UnexpectedException("Selector not match, Just support hash, rolling, forever first selector.");
}
private Mode sendToRemoteWhenNotSelf(RemoteClient remoteClient, int graphId, int nodeId, Data data) {
private Mode sendToRemoteWhenNotSelf(RemoteClient remoteClient, int graphId, int nodeId, RemoteData remoteData) {
if (remoteClient.equals(selfAddress)) {
return Mode.Local;
} else {
remoteClient.push(graphId, nodeId, data);
remoteClient.push(graphId, nodeId, remoteData);
return Mode.Remote;
}
}
......
......@@ -16,10 +16,8 @@
*
*/
package org.apache.skywalking.apm.collector.remote.grpc.service;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.remote.grpc.proto.RemoteData;
import org.apache.skywalking.apm.collector.remote.service.RemoteSerializeService;
......@@ -28,7 +26,7 @@ import org.apache.skywalking.apm.collector.remote.service.RemoteSerializeService
*/
public class GRPCRemoteSerializeService implements RemoteSerializeService<RemoteData.Builder> {
@Override public RemoteData.Builder serialize(Data data) {
@Override public RemoteData.Builder serialize(org.apache.skywalking.apm.collector.core.data.RemoteData data) {
RemoteData.Builder builder = RemoteData.newBuilder();
for (int i = 0; i < data.getDataStringsCount(); i++) {
builder.addDataStrings(data.getDataString(i));
......
......@@ -16,11 +16,10 @@
*
*/
package org.apache.skywalking.apm.collector.remote.grpc.service.selector;
import java.util.List;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.RemoteData;
import org.apache.skywalking.apm.collector.remote.service.RemoteClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -32,7 +31,7 @@ public class ForeverFirstSelector implements RemoteClientSelector {
private final Logger logger = LoggerFactory.getLogger(ForeverFirstSelector.class);
@Override public RemoteClient select(List<RemoteClient> clients, Data message) {
@Override public RemoteClient select(List<RemoteClient> clients, RemoteData remoteData) {
logger.debug("clients size: {}", clients.size());
return clients.get(0);
}
......
......@@ -16,11 +16,10 @@
*
*/
package org.apache.skywalking.apm.collector.remote.grpc.service.selector;
import java.util.List;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.RemoteData;
import org.apache.skywalking.apm.collector.remote.service.RemoteClient;
/**
......@@ -28,9 +27,9 @@ import org.apache.skywalking.apm.collector.remote.service.RemoteClient;
*/
public class HashCodeSelector implements RemoteClientSelector {
@Override public RemoteClient select(List<RemoteClient> clients, Data message) {
@Override public RemoteClient select(List<RemoteClient> clients, RemoteData remoteData) {
int size = clients.size();
int selectIndex = Math.abs(message.getHashCode()) % size;
int selectIndex = Math.abs(remoteData.selectKey().hashCode()) % size;
return clients.get(selectIndex);
}
}
......@@ -16,16 +16,15 @@
*
*/
package org.apache.skywalking.apm.collector.remote.grpc.service.selector;
import java.util.List;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.RemoteData;
import org.apache.skywalking.apm.collector.remote.service.RemoteClient;
/**
* @author peng-yongsheng
*/
public interface RemoteClientSelector {
RemoteClient select(List<RemoteClient> clients, Data message);
RemoteClient select(List<RemoteClient> clients, RemoteData remoteData);
}
......@@ -16,11 +16,10 @@
*
*/
package org.apache.skywalking.apm.collector.remote.grpc.service.selector;
import java.util.List;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.RemoteData;
import org.apache.skywalking.apm.collector.remote.service.RemoteClient;
/**
......@@ -30,7 +29,7 @@ public class RollingSelector implements RemoteClientSelector {
private int index = 0;
@Override public RemoteClient select(List<RemoteClient> clients, Data message) {
@Override public RemoteClient select(List<RemoteClient> clients, RemoteData remoteData) {
int size = clients.size();
index++;
int selectIndex = Math.abs(index) % size;
......
......@@ -19,12 +19,12 @@
package org.apache.skywalking.apm.collector.storage.base.dao;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.AbstractData;
/**
* @author peng-yongsheng
*/
public interface IPersistenceDAO<Insert, Update, DataImpl extends Data> extends DAO {
public interface IPersistenceDAO<Insert, Update, DataImpl extends AbstractData> extends DAO {
DataImpl get(String id);
Insert prepareBatchInsert(DataImpl data);
......
......@@ -19,14 +19,14 @@
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.AbstractData;
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 ApplicationAlarm extends Data implements Alarm {
public class ApplicationAlarm extends AbstractData implements Alarm {
private static final Column[] STRING_COLUMNS = {
new Column(ApplicationAlarmTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
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.AbstractData;
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 ApplicationAlarmList extends Data {
public class ApplicationAlarmList extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(ApplicationAlarmListTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
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.AbstractData;
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 ApplicationReferenceAlarm extends Data implements Alarm {
public class ApplicationReferenceAlarm extends AbstractData implements Alarm {
private static final Column[] STRING_COLUMNS = {
new Column(ApplicationReferenceAlarmTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
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.AbstractData;
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 ApplicationReferenceAlarmList extends Data {
public class ApplicationReferenceAlarmList extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(ApplicationReferenceAlarmListTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
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.AbstractData;
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 InstanceAlarm extends Data implements Alarm {
public class InstanceAlarm extends AbstractData implements Alarm {
private static final Column[] STRING_COLUMNS = {
new Column(InstanceAlarmTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
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.AbstractData;
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 InstanceAlarmList extends Data {
public class InstanceAlarmList extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(InstanceAlarmListTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
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.AbstractData;
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 InstanceReferenceAlarm extends Data implements Alarm {
public class InstanceReferenceAlarm extends AbstractData implements Alarm {
private static final Column[] STRING_COLUMNS = {
new Column(InstanceReferenceAlarmTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
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.AbstractData;
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 InstanceReferenceAlarmList extends Data {
public class InstanceReferenceAlarmList extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(InstanceReferenceAlarmListTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
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.AbstractData;
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 ServiceAlarm extends Data implements Alarm {
public class ServiceAlarm extends AbstractData implements Alarm {
private static final Column[] STRING_COLUMNS = {
new Column(ServiceAlarmTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
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.AbstractData;
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 ServiceAlarmList extends Data {
public class ServiceAlarmList extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(ServiceAlarmListTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
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.AbstractData;
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 {
public class ServiceReferenceAlarm extends AbstractData implements Alarm {
private static final Column[] STRING_COLUMNS = {
new Column(ServiceReferenceAlarmTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
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.AbstractData;
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 {
public class ServiceReferenceAlarmList extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(ServiceReferenceAlarmListTable.COLUMN_ID, new NonOperation()),
......
......@@ -20,14 +20,14 @@
package org.apache.skywalking.apm.collector.storage.table.application;
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.AbstractData;
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 ApplicationComponent extends Data {
public class ApplicationComponent extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(ApplicationComponentTable.COLUMN_ID, new NonOperation()),
......
......@@ -20,14 +20,14 @@
package org.apache.skywalking.apm.collector.storage.table.application;
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.AbstractData;
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 ApplicationMapping extends Data {
public class ApplicationMapping extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(ApplicationMappingTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,7 +19,7 @@
package org.apache.skywalking.apm.collector.storage.table.application;
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.AbstractData;
import org.apache.skywalking.apm.collector.core.data.operator.AddOperation;
import org.apache.skywalking.apm.collector.core.data.operator.NonOperation;
import org.apache.skywalking.apm.collector.storage.table.Metric;
......@@ -27,7 +27,7 @@ import org.apache.skywalking.apm.collector.storage.table.Metric;
/**
* @author peng-yongsheng
*/
public class ApplicationMetric extends Data implements Metric {
public class ApplicationMetric extends AbstractData implements Metric {
private static final Column[] STRING_COLUMNS = {
new Column(ApplicationMetricTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,7 +19,7 @@
package org.apache.skywalking.apm.collector.storage.table.application;
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.AbstractData;
import org.apache.skywalking.apm.collector.core.data.operator.AddOperation;
import org.apache.skywalking.apm.collector.core.data.operator.NonOperation;
import org.apache.skywalking.apm.collector.storage.table.Metric;
......@@ -27,7 +27,7 @@ import org.apache.skywalking.apm.collector.storage.table.Metric;
/**
* @author peng-yongsheng
*/
public class ApplicationReferenceMetric extends Data implements Metric {
public class ApplicationReferenceMetric extends AbstractData implements Metric {
private static final Column[] STRING_COLUMNS = {
new Column(ApplicationReferenceMetricTable.COLUMN_ID, new NonOperation()),
......
......@@ -20,14 +20,14 @@
package org.apache.skywalking.apm.collector.storage.table.global;
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.AbstractData;
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 GlobalTrace extends Data {
public class GlobalTrace extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(GlobalTraceTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
package org.apache.skywalking.apm.collector.storage.table.instance;
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.AbstractData;
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 InstanceMapping extends Data {
public class InstanceMapping extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(InstanceMappingTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,7 +19,7 @@
package org.apache.skywalking.apm.collector.storage.table.instance;
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.AbstractData;
import org.apache.skywalking.apm.collector.core.data.operator.AddOperation;
import org.apache.skywalking.apm.collector.core.data.operator.CoverOperation;
import org.apache.skywalking.apm.collector.core.data.operator.NonOperation;
......@@ -28,7 +28,7 @@ import org.apache.skywalking.apm.collector.storage.table.Metric;
/**
* @author peng-yongsheng
*/
public class InstanceMetric extends Data implements Metric {
public class InstanceMetric extends AbstractData implements Metric {
private static final Column[] STRING_COLUMNS = {
new Column(InstanceMetricTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,7 +19,7 @@
package org.apache.skywalking.apm.collector.storage.table.instance;
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.AbstractData;
import org.apache.skywalking.apm.collector.core.data.operator.AddOperation;
import org.apache.skywalking.apm.collector.core.data.operator.NonOperation;
import org.apache.skywalking.apm.collector.storage.table.Metric;
......@@ -27,7 +27,7 @@ import org.apache.skywalking.apm.collector.storage.table.Metric;
/**
* @author peng-yongsheng
*/
public class InstanceReferenceMetric extends Data implements Metric {
public class InstanceReferenceMetric extends AbstractData implements Metric {
private static final Column[] STRING_COLUMNS = {
new Column(InstanceReferenceMetricTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,7 +19,7 @@
package org.apache.skywalking.apm.collector.storage.table.jvm;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.AbstractData;
import org.apache.skywalking.apm.collector.core.data.Column;
import org.apache.skywalking.apm.collector.core.data.operator.AddOperation;
import org.apache.skywalking.apm.collector.core.data.operator.CoverOperation;
......@@ -28,7 +28,7 @@ import org.apache.skywalking.apm.collector.core.data.operator.NonOperation;
/**
* @author peng-yongsheng
*/
public class CpuMetric extends Data {
public class CpuMetric extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(CpuMetricTable.COLUMN_ID, new NonOperation()),
......
......@@ -20,14 +20,14 @@
package org.apache.skywalking.apm.collector.storage.table.jvm;
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.AbstractData;
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 GCMetric extends Data {
public class GCMetric extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(GCMetricTable.COLUMN_ID, new NonOperation()),
......
......@@ -20,14 +20,14 @@
package org.apache.skywalking.apm.collector.storage.table.jvm;
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.AbstractData;
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 MemoryMetric extends Data {
public class MemoryMetric extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(MemoryMetricTable.COLUMN_ID, new NonOperation()),
......
......@@ -20,14 +20,14 @@
package org.apache.skywalking.apm.collector.storage.table.jvm;
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.AbstractData;
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 MemoryPoolMetric extends Data {
public class MemoryPoolMetric extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(MemoryPoolMetricTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
package org.apache.skywalking.apm.collector.storage.table.register;
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.AbstractData;
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 Application extends Data {
public class Application extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(ApplicationTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,14 +19,14 @@
package org.apache.skywalking.apm.collector.storage.table.register;
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.AbstractData;
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 Instance extends Data {
public class Instance extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(InstanceTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,13 +19,13 @@
package org.apache.skywalking.apm.collector.storage.table.register;
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.AbstractData;
import org.apache.skywalking.apm.collector.core.data.operator.NonOperation;
/**
* @author peng-yongsheng
*/
public class NetworkAddress extends Data {
public class NetworkAddress extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(NetworkAddressTable.COLUMN_ID, new NonOperation()),
......
......@@ -20,14 +20,14 @@
package org.apache.skywalking.apm.collector.storage.table.register;
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.AbstractData;
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 ServiceName extends Data {
public class ServiceName extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(ServiceNameTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,7 +19,7 @@
package org.apache.skywalking.apm.collector.storage.table.segment;
import org.apache.skywalking.apm.collector.core.data.Data;
import org.apache.skywalking.apm.collector.core.data.AbstractData;
import org.apache.skywalking.apm.collector.core.data.Column;
import org.apache.skywalking.apm.collector.core.data.operator.CoverOperation;
import org.apache.skywalking.apm.collector.core.data.operator.NonOperation;
......@@ -27,7 +27,7 @@ import org.apache.skywalking.apm.collector.core.data.operator.NonOperation;
/**
* @author peng-yongsheng
*/
public class Segment extends Data {
public class Segment extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(SegmentTable.COLUMN_ID, new NonOperation()),
......
......@@ -20,14 +20,14 @@
package org.apache.skywalking.apm.collector.storage.table.segment;
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.AbstractData;
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 SegmentCost extends Data {
public class SegmentCost extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(SegmentCostTable.COLUMN_ID, new NonOperation()),
......
......@@ -20,14 +20,14 @@
package org.apache.skywalking.apm.collector.storage.table.service;
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.AbstractData;
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 ServiceEntry extends Data {
public class ServiceEntry extends AbstractData {
private static final Column[] STRING_COLUMNS = {
new Column(ServiceEntryTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,7 +19,7 @@
package org.apache.skywalking.apm.collector.storage.table.service;
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.AbstractData;
import org.apache.skywalking.apm.collector.core.data.operator.AddOperation;
import org.apache.skywalking.apm.collector.core.data.operator.NonOperation;
import org.apache.skywalking.apm.collector.storage.table.Metric;
......@@ -27,7 +27,7 @@ import org.apache.skywalking.apm.collector.storage.table.Metric;
/**
* @author peng-yongsheng
*/
public class ServiceMetric extends Data implements Metric {
public class ServiceMetric extends AbstractData implements Metric {
private static final Column[] STRING_COLUMNS = {
new Column(ServiceMetricTable.COLUMN_ID, new NonOperation()),
......
......@@ -19,7 +19,7 @@
package org.apache.skywalking.apm.collector.storage.table.service;
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.AbstractData;
import org.apache.skywalking.apm.collector.core.data.operator.AddOperation;
import org.apache.skywalking.apm.collector.core.data.operator.NonOperation;
import org.apache.skywalking.apm.collector.storage.table.Metric;
......@@ -27,7 +27,7 @@ import org.apache.skywalking.apm.collector.storage.table.Metric;
/**
* @author peng-yongsheng
*/
public class ServiceReferenceMetric extends Data implements Metric {
public class ServiceReferenceMetric extends AbstractData implements Metric {
private static final Column[] STRING_COLUMNS = {
new Column(ServiceReferenceMetricTable.COLUMN_ID, new NonOperation()),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册