[warehouse] 支持influx存储number类型数据

This commit is contained in:
tomsun28
2021-11-25 22:09:46 +08:00
parent bbc69fac20
commit b085d288f9
5 changed files with 46 additions and 11 deletions

View File

@@ -38,7 +38,7 @@
<dependency>
<groupId>io.etcd</groupId>
<artifactId>jetcd-core</artifactId>
<version>0.5.10</version>
<version>0.5.11</version>
</dependency>
<!-- kafka -->
<dependency>

View File

@@ -140,7 +140,9 @@ public class MetricsCollect implements Runnable, Comparable<MetricsCollect> {
* @param collectData 采集数据
*/
private void calculateFields(Metrics metrics, CollectRep.MetricsData.Builder collectData) {
collectData.addAllFields(metrics.getFields().stream().map(Metrics.Field::getField).collect(Collectors.toSet()));
collectData.addAllFields(metrics.getFields().stream().map(item ->
CollectRep.Field.newBuilder().setName(item.getField()).setType(item.getType()).build()
).collect(Collectors.toSet()));
List<CollectRep.ValueRow> aliasRowList = collectData.getValuesList();
if (aliasRowList == null || aliasRowList.isEmpty()) {
return;
@@ -165,8 +167,7 @@ public class MetricsCollect implements Runnable, Comparable<MetricsCollect> {
Map<String, String> aliasFieldValueMap = new HashMap<>(16);
Map<String, Object> fieldValueMap = new HashMap<>(16);
CollectRep.ValueRow.Builder realValueRowBuilder = CollectRep.ValueRow.newBuilder();
for (int index = 0; index < aliasRowList.size(); index++) {
CollectRep.ValueRow aliasRow = aliasRowList.get(index);
for (CollectRep.ValueRow aliasRow : aliasRowList) {
for (int aliasIndex = 0; aliasIndex < aliasFields.size(); aliasIndex++) {
String aliasFieldValue = aliasRow.getColumns(aliasIndex);
if (!CommonConstants.NULL_VALUE.equals(aliasFieldValue)) {
@@ -174,8 +175,7 @@ public class MetricsCollect implements Runnable, Comparable<MetricsCollect> {
}
}
StringBuilder instanceBuilder = new StringBuilder();
for (int realIndex = 0; realIndex < fields.size(); realIndex++) {
Metrics.Field field = fields.get(realIndex);
for (Metrics.Field field : fields) {
String realField = field.getField();
Expression expression = fieldExpressionMap.get(realField);
String value = null;