Define the remote data interface.
This commit is contained in:
parent
b61ab344ef
commit
b5444e7ea2
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,196 @@
|
|||
/*
|
||||
* 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 interface Data {
|
||||
int getDataStringsCount();
|
||||
|
||||
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;
|
||||
}
|
||||
int getDataLongsCount();
|
||||
|
||||
public int getDataStringsCount() {
|
||||
return dataStrings.length;
|
||||
}
|
||||
int getDataDoublesCount();
|
||||
|
||||
public int getDataLongsCount() {
|
||||
return dataLongs.length;
|
||||
}
|
||||
int getDataIntegersCount();
|
||||
|
||||
public int getDataDoublesCount() {
|
||||
return dataDoubles.length;
|
||||
}
|
||||
int getDataBooleansCount();
|
||||
|
||||
public int getDataIntegersCount() {
|
||||
return dataIntegers.length;
|
||||
}
|
||||
int getDataBytesCount();
|
||||
|
||||
public int getDataBooleansCount() {
|
||||
return dataBooleans.length;
|
||||
}
|
||||
void setDataString(int position, String value);
|
||||
|
||||
public int getDataBytesCount() {
|
||||
return dataBytes.length;
|
||||
}
|
||||
void setDataLong(int position, Long value);
|
||||
|
||||
public void setDataString(int position, String value) {
|
||||
dataStrings[position] = value;
|
||||
}
|
||||
void setDataDouble(int position, Double value);
|
||||
|
||||
public void setDataLong(int position, Long value) {
|
||||
dataLongs[position] = value;
|
||||
}
|
||||
void setDataInteger(int position, Integer value);
|
||||
|
||||
public void setDataDouble(int position, Double value) {
|
||||
dataDoubles[position] = value;
|
||||
}
|
||||
void setDataBoolean(int position, Boolean value);
|
||||
|
||||
public void setDataInteger(int position, Integer value) {
|
||||
dataIntegers[position] = value;
|
||||
}
|
||||
void setDataBytes(int position, byte[] dataBytes);
|
||||
|
||||
public void setDataBoolean(int position, Boolean value) {
|
||||
dataBooleans[position] = value;
|
||||
}
|
||||
String getDataString(int position);
|
||||
|
||||
public void setDataBytes(int position, byte[] dataBytes) {
|
||||
this.dataBytes[position] = dataBytes;
|
||||
}
|
||||
Long getDataLong(int position);
|
||||
|
||||
public String getDataString(int position) {
|
||||
return dataStrings[position];
|
||||
}
|
||||
Double getDataDouble(int 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];
|
||||
}
|
||||
}
|
||||
Integer getDataInteger(int 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];
|
||||
}
|
||||
}
|
||||
Boolean getDataBoolean(int 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();
|
||||
}
|
||||
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 {
|
||||
public interface QueueData {
|
||||
|
||||
private boolean endOfBatch;
|
||||
EndOfBatchContext getEndOfBatchContext();
|
||||
|
||||
public EndOfBatchQueueMessage(String key) {
|
||||
super(key);
|
||||
endOfBatch = false;
|
||||
}
|
||||
|
||||
public final boolean isEndOfBatch() {
|
||||
return endOfBatch;
|
||||
}
|
||||
|
||||
public final void setEndOfBatch(boolean endOfBatch) {
|
||||
this.endOfBatch = endOfBatch;
|
||||
}
|
||||
void setEndOfBatchContext(EndOfBatchContext context);
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
* 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;
|
||||
|
||||
@Override public final EndOfBatchContext getEndOfBatchContext() {
|
||||
return this.endOfBatchContext;
|
||||
}
|
||||
|
||||
public int getHashCode() {
|
||||
return hashCode;
|
||||
}
|
||||
|
||||
public void setKey(String key) {
|
||||
this.hashCode = key.hashCode();
|
||||
@Override public final void setEndOfBatchContext(EndOfBatchContext context) {
|
||||
this.endOfBatchContext = endOfBatchContext;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* 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()),
|
||||
|
|
|
|||
Loading…
Reference in New Issue