diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ApplicationH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ApplicationH2DAO.java index 1e8b4e4ef..630d7f50e 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ApplicationH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ApplicationH2DAO.java @@ -22,10 +22,9 @@ import java.util.HashMap; import java.util.Map; import org.skywalking.apm.collector.client.h2.H2Client; import org.skywalking.apm.collector.client.h2.H2ClientException; -import org.skywalking.apm.collector.core.data.Data; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.IApplicationDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.table.register.Application; import org.skywalking.apm.collector.storage.table.register.ApplicationTable; import org.slf4j.Logger; @@ -48,16 +47,13 @@ public class ApplicationH2DAO extends H2DAO implements IApplicationDAO { } @Override - public void save(Data data) { - String id = Application.Application.INSTANCE.getId(data); - int applicationId = Application.Application.INSTANCE.getApplicationId(data); - String applicationCode = Application.Application.INSTANCE.getApplicationCode(data); + public void save(Application application) { H2Client client = getClient(); Map source = new HashMap<>(); - source.put(ApplicationTable.COLUMN_ID, id); - source.put(ApplicationTable.COLUMN_APPLICATION_CODE, applicationCode); - source.put(ApplicationTable.COLUMN_APPLICATION_ID, applicationId); + source.put(ApplicationTable.COLUMN_ID, application.getId()); + source.put(ApplicationTable.COLUMN_APPLICATION_CODE, application.getApplicationCode()); + source.put(ApplicationTable.COLUMN_APPLICATION_ID, application.getApplicationId()); String sql = SqlBuilder.buildBatchInsertSql(ApplicationTable.TABLE, source.keySet()); Object[] params = source.values().toArray(new Object[0]); diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/CpuMetricH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/CpuMetricH2DAO.java index 9c6503df7..4f25d73f7 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/CpuMetricH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/CpuMetricH2DAO.java @@ -20,13 +20,12 @@ package org.skywalking.apm.collector.storage.h2.dao; import java.util.HashMap; import java.util.Map; -import org.skywalking.apm.collector.core.data.Data; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.data.DataDefine; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.ICpuMetricDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; +import org.skywalking.apm.collector.storage.table.jvm.CpuMetric; import org.skywalking.apm.collector.storage.table.jvm.CpuMetricTable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,29 +33,29 @@ import org.slf4j.LoggerFactory; /** * @author peng-yongsheng, clevertension */ -public class CpuMetricH2DAO extends H2DAO implements ICpuMetricDAO, IPersistenceDAO { +public class CpuMetricH2DAO extends H2DAO implements ICpuMetricDAO, IPersistenceDAO { private final Logger logger = LoggerFactory.getLogger(CpuMetricH2DAO.class); - @Override public Data get(String id, DataDefine dataDefine) { + @Override public CpuMetric get(String id) { return null; } - @Override public H2SqlEntity prepareBatchInsert(Data data) { + @Override public H2SqlEntity prepareBatchInsert(CpuMetric data) { H2SqlEntity entity = new H2SqlEntity(); Map source = new HashMap<>(); - source.put(CpuMetricTable.COLUMN_ID, data.getDataString(0)); - source.put(CpuMetricTable.COLUMN_INSTANCE_ID, data.getDataInteger(0)); - source.put(CpuMetricTable.COLUMN_USAGE_PERCENT, data.getDataDouble(0)); - source.put(CpuMetricTable.COLUMN_TIME_BUCKET, data.getDataLong(0)); + source.put(CpuMetricTable.COLUMN_ID, data.getId()); + source.put(CpuMetricTable.COLUMN_INSTANCE_ID, data.getInstanceId()); + source.put(CpuMetricTable.COLUMN_USAGE_PERCENT, data.getUsagePercent()); + source.put(CpuMetricTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); - logger.debug("prepare cpu metric batch insert, getId: {}", data.getDataString(0)); + logger.debug("prepare cpu metric batch insert, getId: {}", data.getId()); String sql = SqlBuilder.buildBatchInsertSql(CpuMetricTable.TABLE, source.keySet()); entity.setSql(sql); entity.setParams(source.values().toArray(new Object[0])); return entity; } - @Override public H2SqlEntity prepareBatchUpdate(Data data) { + @Override public H2SqlEntity prepareBatchUpdate(CpuMetric data) { return null; } } diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/GCMetricH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/GCMetricH2DAO.java index 669d4ba32..aa416d200 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/GCMetricH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/GCMetricH2DAO.java @@ -20,32 +20,32 @@ package org.skywalking.apm.collector.storage.h2.dao; import java.util.HashMap; import java.util.Map; -import org.skywalking.apm.collector.core.data.Data; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.data.DataDefine; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.IGCMetricDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; +import org.skywalking.apm.collector.storage.table.jvm.GCMetric; import org.skywalking.apm.collector.storage.table.jvm.GCMetricTable; /** * @author peng-yongsheng, clevertension */ -public class GCMetricH2DAO extends H2DAO implements IGCMetricDAO, IPersistenceDAO { - @Override public Data get(String id, DataDefine dataDefine) { +public class GCMetricH2DAO extends H2DAO implements IGCMetricDAO, IPersistenceDAO { + + @Override public GCMetric get(String id) { return null; } - @Override public H2SqlEntity prepareBatchInsert(Data data) { + @Override public H2SqlEntity prepareBatchInsert(GCMetric data) { H2SqlEntity entity = new H2SqlEntity(); Map source = new HashMap<>(); - source.put(GCMetricTable.COLUMN_ID, data.getDataString(0)); - source.put(GCMetricTable.COLUMN_INSTANCE_ID, data.getDataInteger(0)); - source.put(GCMetricTable.COLUMN_PHRASE, data.getDataInteger(1)); - source.put(GCMetricTable.COLUMN_COUNT, data.getDataLong(0)); - source.put(GCMetricTable.COLUMN_TIME, data.getDataLong(1)); - source.put(GCMetricTable.COLUMN_TIME_BUCKET, data.getDataLong(2)); + source.put(GCMetricTable.COLUMN_ID, data.getId()); + source.put(GCMetricTable.COLUMN_INSTANCE_ID, data.getInstanceId()); + source.put(GCMetricTable.COLUMN_PHRASE, data.getPhrase()); + source.put(GCMetricTable.COLUMN_COUNT, data.getCount()); + source.put(GCMetricTable.COLUMN_TIME, data.getTime()); + source.put(GCMetricTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); String sql = SqlBuilder.buildBatchInsertSql(GCMetricTable.TABLE, source.keySet()); entity.setSql(sql); @@ -53,7 +53,7 @@ public class GCMetricH2DAO extends H2DAO implements IGCMetricDAO, IPersistenceDA return entity; } - @Override public H2SqlEntity prepareBatchUpdate(Data data) { + @Override public H2SqlEntity prepareBatchUpdate(GCMetric data) { return null; } } diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/GlobalTraceH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/GlobalTraceH2DAO.java index da45e9ba7..ac8055a75 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/GlobalTraceH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/GlobalTraceH2DAO.java @@ -21,13 +21,12 @@ package org.skywalking.apm.collector.storage.h2.dao; import java.util.HashMap; import java.util.Map; import org.skywalking.apm.collector.core.UnexpectedException; -import org.skywalking.apm.collector.core.data.Data; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.data.DataDefine; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.IGlobalTraceDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; +import org.skywalking.apm.collector.storage.table.global.GlobalTrace; import org.skywalking.apm.collector.storage.table.global.GlobalTraceTable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,24 +34,24 @@ import org.slf4j.LoggerFactory; /** * @author peng-yongsheng, clevertension */ -public class GlobalTraceH2DAO extends H2DAO implements IGlobalTraceDAO, IPersistenceDAO { +public class GlobalTraceH2DAO extends H2DAO implements IGlobalTraceDAO, IPersistenceDAO { private final Logger logger = LoggerFactory.getLogger(GlobalTraceH2DAO.class); - @Override public Data get(String id, DataDefine dataDefine) { + @Override public GlobalTrace get(String id) { throw new UnexpectedException("There is no need to merge stream data with database data."); } - @Override public H2SqlEntity prepareBatchUpdate(Data data) { + @Override public H2SqlEntity prepareBatchUpdate(GlobalTrace data) { throw new UnexpectedException("There is no need to merge stream data with database data."); } - @Override public H2SqlEntity prepareBatchInsert(Data data) { + @Override public H2SqlEntity prepareBatchInsert(GlobalTrace data) { Map source = new HashMap<>(); H2SqlEntity entity = new H2SqlEntity(); - source.put(GlobalTraceTable.COLUMN_ID, data.getDataString(0)); - source.put(GlobalTraceTable.COLUMN_SEGMENT_ID, data.getDataString(1)); - source.put(GlobalTraceTable.COLUMN_GLOBAL_TRACE_ID, data.getDataString(2)); - source.put(GlobalTraceTable.COLUMN_TIME_BUCKET, data.getDataLong(0)); + source.put(GlobalTraceTable.COLUMN_ID, data.getId()); + source.put(GlobalTraceTable.COLUMN_SEGMENT_ID, data.getSegmentId()); + source.put(GlobalTraceTable.COLUMN_GLOBAL_TRACE_ID, data.getGlobalTraceId()); + source.put(GlobalTraceTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); logger.debug("global trace source: {}", source.toString()); String sql = SqlBuilder.buildBatchInsertSql(GlobalTraceTable.TABLE, source.keySet()); diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/InstPerformanceH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/InstPerformanceH2DAO.java index 5d1b2f2a8..3195c8890 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/InstPerformanceH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/InstPerformanceH2DAO.java @@ -26,13 +26,12 @@ import java.util.List; import java.util.Map; import org.skywalking.apm.collector.client.h2.H2Client; import org.skywalking.apm.collector.client.h2.H2ClientException; -import org.skywalking.apm.collector.core.data.Data; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.data.DataDefine; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.IInstPerformanceDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; +import org.skywalking.apm.collector.storage.table.instance.InstPerformance; import org.skywalking.apm.collector.storage.table.instance.InstPerformanceTable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,24 +39,24 @@ import org.slf4j.LoggerFactory; /** * @author peng-yongsheng, clevertension */ -public class InstPerformanceH2DAO extends H2DAO implements IInstPerformanceDAO, IPersistenceDAO { +public class InstPerformanceH2DAO extends H2DAO implements IInstPerformanceDAO, IPersistenceDAO { private final Logger logger = LoggerFactory.getLogger(InstPerformanceH2DAO.class); private static final String GET_SQL = "select * from {0} where {1} = ?"; - @Override public Data get(String id, DataDefine dataDefine) { + @Override public InstPerformance get(String id) { H2Client client = getClient(); String sql = SqlBuilder.buildSql(GET_SQL, InstPerformanceTable.TABLE, InstPerformanceTable.COLUMN_ID); Object[] params = new Object[] {id}; try (ResultSet rs = client.executeQuery(sql, params)) { if (rs.next()) { - Data data = dataDefine.build(id); - data.setDataInteger(0, rs.getInt(InstPerformanceTable.COLUMN_APPLICATION_ID)); - data.setDataInteger(1, rs.getInt(InstPerformanceTable.COLUMN_INSTANCE_ID)); - data.setDataInteger(2, rs.getInt(InstPerformanceTable.COLUMN_CALLS)); - data.setDataLong(0, rs.getLong(InstPerformanceTable.COLUMN_COST_TOTAL)); - data.setDataLong(1, rs.getLong(InstPerformanceTable.COLUMN_TIME_BUCKET)); - return data; + InstPerformance instPerformance = new InstPerformance(id); + instPerformance.setApplicationId(rs.getInt(InstPerformanceTable.COLUMN_APPLICATION_ID)); + instPerformance.setInstanceId(rs.getInt(InstPerformanceTable.COLUMN_INSTANCE_ID)); + instPerformance.setCalls(rs.getInt(InstPerformanceTable.COLUMN_CALLS)); + instPerformance.setCostTotal(rs.getLong(InstPerformanceTable.COLUMN_COST_TOTAL)); + instPerformance.setTimeBucket(rs.getLong(InstPerformanceTable.COLUMN_TIME_BUCKET)); + return instPerformance; } } catch (SQLException | H2ClientException e) { logger.error(e.getMessage(), e); @@ -65,34 +64,33 @@ public class InstPerformanceH2DAO extends H2DAO implements IInstPerformanceDAO, return null; } - @Override public H2SqlEntity prepareBatchInsert(Data data) { + @Override public H2SqlEntity prepareBatchInsert(InstPerformance data) { Map source = new HashMap<>(); H2SqlEntity entity = new H2SqlEntity(); - source.put(InstPerformanceTable.COLUMN_ID, data.getDataString(0)); - source.put(InstPerformanceTable.COLUMN_APPLICATION_ID, data.getDataInteger(0)); - source.put(InstPerformanceTable.COLUMN_INSTANCE_ID, data.getDataInteger(1)); - source.put(InstPerformanceTable.COLUMN_CALLS, data.getDataInteger(2)); - source.put(InstPerformanceTable.COLUMN_COST_TOTAL, data.getDataLong(0)); - source.put(InstPerformanceTable.COLUMN_TIME_BUCKET, data.getDataLong(1)); + source.put(InstPerformanceTable.COLUMN_ID, data.getId()); + source.put(InstPerformanceTable.COLUMN_APPLICATION_ID, data.getApplicationId()); + source.put(InstPerformanceTable.COLUMN_INSTANCE_ID, data.getInstanceId()); + source.put(InstPerformanceTable.COLUMN_CALLS, data.getCalls()); + source.put(InstPerformanceTable.COLUMN_COST_TOTAL, data.getCostTotal()); + source.put(InstPerformanceTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); String sql = SqlBuilder.buildBatchInsertSql(InstPerformanceTable.TABLE, source.keySet()); entity.setSql(sql); entity.setParams(source.values().toArray(new Object[0])); return entity; } - @Override public H2SqlEntity prepareBatchUpdate(Data data) { + @Override public H2SqlEntity prepareBatchUpdate(InstPerformance data) { Map source = new HashMap<>(); H2SqlEntity entity = new H2SqlEntity(); - source.put(InstPerformanceTable.COLUMN_APPLICATION_ID, data.getDataInteger(0)); - source.put(InstPerformanceTable.COLUMN_INSTANCE_ID, data.getDataInteger(1)); - source.put(InstPerformanceTable.COLUMN_CALLS, data.getDataInteger(2)); - source.put(InstPerformanceTable.COLUMN_COST_TOTAL, data.getDataLong(0)); - source.put(InstPerformanceTable.COLUMN_TIME_BUCKET, data.getDataLong(1)); - String id = data.getDataString(0); + source.put(InstPerformanceTable.COLUMN_APPLICATION_ID, data.getApplicationId()); + source.put(InstPerformanceTable.COLUMN_INSTANCE_ID, data.getInstanceId()); + source.put(InstPerformanceTable.COLUMN_CALLS, data.getCalls()); + source.put(InstPerformanceTable.COLUMN_COST_TOTAL, data.getCostTotal()); + source.put(InstPerformanceTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); String sql = SqlBuilder.buildBatchUpdateSql(InstPerformanceTable.TABLE, source.keySet(), InstPerformanceTable.COLUMN_ID); entity.setSql(sql); List values = new ArrayList<>(source.values()); - values.add(id); + values.add(data.getId()); entity.setParams(values.toArray(new Object[0])); return entity; } diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/InstanceH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/InstanceH2DAO.java index 44a9c0aa6..8e75f08db 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/InstanceH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/InstanceH2DAO.java @@ -24,10 +24,9 @@ import java.util.HashMap; import java.util.Map; import org.skywalking.apm.collector.client.h2.H2Client; import org.skywalking.apm.collector.client.h2.H2ClientException; -import org.skywalking.apm.collector.core.data.Data; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.IInstanceDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.table.register.Instance; import org.skywalking.apm.collector.storage.table.register.InstanceTable; import org.slf4j.Logger; @@ -66,24 +65,16 @@ public class InstanceH2DAO extends H2DAO implements IInstanceDAO { return getMinId(InstanceTable.TABLE, InstanceTable.COLUMN_INSTANCE_ID); } - @Override public void save(Data data) { - String id = Instance.Instance.INSTANCE.getId(data); - int instanceId = Instance.Instance.INSTANCE.getInstanceId(data); - int applicationId = Instance.Instance.INSTANCE.getApplicationId(data); - String agentUUID = Instance.Instance.INSTANCE.getAgentUUID(data); - long registerTime = Instance.Instance.INSTANCE.getRegisterTime(data); - long heartBeatTime = Instance.Instance.INSTANCE.getHeartBeatTime(data); - String osInfo = Instance.Instance.INSTANCE.getOsInfo(data); - + @Override public void save(Instance instance) { H2Client client = getClient(); Map source = new HashMap<>(); - source.put(InstanceTable.COLUMN_ID, id); - source.put(InstanceTable.COLUMN_INSTANCE_ID, instanceId); - source.put(InstanceTable.COLUMN_APPLICATION_ID, applicationId); - source.put(InstanceTable.COLUMN_AGENT_UUID, agentUUID); - source.put(InstanceTable.COLUMN_REGISTER_TIME, registerTime); - source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, heartBeatTime); - source.put(InstanceTable.COLUMN_OS_INFO, osInfo); + source.put(InstanceTable.COLUMN_ID, instance.getId()); + source.put(InstanceTable.COLUMN_INSTANCE_ID, instance.getInstanceId()); + source.put(InstanceTable.COLUMN_APPLICATION_ID, instance.getApplicationId()); + source.put(InstanceTable.COLUMN_AGENT_UUID, instance.getAgentUUID()); + source.put(InstanceTable.COLUMN_REGISTER_TIME, instance.getRegisterTime()); + source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, instance.getHeartBeatTime()); + source.put(InstanceTable.COLUMN_OS_INFO, instance.getOsInfo()); String sql = SqlBuilder.buildBatchInsertSql(InstanceTable.TABLE, source.keySet()); Object[] params = source.values().toArray(new Object[0]); try { diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/InstanceHeartBeatH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/InstanceHeartBeatH2DAO.java index 444cee663..76ae589c7 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/InstanceHeartBeatH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/InstanceHeartBeatH2DAO.java @@ -27,13 +27,12 @@ import java.util.Map; import org.skywalking.apm.collector.client.h2.H2Client; import org.skywalking.apm.collector.client.h2.H2ClientException; import org.skywalking.apm.collector.core.UnexpectedException; -import org.skywalking.apm.collector.core.data.Data; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.data.DataDefine; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.IInstanceHeartBeatDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; +import org.skywalking.apm.collector.storage.table.register.Instance; import org.skywalking.apm.collector.storage.table.register.InstanceTable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,22 +40,22 @@ import org.slf4j.LoggerFactory; /** * @author peng-yongsheng, clevertension */ -public class InstanceHeartBeatH2DAO extends H2DAO implements IInstanceHeartBeatDAO, IPersistenceDAO { +public class InstanceHeartBeatH2DAO extends H2DAO implements IInstanceHeartBeatDAO, IPersistenceDAO { private final Logger logger = LoggerFactory.getLogger(InstanceHeartBeatH2DAO.class); private static final String GET_INSTANCE_HEARTBEAT_SQL = "select * from {0} where {1} = ?"; - @Override public Data get(String id, DataDefine dataDefine) { + @Override public Instance get(String id) { H2Client client = getClient(); String sql = SqlBuilder.buildSql(GET_INSTANCE_HEARTBEAT_SQL, InstanceTable.TABLE, InstanceTable.COLUMN_INSTANCE_ID); Object[] params = new Object[] {id}; try (ResultSet rs = client.executeQuery(sql, params)) { if (rs.next()) { - Data data = dataDefine.build(id); - data.setDataInteger(0, rs.getInt(InstanceTable.COLUMN_INSTANCE_ID)); - data.setDataLong(0, rs.getLong(InstanceTable.COLUMN_HEARTBEAT_TIME)); - return data; + Instance instance = new Instance(id); + instance.setInstanceId(rs.getInt(InstanceTable.COLUMN_INSTANCE_ID)); + instance.setHeartBeatTime(rs.getLong(InstanceTable.COLUMN_HEARTBEAT_TIME)); + return instance; } } catch (SQLException | H2ClientException e) { logger.error(e.getMessage(), e); @@ -64,18 +63,18 @@ public class InstanceHeartBeatH2DAO extends H2DAO implements IInstanceHeartBeatD return null; } - @Override public H2SqlEntity prepareBatchInsert(Data data) { + @Override public H2SqlEntity prepareBatchInsert(Instance data) { throw new UnexpectedException("There is no need to merge stream data with database data."); } - @Override public H2SqlEntity prepareBatchUpdate(Data data) { + @Override public H2SqlEntity prepareBatchUpdate(Instance data) { H2SqlEntity entity = new H2SqlEntity(); Map source = new HashMap<>(); - source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, data.getDataLong(0)); + source.put(InstanceTable.COLUMN_HEARTBEAT_TIME, data.getHeartBeatTime()); String sql = SqlBuilder.buildBatchUpdateSql(InstanceTable.TABLE, source.keySet(), InstanceTable.COLUMN_INSTANCE_ID); entity.setSql(sql); List params = new ArrayList<>(source.values()); - params.add(data.getDataString(0)); + params.add(data.getId()); entity.setParams(params.toArray(new Object[0])); return entity; } diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/MemoryMetricH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/MemoryMetricH2DAO.java index c940cb7dc..ea5f0a6e5 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/MemoryMetricH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/MemoryMetricH2DAO.java @@ -20,34 +20,34 @@ package org.skywalking.apm.collector.storage.h2.dao; import java.util.HashMap; import java.util.Map; -import org.skywalking.apm.collector.core.data.Data; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.data.DataDefine; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.IMemoryMetricDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; +import org.skywalking.apm.collector.storage.table.jvm.MemoryMetric; import org.skywalking.apm.collector.storage.table.jvm.MemoryMetricTable; /** * @author peng-yongsheng, clevertension */ -public class MemoryMetricH2DAO extends H2DAO implements IMemoryMetricDAO, IPersistenceDAO { - @Override public Data get(String id, DataDefine dataDefine) { +public class MemoryMetricH2DAO extends H2DAO implements IMemoryMetricDAO, IPersistenceDAO { + + @Override public MemoryMetric get(String id) { return null; } - @Override public H2SqlEntity prepareBatchInsert(Data data) { + @Override public H2SqlEntity prepareBatchInsert(MemoryMetric data) { H2SqlEntity entity = new H2SqlEntity(); Map source = new HashMap<>(); - source.put(MemoryMetricTable.COLUMN_ID, data.getDataString(0)); - source.put(MemoryMetricTable.COLUMN_INSTANCE_ID, data.getDataInteger(0)); - source.put(MemoryMetricTable.COLUMN_IS_HEAP, data.getDataBoolean(0)); - source.put(MemoryMetricTable.COLUMN_INIT, data.getDataLong(0)); - source.put(MemoryMetricTable.COLUMN_MAX, data.getDataLong(1)); - source.put(MemoryMetricTable.COLUMN_USED, data.getDataLong(2)); - source.put(MemoryMetricTable.COLUMN_COMMITTED, data.getDataLong(3)); - source.put(MemoryMetricTable.COLUMN_TIME_BUCKET, data.getDataLong(4)); + source.put(MemoryMetricTable.COLUMN_ID, data.getId()); + source.put(MemoryMetricTable.COLUMN_INSTANCE_ID, data.getInstanceId()); + source.put(MemoryMetricTable.COLUMN_IS_HEAP, data.getIsHeap()); + source.put(MemoryMetricTable.COLUMN_INIT, data.getInit()); + source.put(MemoryMetricTable.COLUMN_MAX, data.getMax()); + source.put(MemoryMetricTable.COLUMN_USED, data.getUsed()); + source.put(MemoryMetricTable.COLUMN_COMMITTED, data.getCommitted()); + source.put(MemoryMetricTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); String sql = SqlBuilder.buildBatchInsertSql(MemoryMetricTable.TABLE, source.keySet()); entity.setSql(sql); @@ -55,7 +55,7 @@ public class MemoryMetricH2DAO extends H2DAO implements IMemoryMetricDAO, IPersi return entity; } - @Override public H2SqlEntity prepareBatchUpdate(Data data) { + @Override public H2SqlEntity prepareBatchUpdate(MemoryMetric data) { return null; } } diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/MemoryPoolMetricH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/MemoryPoolMetricH2DAO.java index f51977198..60da9f466 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/MemoryPoolMetricH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/MemoryPoolMetricH2DAO.java @@ -20,34 +20,34 @@ package org.skywalking.apm.collector.storage.h2.dao; import java.util.HashMap; import java.util.Map; -import org.skywalking.apm.collector.core.data.Data; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.data.DataDefine; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.IMemoryPoolMetricDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; +import org.skywalking.apm.collector.storage.table.jvm.MemoryPoolMetric; import org.skywalking.apm.collector.storage.table.jvm.MemoryPoolMetricTable; /** * @author peng-yongsheng, clevertension */ -public class MemoryPoolMetricH2DAO extends H2DAO implements IMemoryPoolMetricDAO, IPersistenceDAO { - @Override public Data get(String id, DataDefine dataDefine) { +public class MemoryPoolMetricH2DAO extends H2DAO implements IMemoryPoolMetricDAO, IPersistenceDAO { + + @Override public MemoryPoolMetric get(String id) { return null; } - @Override public H2SqlEntity prepareBatchInsert(Data data) { + @Override public H2SqlEntity prepareBatchInsert(MemoryPoolMetric data) { H2SqlEntity entity = new H2SqlEntity(); Map source = new HashMap<>(); - source.put(MemoryPoolMetricTable.COLUMN_ID, data.getDataString(0)); - source.put(MemoryPoolMetricTable.COLUMN_INSTANCE_ID, data.getDataInteger(0)); - source.put(MemoryPoolMetricTable.COLUMN_POOL_TYPE, data.getDataInteger(1)); - source.put(MemoryPoolMetricTable.COLUMN_INIT, data.getDataLong(0)); - source.put(MemoryPoolMetricTable.COLUMN_MAX, data.getDataLong(1)); - source.put(MemoryPoolMetricTable.COLUMN_USED, data.getDataLong(2)); - source.put(MemoryPoolMetricTable.COLUMN_COMMITTED, data.getDataLong(3)); - source.put(MemoryPoolMetricTable.COLUMN_TIME_BUCKET, data.getDataLong(4)); + source.put(MemoryPoolMetricTable.COLUMN_ID, data.getId()); + source.put(MemoryPoolMetricTable.COLUMN_INSTANCE_ID, data.getInstanceId()); + source.put(MemoryPoolMetricTable.COLUMN_POOL_TYPE, data.getPoolType()); + source.put(MemoryPoolMetricTable.COLUMN_INIT, data.getInit()); + source.put(MemoryPoolMetricTable.COLUMN_MAX, data.getMax()); + source.put(MemoryPoolMetricTable.COLUMN_USED, data.getUsed()); + source.put(MemoryPoolMetricTable.COLUMN_COMMITTED, data.getCommitted()); + source.put(MemoryPoolMetricTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); String sql = SqlBuilder.buildBatchInsertSql(MemoryPoolMetricTable.TABLE, source.keySet()); entity.setSql(sql); @@ -55,7 +55,7 @@ public class MemoryPoolMetricH2DAO extends H2DAO implements IMemoryPoolMetricDAO return entity; } - @Override public H2SqlEntity prepareBatchUpdate(Data data) { + @Override public H2SqlEntity prepareBatchUpdate(MemoryPoolMetric data) { return null; } } diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeComponentH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeComponentH2DAO.java index cc17ed7ef..0e4545772 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeComponentH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeComponentH2DAO.java @@ -26,13 +26,12 @@ import java.util.List; import java.util.Map; import org.skywalking.apm.collector.client.h2.H2Client; import org.skywalking.apm.collector.client.h2.H2ClientException; -import org.skywalking.apm.collector.core.data.Data; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.data.DataDefine; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.INodeComponentDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; +import org.skywalking.apm.collector.storage.table.node.NodeComponent; import org.skywalking.apm.collector.storage.table.node.NodeComponentTable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,24 +39,24 @@ import org.slf4j.LoggerFactory; /** * @author peng-yongsheng, clevertension */ -public class NodeComponentH2DAO extends H2DAO implements INodeComponentDAO, IPersistenceDAO { +public class NodeComponentH2DAO extends H2DAO implements INodeComponentDAO, IPersistenceDAO { private final Logger logger = LoggerFactory.getLogger(NodeComponentH2DAO.class); private static final String GET_SQL = "select * from {0} where {1} = ?"; @Override - public Data get(String id, DataDefine dataDefine) { + public NodeComponent get(String id) { H2Client client = getClient(); String sql = SqlBuilder.buildSql(GET_SQL, NodeComponentTable.TABLE, NodeComponentTable.COLUMN_ID); Object[] params = new Object[] {id}; try (ResultSet rs = client.executeQuery(sql, params)) { if (rs.next()) { - Data data = dataDefine.build(id); - data.setDataInteger(0, rs.getInt(NodeComponentTable.COLUMN_COMPONENT_ID)); - data.setDataString(1, rs.getString(NodeComponentTable.COLUMN_COMPONENT_NAME)); - data.setDataInteger(1, rs.getInt(NodeComponentTable.COLUMN_PEER_ID)); - data.setDataString(2, rs.getString(NodeComponentTable.COLUMN_PEER)); - data.setDataLong(0, rs.getLong(NodeComponentTable.COLUMN_TIME_BUCKET)); - return data; + NodeComponent nodeComponent = new NodeComponent(id); + nodeComponent.setComponentId(rs.getInt(NodeComponentTable.COLUMN_COMPONENT_ID)); + nodeComponent.setComponentName(rs.getString(NodeComponentTable.COLUMN_COMPONENT_NAME)); + nodeComponent.setPeerId(rs.getInt(NodeComponentTable.COLUMN_PEER_ID)); + nodeComponent.setPeer(rs.getString(NodeComponentTable.COLUMN_PEER)); + nodeComponent.setTimeBucket(rs.getLong(NodeComponentTable.COLUMN_TIME_BUCKET)); + return nodeComponent; } } catch (SQLException | H2ClientException e) { logger.error(e.getMessage(), e); @@ -66,15 +65,15 @@ public class NodeComponentH2DAO extends H2DAO implements INodeComponentDAO, IPer } @Override - public H2SqlEntity prepareBatchInsert(Data data) { + public H2SqlEntity prepareBatchInsert(NodeComponent data) { Map source = new HashMap<>(); H2SqlEntity entity = new H2SqlEntity(); - source.put(NodeComponentTable.COLUMN_ID, data.getDataString(0)); - source.put(NodeComponentTable.COLUMN_COMPONENT_ID, data.getDataInteger(0)); - source.put(NodeComponentTable.COLUMN_COMPONENT_NAME, data.getDataString(1)); - source.put(NodeComponentTable.COLUMN_PEER_ID, data.getDataInteger(1)); - source.put(NodeComponentTable.COLUMN_PEER, data.getDataString(2)); - source.put(NodeComponentTable.COLUMN_TIME_BUCKET, data.getDataLong(0)); + source.put(NodeComponentTable.COLUMN_ID, data.getId()); + source.put(NodeComponentTable.COLUMN_COMPONENT_ID, data.getComponentId()); + source.put(NodeComponentTable.COLUMN_COMPONENT_NAME, data.getComponentName()); + source.put(NodeComponentTable.COLUMN_PEER_ID, data.getPeerId()); + source.put(NodeComponentTable.COLUMN_PEER, data.getPeer()); + source.put(NodeComponentTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); String sql = SqlBuilder.buildBatchInsertSql(NodeComponentTable.TABLE, source.keySet()); entity.setSql(sql); @@ -83,19 +82,18 @@ public class NodeComponentH2DAO extends H2DAO implements INodeComponentDAO, IPer } @Override - public H2SqlEntity prepareBatchUpdate(Data data) { + public H2SqlEntity prepareBatchUpdate(NodeComponent data) { Map source = new HashMap<>(); H2SqlEntity entity = new H2SqlEntity(); - source.put(NodeComponentTable.COLUMN_COMPONENT_ID, data.getDataInteger(0)); - source.put(NodeComponentTable.COLUMN_COMPONENT_NAME, data.getDataString(1)); - source.put(NodeComponentTable.COLUMN_PEER_ID, data.getDataInteger(1)); - source.put(NodeComponentTable.COLUMN_PEER, data.getDataString(2)); - source.put(NodeComponentTable.COLUMN_TIME_BUCKET, data.getDataLong(0)); - String id = data.getDataString(0); + source.put(NodeComponentTable.COLUMN_COMPONENT_ID, data.getComponentId()); + source.put(NodeComponentTable.COLUMN_COMPONENT_NAME, data.getComponentName()); + source.put(NodeComponentTable.COLUMN_PEER_ID, data.getPeerId()); + source.put(NodeComponentTable.COLUMN_PEER, data.getPeer()); + source.put(NodeComponentTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); String sql = SqlBuilder.buildBatchUpdateSql(NodeComponentTable.TABLE, source.keySet(), NodeComponentTable.COLUMN_ID); entity.setSql(sql); List values = new ArrayList<>(source.values()); - values.add(id); + values.add(data.getId()); entity.setParams(values.toArray(new Object[0])); return entity; } diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeReferenceH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeReferenceH2DAO.java index 3b474379f..d7bee6606 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeReferenceH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/NodeReferenceH2DAO.java @@ -26,13 +26,12 @@ import java.util.List; import java.util.Map; import org.skywalking.apm.collector.client.h2.H2Client; import org.skywalking.apm.collector.client.h2.H2ClientException; -import org.skywalking.apm.collector.core.data.Data; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.data.DataDefine; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.INodeReferenceDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; +import org.skywalking.apm.collector.storage.table.noderef.NodeReference; import org.skywalking.apm.collector.storage.table.noderef.NodeReferenceTable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,28 +39,29 @@ import org.slf4j.LoggerFactory; /** * @author peng-yongsheng, clevertension */ -public class NodeReferenceH2DAO extends H2DAO implements INodeReferenceDAO, IPersistenceDAO { +public class NodeReferenceH2DAO extends H2DAO implements INodeReferenceDAO, IPersistenceDAO { + private final Logger logger = LoggerFactory.getLogger(NodeReferenceH2DAO.class); private static final String GET_SQL = "select * from {0} where {1} = ?"; - @Override public Data get(String id, DataDefine dataDefine) { + @Override public NodeReference get(String id) { H2Client client = getClient(); String sql = SqlBuilder.buildSql(GET_SQL, NodeReferenceTable.TABLE, NodeReferenceTable.COLUMN_ID); Object[] params = new Object[] {id}; try (ResultSet rs = client.executeQuery(sql, params)) { if (rs.next()) { - Data data = dataDefine.build(id); - data.setDataInteger(0, rs.getInt(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID)); - data.setDataInteger(1, rs.getInt(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID)); - data.setDataString(1, rs.getString(NodeReferenceTable.COLUMN_BEHIND_PEER)); - data.setDataInteger(2, rs.getInt(NodeReferenceTable.COLUMN_S1_LTE)); - data.setDataInteger(3, rs.getInt(NodeReferenceTable.COLUMN_S3_LTE)); - data.setDataInteger(4, rs.getInt(NodeReferenceTable.COLUMN_S5_LTE)); - data.setDataInteger(5, rs.getInt(NodeReferenceTable.COLUMN_S5_GT)); - data.setDataInteger(6, rs.getInt(NodeReferenceTable.COLUMN_SUMMARY)); - data.setDataInteger(7, rs.getInt(NodeReferenceTable.COLUMN_ERROR)); - data.setDataLong(0, rs.getLong(NodeReferenceTable.COLUMN_TIME_BUCKET)); - return data; + NodeReference nodeReference = new NodeReference(id); + nodeReference.setFrontApplicationId(rs.getInt(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID)); + nodeReference.setBehindApplicationId(rs.getInt(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID)); + nodeReference.setBehindPeer(rs.getString(NodeReferenceTable.COLUMN_BEHIND_PEER)); + nodeReference.setS1Lte(rs.getInt(NodeReferenceTable.COLUMN_S1_LTE)); + nodeReference.setS3Lte(rs.getInt(NodeReferenceTable.COLUMN_S3_LTE)); + nodeReference.setS5Lte(rs.getInt(NodeReferenceTable.COLUMN_S5_LTE)); + nodeReference.setS5Gt(rs.getInt(NodeReferenceTable.COLUMN_S5_GT)); + nodeReference.setSummary(rs.getInt(NodeReferenceTable.COLUMN_SUMMARY)); + nodeReference.setError(rs.getInt(NodeReferenceTable.COLUMN_ERROR)); + nodeReference.setTimeBucket(rs.getLong(NodeReferenceTable.COLUMN_TIME_BUCKET)); + return nodeReference; } } catch (SQLException | H2ClientException e) { logger.error(e.getMessage(), e); @@ -69,20 +69,20 @@ public class NodeReferenceH2DAO extends H2DAO implements INodeReferenceDAO, IPer return null; } - @Override public H2SqlEntity prepareBatchInsert(Data data) { + @Override public H2SqlEntity prepareBatchInsert(NodeReference data) { Map source = new HashMap<>(); H2SqlEntity entity = new H2SqlEntity(); - source.put(NodeReferenceTable.COLUMN_ID, data.getDataString(0)); - source.put(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, data.getDataInteger(0)); - source.put(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, data.getDataInteger(1)); - source.put(NodeReferenceTable.COLUMN_BEHIND_PEER, data.getDataString(1)); - source.put(NodeReferenceTable.COLUMN_S1_LTE, data.getDataInteger(2)); - source.put(NodeReferenceTable.COLUMN_S3_LTE, data.getDataInteger(3)); - source.put(NodeReferenceTable.COLUMN_S5_LTE, data.getDataInteger(4)); - source.put(NodeReferenceTable.COLUMN_S5_GT, data.getDataInteger(5)); - source.put(NodeReferenceTable.COLUMN_SUMMARY, data.getDataInteger(6)); - source.put(NodeReferenceTable.COLUMN_ERROR, data.getDataInteger(7)); - source.put(NodeReferenceTable.COLUMN_TIME_BUCKET, data.getDataLong(0)); + source.put(NodeReferenceTable.COLUMN_ID, data.getId()); + source.put(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, data.getFrontApplicationId()); + source.put(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, data.getBehindApplicationId()); + source.put(NodeReferenceTable.COLUMN_BEHIND_PEER, data.getBehindPeer()); + source.put(NodeReferenceTable.COLUMN_S1_LTE, data.getS1Lte()); + source.put(NodeReferenceTable.COLUMN_S3_LTE, data.getS3Lte()); + source.put(NodeReferenceTable.COLUMN_S5_LTE, data.getS5Lte()); + source.put(NodeReferenceTable.COLUMN_S5_GT, data.getS5Gt()); + source.put(NodeReferenceTable.COLUMN_SUMMARY, data.getSummary()); + source.put(NodeReferenceTable.COLUMN_ERROR, data.getError()); + source.put(NodeReferenceTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); String sql = SqlBuilder.buildBatchInsertSql(NodeReferenceTable.TABLE, source.keySet()); entity.setSql(sql); @@ -90,24 +90,23 @@ public class NodeReferenceH2DAO extends H2DAO implements INodeReferenceDAO, IPer return entity; } - @Override public H2SqlEntity prepareBatchUpdate(Data data) { + @Override public H2SqlEntity prepareBatchUpdate(NodeReference data) { Map source = new HashMap<>(); H2SqlEntity entity = new H2SqlEntity(); - source.put(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, data.getDataInteger(0)); - source.put(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, data.getDataInteger(1)); - source.put(NodeReferenceTable.COLUMN_BEHIND_PEER, data.getDataString(1)); - source.put(NodeReferenceTable.COLUMN_S1_LTE, data.getDataInteger(2)); - source.put(NodeReferenceTable.COLUMN_S3_LTE, data.getDataInteger(3)); - source.put(NodeReferenceTable.COLUMN_S5_LTE, data.getDataInteger(4)); - source.put(NodeReferenceTable.COLUMN_S5_GT, data.getDataInteger(5)); - source.put(NodeReferenceTable.COLUMN_SUMMARY, data.getDataInteger(6)); - source.put(NodeReferenceTable.COLUMN_ERROR, data.getDataInteger(7)); - source.put(NodeReferenceTable.COLUMN_TIME_BUCKET, data.getDataLong(0)); - String id = data.getDataString(0); + source.put(NodeReferenceTable.COLUMN_FRONT_APPLICATION_ID, data.getFrontApplicationId()); + source.put(NodeReferenceTable.COLUMN_BEHIND_APPLICATION_ID, data.getBehindApplicationId()); + source.put(NodeReferenceTable.COLUMN_BEHIND_PEER, data.getBehindPeer()); + source.put(NodeReferenceTable.COLUMN_S1_LTE, data.getS1Lte()); + source.put(NodeReferenceTable.COLUMN_S3_LTE, data.getS3Lte()); + source.put(NodeReferenceTable.COLUMN_S5_LTE, data.getS5Lte()); + source.put(NodeReferenceTable.COLUMN_S5_GT, data.getS5Gt()); + source.put(NodeReferenceTable.COLUMN_SUMMARY, data.getSummary()); + source.put(NodeReferenceTable.COLUMN_ERROR, data.getError()); + source.put(NodeReferenceTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); String sql = SqlBuilder.buildBatchUpdateSql(NodeReferenceTable.TABLE, source.keySet(), NodeReferenceTable.COLUMN_ID); entity.setSql(sql); List values = new ArrayList<>(source.values()); - values.add(id); + values.add(data.getId()); entity.setParams(values.toArray(new Object[0])); return entity; } diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/SegmentCostH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/SegmentCostH2DAO.java index 49500303d..ce1d5eaea 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/SegmentCostH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/SegmentCostH2DAO.java @@ -20,13 +20,12 @@ package org.skywalking.apm.collector.storage.h2.dao; import java.util.HashMap; import java.util.Map; -import org.skywalking.apm.collector.core.data.Data; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.data.DataDefine; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.ISegmentCostDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; +import org.skywalking.apm.collector.storage.table.segment.SegmentCost; import org.skywalking.apm.collector.storage.table.segment.SegmentCostTable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,26 +33,27 @@ import org.slf4j.LoggerFactory; /** * @author peng-yongsheng, clevertension */ -public class SegmentCostH2DAO extends H2DAO implements ISegmentCostDAO, IPersistenceDAO { +public class SegmentCostH2DAO extends H2DAO implements ISegmentCostDAO, IPersistenceDAO { + private final Logger logger = LoggerFactory.getLogger(SegmentCostH2DAO.class); - @Override public Data get(String id, DataDefine dataDefine) { + @Override public SegmentCost get(String id) { return null; } - @Override public H2SqlEntity prepareBatchInsert(Data data) { - logger.debug("segment cost prepareBatchInsert, getId: {}", data.getDataString(0)); + @Override public H2SqlEntity prepareBatchInsert(SegmentCost data) { + logger.debug("segment cost prepareBatchInsert, getId: {}", data.getId()); H2SqlEntity entity = new H2SqlEntity(); Map source = new HashMap<>(); - source.put(SegmentCostTable.COLUMN_ID, data.getDataString(0)); - source.put(SegmentCostTable.COLUMN_SEGMENT_ID, data.getDataString(1)); - source.put(SegmentCostTable.COLUMN_APPLICATION_ID, data.getDataInteger(0)); - source.put(SegmentCostTable.COLUMN_SERVICE_NAME, data.getDataString(2)); - source.put(SegmentCostTable.COLUMN_COST, data.getDataLong(0)); - source.put(SegmentCostTable.COLUMN_START_TIME, data.getDataLong(1)); - source.put(SegmentCostTable.COLUMN_END_TIME, data.getDataLong(2)); - source.put(SegmentCostTable.COLUMN_IS_ERROR, data.getDataBoolean(0)); - source.put(SegmentCostTable.COLUMN_TIME_BUCKET, data.getDataLong(3)); + source.put(SegmentCostTable.COLUMN_ID, data.getId()); + source.put(SegmentCostTable.COLUMN_SEGMENT_ID, data.getSegmentId()); + source.put(SegmentCostTable.COLUMN_APPLICATION_ID, data.getApplicationId()); + source.put(SegmentCostTable.COLUMN_SERVICE_NAME, data.getServiceName()); + source.put(SegmentCostTable.COLUMN_COST, data.getCost()); + source.put(SegmentCostTable.COLUMN_START_TIME, data.getStartTime()); + source.put(SegmentCostTable.COLUMN_END_TIME, data.getEndTime()); + source.put(SegmentCostTable.COLUMN_IS_ERROR, data.getIsError()); + source.put(SegmentCostTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); logger.debug("segment cost source: {}", source.toString()); String sql = SqlBuilder.buildBatchInsertSql(SegmentCostTable.TABLE, source.keySet()); @@ -62,7 +62,7 @@ public class SegmentCostH2DAO extends H2DAO implements ISegmentCostDAO, IPersist return entity; } - @Override public H2SqlEntity prepareBatchUpdate(Data data) { + @Override public H2SqlEntity prepareBatchUpdate(SegmentCost data) { return null; } } diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/SegmentH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/SegmentH2DAO.java index bec2cadd6..e36b78fcd 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/SegmentH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/SegmentH2DAO.java @@ -20,13 +20,12 @@ package org.skywalking.apm.collector.storage.h2.dao; import java.util.HashMap; import java.util.Map; -import org.skywalking.apm.collector.core.data.Data; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.data.DataDefine; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.ISegmentDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; +import org.skywalking.apm.collector.storage.table.segment.Segment; import org.skywalking.apm.collector.storage.table.segment.SegmentTable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,18 +33,19 @@ import org.slf4j.LoggerFactory; /** * @author peng-yongsheng, clevertension */ -public class SegmentH2DAO extends H2DAO implements ISegmentDAO, IPersistenceDAO { +public class SegmentH2DAO extends H2DAO implements ISegmentDAO, IPersistenceDAO { + private final Logger logger = LoggerFactory.getLogger(SegmentH2DAO.class); - @Override public Data get(String id, DataDefine dataDefine) { + @Override public Segment get(String id) { return null; } - @Override public H2SqlEntity prepareBatchInsert(Data data) { + @Override public H2SqlEntity prepareBatchInsert(Segment data) { Map source = new HashMap<>(); H2SqlEntity entity = new H2SqlEntity(); - source.put(SegmentTable.COLUMN_ID, data.getDataString(0)); - source.put(SegmentTable.COLUMN_DATA_BINARY, data.getDataBytes(0)); + source.put(SegmentTable.COLUMN_ID, data.getId()); + source.put(SegmentTable.COLUMN_DATA_BINARY, data.getDataBinary()); logger.debug("segment source: {}", source.toString()); String sql = SqlBuilder.buildBatchInsertSql(SegmentTable.TABLE, source.keySet()); @@ -54,7 +54,7 @@ public class SegmentH2DAO extends H2DAO implements ISegmentDAO, IPersistenceDAO< return entity; } - @Override public H2SqlEntity prepareBatchUpdate(Data data) { + @Override public H2SqlEntity prepareBatchUpdate(Segment data) { return null; } } diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ServiceEntryH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ServiceEntryH2DAO.java index 0cbc55a56..d7406f78b 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ServiceEntryH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ServiceEntryH2DAO.java @@ -26,13 +26,12 @@ import java.util.List; import java.util.Map; import org.skywalking.apm.collector.client.h2.H2Client; import org.skywalking.apm.collector.client.h2.H2ClientException; -import org.skywalking.apm.collector.core.data.Data; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.data.DataDefine; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.IServiceEntryDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; +import org.skywalking.apm.collector.storage.table.service.ServiceEntry; import org.skywalking.apm.collector.storage.table.service.ServiceEntryTable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,23 +39,24 @@ import org.slf4j.LoggerFactory; /** * @author peng-yongsheng, clevertension */ -public class ServiceEntryH2DAO extends H2DAO implements IServiceEntryDAO, IPersistenceDAO { +public class ServiceEntryH2DAO extends H2DAO implements IServiceEntryDAO, IPersistenceDAO { + private final Logger logger = LoggerFactory.getLogger(ServiceEntryH2DAO.class); private static final String GET_SERVICE_ENTRY_SQL = "select * from {0} where {1} = ?"; - @Override public Data get(String id, DataDefine dataDefine) { + @Override public ServiceEntry get(String id) { H2Client client = getClient(); String sql = SqlBuilder.buildSql(GET_SERVICE_ENTRY_SQL, ServiceEntryTable.TABLE, ServiceEntryTable.COLUMN_ID); Object[] params = new Object[] {id}; try (ResultSet rs = client.executeQuery(sql, params)) { if (rs.next()) { - Data data = dataDefine.build(id); - data.setDataInteger(0, rs.getInt(ServiceEntryTable.COLUMN_APPLICATION_ID)); - data.setDataInteger(1, rs.getInt(ServiceEntryTable.COLUMN_ENTRY_SERVICE_ID)); - data.setDataString(1, rs.getString(ServiceEntryTable.COLUMN_ENTRY_SERVICE_NAME)); - data.setDataLong(0, rs.getLong(ServiceEntryTable.COLUMN_REGISTER_TIME)); - data.setDataLong(1, rs.getLong(ServiceEntryTable.COLUMN_NEWEST_TIME)); - return data; + ServiceEntry serviceEntry = new ServiceEntry(id); + serviceEntry.setApplicationId(rs.getInt(ServiceEntryTable.COLUMN_APPLICATION_ID)); + serviceEntry.setEntryServiceId(rs.getInt(ServiceEntryTable.COLUMN_ENTRY_SERVICE_ID)); + serviceEntry.setEntryServiceName(rs.getString(ServiceEntryTable.COLUMN_ENTRY_SERVICE_NAME)); + serviceEntry.setRegisterTime(rs.getLong(ServiceEntryTable.COLUMN_REGISTER_TIME)); + serviceEntry.setNewestTime(rs.getLong(ServiceEntryTable.COLUMN_NEWEST_TIME)); + return serviceEntry; } } catch (SQLException | H2ClientException e) { logger.error(e.getMessage(), e); @@ -64,34 +64,33 @@ public class ServiceEntryH2DAO extends H2DAO implements IServiceEntryDAO, IPersi return null; } - @Override public H2SqlEntity prepareBatchInsert(Data data) { + @Override public H2SqlEntity prepareBatchInsert(ServiceEntry data) { H2SqlEntity entity = new H2SqlEntity(); Map source = new HashMap<>(); - source.put(ServiceEntryTable.COLUMN_ID, data.getDataString(0)); - source.put(ServiceEntryTable.COLUMN_APPLICATION_ID, data.getDataInteger(0)); - source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_ID, data.getDataInteger(1)); - source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_NAME, data.getDataString(1)); - source.put(ServiceEntryTable.COLUMN_REGISTER_TIME, data.getDataLong(0)); - source.put(ServiceEntryTable.COLUMN_NEWEST_TIME, data.getDataLong(1)); + source.put(ServiceEntryTable.COLUMN_ID, data.getId()); + source.put(ServiceEntryTable.COLUMN_APPLICATION_ID, data.getApplicationId()); + source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_ID, data.getEntryServiceId()); + source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_NAME, data.getEntryServiceName()); + source.put(ServiceEntryTable.COLUMN_REGISTER_TIME, data.getRegisterTime()); + source.put(ServiceEntryTable.COLUMN_NEWEST_TIME, data.getNewestTime()); String sql = SqlBuilder.buildBatchInsertSql(ServiceEntryTable.TABLE, source.keySet()); entity.setSql(sql); entity.setParams(source.values().toArray(new Object[0])); return entity; } - @Override public H2SqlEntity prepareBatchUpdate(Data data) { + @Override public H2SqlEntity prepareBatchUpdate(ServiceEntry data) { H2SqlEntity entity = new H2SqlEntity(); Map source = new HashMap<>(); - source.put(ServiceEntryTable.COLUMN_APPLICATION_ID, data.getDataInteger(0)); - source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_ID, data.getDataInteger(1)); - source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_NAME, data.getDataString(1)); - source.put(ServiceEntryTable.COLUMN_REGISTER_TIME, data.getDataLong(0)); - source.put(ServiceEntryTable.COLUMN_NEWEST_TIME, data.getDataLong(1)); - String id = data.getDataString(0); + source.put(ServiceEntryTable.COLUMN_APPLICATION_ID, data.getApplicationId()); + source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_ID, data.getEntryServiceId()); + source.put(ServiceEntryTable.COLUMN_ENTRY_SERVICE_NAME, data.getEntryServiceName()); + source.put(ServiceEntryTable.COLUMN_REGISTER_TIME, data.getRegisterTime()); + source.put(ServiceEntryTable.COLUMN_NEWEST_TIME, data.getNewestTime()); String sql = SqlBuilder.buildBatchUpdateSql(ServiceEntryTable.TABLE, source.keySet(), ServiceEntryTable.COLUMN_ID); entity.setSql(sql); List values = new ArrayList<>(source.values()); - values.add(id); + values.add(data.getId()); entity.setParams(values.toArray(new Object[0])); return entity; } diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ServiceNameH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ServiceNameH2DAO.java index e6ad81215..ac68f50d1 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ServiceNameH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ServiceNameH2DAO.java @@ -22,10 +22,9 @@ import java.util.HashMap; import java.util.Map; import org.skywalking.apm.collector.client.h2.H2Client; import org.skywalking.apm.collector.client.h2.H2ClientException; -import org.skywalking.apm.collector.core.data.Data; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.IServiceNameDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.table.register.ServiceName; import org.skywalking.apm.collector.storage.table.register.ServiceNameTable; import org.slf4j.Logger; @@ -48,19 +47,14 @@ public class ServiceNameH2DAO extends H2DAO implements IServiceNameDAO { } @Override - public void save(Data data) { - String id = ServiceName.ServiceName.INSTANCE.getId(data); - int applicationId = ServiceName.ServiceName.INSTANCE.getApplicationId(data); - int serviceId = ServiceName.ServiceName.INSTANCE.getServiceId(data); - String serviceName = ServiceName.ServiceName.INSTANCE.getServiceName(data); - - logger.debug("save service name register info, application getId: {}, service name: {}", applicationId, serviceName); + public void save(ServiceName serviceName) { + logger.debug("save service name register info, application getId: {}, service name: {}", serviceName.getId(), serviceName.getServiceName()); H2Client client = getClient(); Map source = new HashMap<>(); - source.put(ServiceNameTable.COLUMN_ID, id); - source.put(ServiceNameTable.COLUMN_SERVICE_ID, serviceId); - source.put(ServiceNameTable.COLUMN_APPLICATION_ID, applicationId); - source.put(ServiceNameTable.COLUMN_SERVICE_NAME, serviceName); + source.put(ServiceNameTable.COLUMN_ID, serviceName.getId()); + source.put(ServiceNameTable.COLUMN_SERVICE_ID, serviceName.getServiceId()); + source.put(ServiceNameTable.COLUMN_APPLICATION_ID, serviceName.getApplicationId()); + source.put(ServiceNameTable.COLUMN_SERVICE_NAME, serviceName.getServiceName()); String sql = SqlBuilder.buildBatchInsertSql(ServiceNameTable.TABLE, source.keySet()); Object[] params = source.values().toArray(new Object[0]); diff --git a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ServiceReferenceH2DAO.java b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ServiceReferenceH2DAO.java index 61291c940..a03f0b699 100644 --- a/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ServiceReferenceH2DAO.java +++ b/apm-collector/apm-collector-storage/collector-storage-h2-provider/src/main/java/org/skywalking/apm/collector/storage/h2/dao/ServiceReferenceH2DAO.java @@ -26,13 +26,12 @@ import java.util.List; import java.util.Map; import org.skywalking.apm.collector.client.h2.H2Client; import org.skywalking.apm.collector.client.h2.H2ClientException; -import org.skywalking.apm.collector.core.data.Data; import org.skywalking.apm.collector.storage.base.dao.IPersistenceDAO; -import org.skywalking.apm.collector.core.data.DataDefine; +import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; import org.skywalking.apm.collector.storage.dao.IServiceReferenceDAO; import org.skywalking.apm.collector.storage.h2.base.dao.H2DAO; import org.skywalking.apm.collector.storage.h2.base.define.H2SqlEntity; -import org.skywalking.apm.collector.storage.base.sql.SqlBuilder; +import org.skywalking.apm.collector.storage.table.serviceref.ServiceReference; import org.skywalking.apm.collector.storage.table.serviceref.ServiceReferenceTable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,33 +39,34 @@ import org.slf4j.LoggerFactory; /** * @author peng-yongsheng, clevertension */ -public class ServiceReferenceH2DAO extends H2DAO implements IServiceReferenceDAO, IPersistenceDAO { +public class ServiceReferenceH2DAO extends H2DAO implements IServiceReferenceDAO, IPersistenceDAO { + private final Logger logger = LoggerFactory.getLogger(ServiceReferenceH2DAO.class); private static final String GET_SQL = "select * from {0} where {1} = ?"; @Override - public Data get(String id, DataDefine dataDefine) { + public ServiceReference get(String id) { H2Client client = getClient(); String sql = SqlBuilder.buildSql(GET_SQL, ServiceReferenceTable.TABLE, ServiceReferenceTable.COLUMN_ID); Object[] params = new Object[] {id}; try (ResultSet rs = client.executeQuery(sql, params)) { if (rs.next()) { - Data data = dataDefine.build(id); - data.setDataInteger(0, rs.getInt(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_ID)); - data.setDataString(1, rs.getString(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_NAME)); - data.setDataInteger(1, rs.getInt(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID)); - data.setDataString(2, rs.getString(ServiceReferenceTable.COLUMN_FRONT_SERVICE_NAME)); - data.setDataInteger(2, rs.getInt(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID)); - data.setDataString(3, rs.getString(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_NAME)); - data.setDataLong(0, rs.getLong(ServiceReferenceTable.COLUMN_S1_LTE)); - data.setDataLong(1, rs.getLong(ServiceReferenceTable.COLUMN_S3_LTE)); - data.setDataLong(2, rs.getLong(ServiceReferenceTable.COLUMN_S5_LTE)); - data.setDataLong(3, rs.getLong(ServiceReferenceTable.COLUMN_S5_GT)); - data.setDataLong(4, rs.getLong(ServiceReferenceTable.COLUMN_SUMMARY)); - data.setDataLong(5, rs.getLong(ServiceReferenceTable.COLUMN_ERROR)); - data.setDataLong(6, rs.getLong(ServiceReferenceTable.COLUMN_COST_SUMMARY)); - data.setDataLong(7, rs.getLong(ServiceReferenceTable.COLUMN_TIME_BUCKET)); - return data; + ServiceReference serviceReference = new ServiceReference(id); + serviceReference.setEntryServiceId(rs.getInt(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_ID)); + serviceReference.setEntryServiceName(rs.getString(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_NAME)); + serviceReference.setFrontServiceId(rs.getInt(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID)); + serviceReference.setFrontServiceName(rs.getString(ServiceReferenceTable.COLUMN_FRONT_SERVICE_NAME)); + serviceReference.setBehindServiceId(rs.getInt(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID)); + serviceReference.setBehindServiceName(rs.getString(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_NAME)); + serviceReference.setS1Lte(rs.getLong(ServiceReferenceTable.COLUMN_S1_LTE)); + serviceReference.setS3Lte(rs.getLong(ServiceReferenceTable.COLUMN_S3_LTE)); + serviceReference.setS5Lte(rs.getLong(ServiceReferenceTable.COLUMN_S5_LTE)); + serviceReference.setS5Gt(rs.getLong(ServiceReferenceTable.COLUMN_S5_GT)); + serviceReference.setSummary(rs.getLong(ServiceReferenceTable.COLUMN_SUMMARY)); + serviceReference.setError(rs.getLong(ServiceReferenceTable.COLUMN_ERROR)); + serviceReference.setCostSummary(rs.getLong(ServiceReferenceTable.COLUMN_COST_SUMMARY)); + serviceReference.setTimeBucket(rs.getLong(ServiceReferenceTable.COLUMN_TIME_BUCKET)); + return serviceReference; } } catch (SQLException | H2ClientException e) { logger.error(e.getMessage(), e); @@ -75,24 +75,24 @@ public class ServiceReferenceH2DAO extends H2DAO implements IServiceReferenceDAO } @Override - public H2SqlEntity prepareBatchInsert(Data data) { + public H2SqlEntity prepareBatchInsert(ServiceReference data) { H2SqlEntity entity = new H2SqlEntity(); Map source = new HashMap<>(); - source.put(ServiceReferenceTable.COLUMN_ID, data.getDataString(0)); - source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_ID, data.getDataInteger(0)); - source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_NAME, data.getDataString(1)); - source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID, data.getDataInteger(1)); - source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_NAME, data.getDataString(2)); - source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID, data.getDataInteger(2)); - source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_NAME, data.getDataString(3)); - source.put(ServiceReferenceTable.COLUMN_S1_LTE, data.getDataLong(0)); - source.put(ServiceReferenceTable.COLUMN_S3_LTE, data.getDataLong(1)); - source.put(ServiceReferenceTable.COLUMN_S5_LTE, data.getDataLong(2)); - source.put(ServiceReferenceTable.COLUMN_S5_GT, data.getDataLong(3)); - source.put(ServiceReferenceTable.COLUMN_SUMMARY, data.getDataLong(4)); - source.put(ServiceReferenceTable.COLUMN_ERROR, data.getDataLong(5)); - source.put(ServiceReferenceTable.COLUMN_COST_SUMMARY, data.getDataLong(6)); - source.put(ServiceReferenceTable.COLUMN_TIME_BUCKET, data.getDataLong(7)); + source.put(ServiceReferenceTable.COLUMN_ID, data.getId()); + source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_ID, data.getEntryServiceId()); + source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_NAME, data.getEntryServiceName()); + source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID, data.getFrontServiceId()); + source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_NAME, data.getFrontServiceName()); + source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID, data.getBehindServiceId()); + source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_NAME, data.getBehindServiceName()); + source.put(ServiceReferenceTable.COLUMN_S1_LTE, data.getS1Lte()); + source.put(ServiceReferenceTable.COLUMN_S3_LTE, data.getS3Lte()); + source.put(ServiceReferenceTable.COLUMN_S5_LTE, data.getS5Lte()); + source.put(ServiceReferenceTable.COLUMN_S5_GT, data.getS5Gt()); + source.put(ServiceReferenceTable.COLUMN_SUMMARY, data.getSummary()); + source.put(ServiceReferenceTable.COLUMN_ERROR, data.getError()); + source.put(ServiceReferenceTable.COLUMN_COST_SUMMARY, data.getCostSummary()); + source.put(ServiceReferenceTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); String sql = SqlBuilder.buildBatchInsertSql(ServiceReferenceTable.TABLE, source.keySet()); entity.setSql(sql); @@ -101,29 +101,28 @@ public class ServiceReferenceH2DAO extends H2DAO implements IServiceReferenceDAO } @Override - public H2SqlEntity prepareBatchUpdate(Data data) { + public H2SqlEntity prepareBatchUpdate(ServiceReference data) { H2SqlEntity entity = new H2SqlEntity(); Map source = new HashMap<>(); - source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_ID, data.getDataInteger(0)); - source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_NAME, data.getDataString(1)); - source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID, data.getDataInteger(1)); - source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_NAME, data.getDataString(2)); - source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID, data.getDataInteger(2)); - source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_NAME, data.getDataString(3)); - source.put(ServiceReferenceTable.COLUMN_S1_LTE, data.getDataLong(0)); - source.put(ServiceReferenceTable.COLUMN_S3_LTE, data.getDataLong(1)); - source.put(ServiceReferenceTable.COLUMN_S5_LTE, data.getDataLong(2)); - source.put(ServiceReferenceTable.COLUMN_S5_GT, data.getDataLong(3)); - source.put(ServiceReferenceTable.COLUMN_SUMMARY, data.getDataLong(4)); - source.put(ServiceReferenceTable.COLUMN_ERROR, data.getDataLong(5)); - source.put(ServiceReferenceTable.COLUMN_COST_SUMMARY, data.getDataLong(6)); - source.put(ServiceReferenceTable.COLUMN_TIME_BUCKET, data.getDataLong(7)); + source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_ID, data.getEntryServiceId()); + source.put(ServiceReferenceTable.COLUMN_ENTRY_SERVICE_NAME, data.getEntryServiceName()); + source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_ID, data.getFrontServiceId()); + source.put(ServiceReferenceTable.COLUMN_FRONT_SERVICE_NAME, data.getFrontServiceName()); + source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_ID, data.getBehindServiceId()); + source.put(ServiceReferenceTable.COLUMN_BEHIND_SERVICE_NAME, data.getBehindServiceName()); + source.put(ServiceReferenceTable.COLUMN_S1_LTE, data.getS1Lte()); + source.put(ServiceReferenceTable.COLUMN_S3_LTE, data.getS3Lte()); + source.put(ServiceReferenceTable.COLUMN_S5_LTE, data.getS5Lte()); + source.put(ServiceReferenceTable.COLUMN_S5_GT, data.getS5Gt()); + source.put(ServiceReferenceTable.COLUMN_SUMMARY, data.getSummary()); + source.put(ServiceReferenceTable.COLUMN_ERROR, data.getError()); + source.put(ServiceReferenceTable.COLUMN_COST_SUMMARY, data.getCostSummary()); + source.put(ServiceReferenceTable.COLUMN_TIME_BUCKET, data.getTimeBucket()); - String id = data.getDataString(0); String sql = SqlBuilder.buildBatchUpdateSql(ServiceReferenceTable.TABLE, source.keySet(), ServiceReferenceTable.COLUMN_ID); entity.setSql(sql); List values = new ArrayList<>(source.values()); - values.add(id); + values.add(data.getId()); entity.setParams(values.toArray(new Object[0])); return entity; }