This is an automated email from the ASF dual-hosted git repository. lujiajing pushed a commit to branch banyandb-integration-stream in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit e078a3bbc0ee17c46bb3529a648af31833d887cc Author: Megrez Lu <[email protected]> AuthorDate: Mon Apr 25 14:40:06 2022 +0800 refactor converter and measure reigstration --- .../storage/plugin/banyandb/BanyanDBConverter.java | 114 ++++++++-- .../plugin/banyandb/BanyanDBIndexInstaller.java | 8 +- .../plugin/banyandb/BanyanDBMetricsDAO.java | 15 ++ .../plugin/banyandb/BanyanDBStorageClient.java | 28 ++- .../plugin/banyandb/BanyanDBStorageProvider.java | 3 +- .../BanyanDBUITemplateManagementDAO.java | 2 +- .../storage/plugin/banyandb/MetadataRegistry.java | 234 ++++++++++++++++----- .../banyandb/measure/BanyanDBMetadataQueryDAO.java | 27 ++- .../banyandb/stream/AbstractBanyanDBDAO.java | 46 +++- .../banyandb/stream/BanyanDBAlarmQueryDAO.java | 9 +- .../stream/BanyanDBBrowserLogQueryDAO.java | 7 +- .../banyandb/stream/BanyanDBLogQueryDAO.java | 7 +- .../stream/BanyanDBProfileTaskLogQueryDAO.java | 7 +- .../BanyanDBProfileThreadSnapshotQueryDAO.java | 30 ++- .../plugin/banyandb/stream/BanyanDBRecordDAO.java | 6 +- .../banyandb/stream/BanyanDBTraceQueryDAO.java | 13 +- .../storage/plugin/banyandb/util/ByteUtil.java | 33 +++ .../metadata/endpoint_relation_server_side.json | 41 ---- .../main/resources/metadata/endpoint_traffic.json | 31 --- .../src/main/resources/metadata/events.json | 64 ------ .../metadata/index_rules/component_id.json | 12 -- .../metadata/index_rules/create_time.json | 12 -- .../metadata/index_rules/db.instance.json | 12 -- .../resources/metadata/index_rules/db.type.json | 12 -- .../metadata/index_rules/dest_endpoint.json | 12 -- .../metadata/index_rules/dest_service_id.json | 12 -- .../resources/metadata/index_rules/disabled.json | 12 -- .../metadata/index_rules/dump_period.json | 12 -- .../resources/metadata/index_rules/dump_time.json | 12 -- .../resources/metadata/index_rules/duration.json | 12 -- .../resources/metadata/index_rules/end_time.json | 12 -- .../resources/metadata/index_rules/endpoint.json | 12 -- .../metadata/index_rules/endpoint_id.json | 12 -- .../metadata/index_rules/endpoint_name.json | 12 -- .../resources/metadata/index_rules/entity_id.json | 12 -- .../metadata/index_rules/http.method.json | 12 -- .../main/resources/metadata/index_rules/id.json | 12 -- .../resources/metadata/index_rules/last_ping.json | 12 -- .../index_rules/last_update_time_bucket.json | 12 -- .../resources/metadata/index_rules/latency.json | 12 -- .../main/resources/metadata/index_rules/layer.json | 12 -- .../metadata/index_rules/max_sampling_count.json | 12 -- .../index_rules/min_duration_threshold.json | 12 -- .../resources/metadata/index_rules/mq.broker.json | 12 -- .../resources/metadata/index_rules/mq.queue.json | 12 -- .../resources/metadata/index_rules/mq.topic.json | 12 -- .../main/resources/metadata/index_rules/name.json | 12 -- .../metadata/index_rules/operation_time.json | 12 -- .../resources/metadata/index_rules/segment_id.json | 12 -- .../resources/metadata/index_rules/sequence.json | 12 -- .../resources/metadata/index_rules/service.json | 12 -- .../metadata/index_rules/service_group.json | 12 -- .../resources/metadata/index_rules/service_id.json | 12 -- .../metadata/index_rules/service_instance.json | 12 -- .../metadata/index_rules/source_endpoint.json | 12 -- .../metadata/index_rules/source_service_id.json | 12 -- .../resources/metadata/index_rules/start_time.json | 12 -- .../metadata/index_rules/status_code.json | 12 -- .../resources/metadata/index_rules/trace_id.json | 12 -- .../main/resources/metadata/index_rules/type.json | 12 -- .../main/resources/metadata/index_rules/uuid.json | 12 -- .../main/resources/metadata/instance_traffic.json | 40 ---- .../resources/metadata/network_address_alias.json | 45 ---- .../src/main/resources/metadata/profile_task.json | 59 ------ .../main/resources/metadata/profile_task_log.json | 40 ---- .../metadata/profile_task_segment_snapshot.json | 44 ---- .../src/main/resources/metadata/segment.json | 86 -------- .../service_instance_relation_client_side.json | 56 ----- .../service_instance_relation_server_side.json | 56 ----- .../metadata/service_relation_client_side.json | 41 ---- .../metadata/service_relation_server_side.json | 41 ---- .../main/resources/metadata/service_traffic.json | 44 ---- .../src/main/resources/metadata/ui_template.json | 44 ---- 73 files changed, 452 insertions(+), 1361 deletions(-) diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBConverter.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBConverter.java index 41237f1f3b..c512b5653c 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBConverter.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBConverter.java @@ -21,15 +21,17 @@ package org.apache.skywalking.oap.server.storage.plugin.banyandb; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.skywalking.banyandb.model.v1.BanyandbModel; +import org.apache.skywalking.banyandb.v1.client.MeasureWrite; import org.apache.skywalking.banyandb.v1.client.RowEntity; import org.apache.skywalking.banyandb.v1.client.StreamWrite; import org.apache.skywalking.banyandb.v1.client.TagAndValue; import org.apache.skywalking.banyandb.v1.client.grpc.exception.BanyanDBException; import org.apache.skywalking.banyandb.v1.client.metadata.Serializable; -import org.apache.skywalking.oap.server.core.analysis.record.Record; import org.apache.skywalking.oap.server.core.storage.type.Convert2Entity; import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage; +import org.apache.skywalking.oap.server.core.storage.type.StorageDataComplexObject; import org.apache.skywalking.oap.server.library.util.StringUtil; +import org.apache.skywalking.oap.server.storage.plugin.banyandb.util.ByteUtil; import java.util.List; import java.util.function.Function; @@ -37,11 +39,17 @@ import java.util.function.Function; public class BanyanDBConverter { @RequiredArgsConstructor public static class StreamToEntity implements Convert2Entity { + private final MetadataRegistry.Schema schema; private final RowEntity rowEntity; @Override public Object get(String fieldName) { - return rowEntity.getTagValue(fieldName); + MetadataRegistry.ColumnSpec spec = schema.getSpec(fieldName); + if (double.class.equals(spec.getModelColumn().getType())) { + return ByteUtil.bytes2Double(rowEntity.getTagValue(fieldName)); + } else { + return rowEntity.getTagValue(fieldName); + } } @Override @@ -57,10 +65,7 @@ public class BanyanDBConverter { @Override public void accept(String fieldName, Object fieldValue) { - // skip "time_bucket" - if (Record.TIME_BUCKET.equals(fieldName)) { - return; - } + // TODO: skip "time_bucket" try { this.streamWrite.tag(fieldName, buildTag(fieldValue)); } catch (BanyanDBException ex) { @@ -68,15 +73,6 @@ public class BanyanDBConverter { } } - private Serializable<BanyandbModel.TagValue> buildTag(Object value) { - if (Integer.class.equals(value.getClass()) || Long.class.equals(value.getClass())) { - return TagAndValue.longTagValue((long) value); - } else if (String.class.equals(value.getClass())) { - return TagAndValue.stringTagValue((String) value); - } - throw new IllegalStateException(value.getClass() + " is not supported"); - } - @Override public void accept(String fieldName, byte[] fieldValue) { try { @@ -104,7 +100,6 @@ public class BanyanDBConverter { @Override public Object get(String fieldName) { - // TODO: get an unmodifiable view of tag return null; } @@ -113,4 +108,91 @@ public class BanyanDBConverter { return this.streamWrite; } } + + @Slf4j + @RequiredArgsConstructor + public static class MeasureToStorage implements Convert2Storage<MeasureWrite> { + private final MetadataRegistry.Schema schema; + private final MeasureWrite measureWrite; + + @Override + public void accept(String fieldName, Object fieldValue) { + MetadataRegistry.ColumnSpec columnSpec = this.schema.getSpec(fieldName); + try { + if (columnSpec.getColumnType() == MetadataRegistry.ColumnType.TAG) { + this.measureWrite.tag(fieldName, buildTag(fieldValue)); + } else { + this.measureWrite.field(fieldName, buildField(fieldValue)); + } + } catch (BanyanDBException ex) { + log.error("fail to add tag", ex); + } + } + + @Override + public void accept(String fieldName, byte[] fieldValue) { + MetadataRegistry.ColumnSpec columnSpec = this.schema.getSpec(fieldName); + try { + if (columnSpec.getColumnType() == MetadataRegistry.ColumnType.TAG) { + this.measureWrite.tag(fieldName, TagAndValue.binaryTagValue(fieldValue)); + } else { + this.measureWrite.field(fieldName, TagAndValue.binaryFieldValue(fieldValue)); + } + } catch (BanyanDBException ex) { + log.error("fail to add binary tag/field", ex); + } + } + + @Override + public void accept(String fieldName, List<String> fieldValue) { + for (final String tagKeyAndValue : fieldValue) { + if (StringUtil.isEmpty(tagKeyAndValue)) { + continue; + } + int pos = tagKeyAndValue.indexOf("="); + if (pos == -1) { + continue; + } + String key = tagKeyAndValue.substring(0, pos); + String value = tagKeyAndValue.substring(pos + 1); + this.accept(key, value); + } + } + + @Override + public Object get(String fieldName) { + return null; + } + + @Override + public MeasureWrite obtain() { + return this.measureWrite; + } + } + + private static Serializable<BanyandbModel.TagValue> buildTag(Object value) { + if (Integer.class.equals(value.getClass()) || Long.class.equals(value.getClass())) { + return TagAndValue.longTagValue((long) value); + } else if (String.class.equals(value.getClass())) { + return TagAndValue.stringTagValue((String) value); + } else if (Double.class.equals(value.getClass())) { + return TagAndValue.binaryTagValue(ByteUtil.double2Bytes((double) value)); + } else if (value instanceof StorageDataComplexObject) { + return TagAndValue.stringTagValue(((StorageDataComplexObject<?>) value).toStorageData()); + } + throw new IllegalStateException(value.getClass() + " is not supported"); + } + + private static Serializable<BanyandbModel.FieldValue> buildField(Object value) { + if (Integer.class.equals(value.getClass()) || Long.class.equals(value.getClass())) { + return TagAndValue.longFieldValue((long) value); + } else if (String.class.equals(value.getClass())) { + return TagAndValue.stringFieldValue((String) value); + } else if (Double.class.equals(value.getClass())) { + return TagAndValue.binaryFieldValue(ByteUtil.double2Bytes((double) value)); + } else if (value instanceof StorageDataComplexObject) { + return TagAndValue.stringFieldValue(((StorageDataComplexObject<?>) value).toStorageData()); + } + throw new IllegalStateException(value.getClass() + " is not supported"); + } } diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBIndexInstaller.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBIndexInstaller.java index 32f3480769..75109aa781 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBIndexInstaller.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBIndexInstaller.java @@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.skywalking.banyandb.v1.client.BanyanDBClient; import org.apache.skywalking.banyandb.v1.client.grpc.exception.BanyanDBException; import org.apache.skywalking.banyandb.v1.client.metadata.Group; +import org.apache.skywalking.banyandb.v1.client.metadata.Measure; import org.apache.skywalking.banyandb.v1.client.metadata.Stream; import org.apache.skywalking.oap.server.core.CoreModule; import org.apache.skywalking.oap.server.core.config.ConfigService; @@ -72,8 +73,11 @@ public class BanyanDBIndexInstaller extends ModelInstaller { ((BanyanDBStorageClient) client).define(stream); } } else if (model.isTimeSeries() && !model.isRecord()) { // measure - // TODO: dynamically register Measure - log.info("skip measure index {}", model.getName()); + Measure measure = (Measure) MetadataRegistry.INSTANCE.registerModel(model, this.configService); + if (measure != null) { + log.info("install measure schema {}", model.getName()); + ((BanyanDBStorageClient) client).define(measure); + } } else if (!model.isTimeSeries()) { // UITemplate log.info("skip property index {}", model.getName()); } diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBMetricsDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBMetricsDAO.java index 4e84979498..20a300c3b0 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBMetricsDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBMetricsDAO.java @@ -1,9 +1,13 @@ package org.apache.skywalking.oap.server.storage.plugin.banyandb; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.skywalking.banyandb.v1.client.MeasureWrite; +import org.apache.skywalking.oap.server.core.analysis.TimeBucket; import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics; import org.apache.skywalking.oap.server.core.storage.IMetricsDAO; import org.apache.skywalking.oap.server.core.storage.model.Model; +import org.apache.skywalking.oap.server.core.storage.type.Convert2Storage; import org.apache.skywalking.oap.server.core.storage.type.StorageBuilder; import org.apache.skywalking.oap.server.library.client.request.InsertRequest; import org.apache.skywalking.oap.server.library.client.request.UpdateRequest; @@ -13,6 +17,7 @@ import java.util.Collections; import java.util.List; @RequiredArgsConstructor +@Slf4j public class BanyanDBMetricsDAO implements IMetricsDAO { private final StorageBuilder<Metrics> storageBuilder; @@ -23,6 +28,16 @@ public class BanyanDBMetricsDAO implements IMetricsDAO { @Override public InsertRequest prepareBatchInsert(Model model, Metrics metrics) throws IOException { + log.info("prepare to insert {}", model.getName()); + MetadataRegistry.Schema schema = MetadataRegistry.INSTANCE.findMetadata(model.getName()); + if (schema == null) { + throw new IOException(model.getName() + " is not registered"); + } + MeasureWrite measureWrite = new MeasureWrite(schema.getMetadata().getGroup(), // group name + model.getName(), // index-name + TimeBucket.getTimestamp(metrics.getTimeBucket(), model.getDownsampling())); // timestamp + final Convert2Storage<MeasureWrite> toStorage = new BanyanDBConverter.MeasureToStorage(schema, measureWrite); + storageBuilder.entity2Storage(metrics, toStorage); return new InsertRequest() { }; } diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageClient.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageClient.java index 2df53a2ed9..a92c270023 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageClient.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageClient.java @@ -20,11 +20,14 @@ package org.apache.skywalking.oap.server.storage.plugin.banyandb; import io.grpc.Status; import org.apache.skywalking.banyandb.v1.client.BanyanDBClient; +import org.apache.skywalking.banyandb.v1.client.MeasureQuery; +import org.apache.skywalking.banyandb.v1.client.MeasureQueryResponse; import org.apache.skywalking.banyandb.v1.client.StreamBulkWriteProcessor; import org.apache.skywalking.banyandb.v1.client.StreamQuery; import org.apache.skywalking.banyandb.v1.client.StreamQueryResponse; import org.apache.skywalking.banyandb.v1.client.StreamWrite; import org.apache.skywalking.banyandb.v1.client.grpc.exception.BanyanDBException; +import org.apache.skywalking.banyandb.v1.client.metadata.Measure; import org.apache.skywalking.banyandb.v1.client.metadata.Property; import org.apache.skywalking.banyandb.v1.client.metadata.Stream; import org.apache.skywalking.oap.server.library.client.Client; @@ -90,9 +93,9 @@ public class BanyanDBStorageClient implements Client, HealthCheckable { } } - public StreamQueryResponse query(StreamQuery streamQuery) throws IOException { + public StreamQueryResponse query(StreamQuery q) throws IOException { try { - StreamQueryResponse response = this.client.query(streamQuery); + StreamQueryResponse response = this.client.query(q); this.healthChecker.health(); return response; } catch (BanyanDBException ex) { @@ -101,6 +104,17 @@ public class BanyanDBStorageClient implements Client, HealthCheckable { } } + public MeasureQueryResponse query(MeasureQuery q) throws IOException { + try { + MeasureQueryResponse response = this.client.query(q); + this.healthChecker.health(); + return response; + } catch (BanyanDBException ex) { + healthChecker.unHealth(ex); + throw new IOException("fail to query measure", ex); + } + } + public void define(Property property) throws IOException { try { this.client.save(property); @@ -121,6 +135,16 @@ public class BanyanDBStorageClient implements Client, HealthCheckable { } } + public void define(Measure measure) throws IOException { + try { + this.client.define(measure); + this.healthChecker.health(); + } catch (BanyanDBException ex) { + healthChecker.unHealth(ex); + throw new IOException("fail to define stream", ex); + } + } + public void write(StreamWrite streamWrite) { this.client.write(streamWrite); } diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageProvider.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageProvider.java index 26c0e8d501..26c6b2529a 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageProvider.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageProvider.java @@ -56,7 +56,6 @@ import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDB import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBProfileTaskQueryDAO; import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBServiceLabelDAO; import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBTopologyQueryDAO; -import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBUITemplateManagementDAO; import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBAlarmQueryDAO; import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBBatchDAO; import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBBrowserLogQueryDAO; @@ -109,7 +108,7 @@ public class BanyanDBStorageProvider extends ModuleProvider { this.registerServiceImplementation(INetworkAddressAliasDAO.class, new BanyanDBNetworkAddressAliasDAO()); this.registerServiceImplementation(ITraceQueryDAO.class, new BanyanDBTraceQueryDAO(client)); this.registerServiceImplementation(IBrowserLogQueryDAO.class, new BanyanDBBrowserLogQueryDAO(client)); - this.registerServiceImplementation(IMetadataQueryDAO.class, new BanyanDBMetadataQueryDAO()); + this.registerServiceImplementation(IMetadataQueryDAO.class, new BanyanDBMetadataQueryDAO(client)); this.registerServiceImplementation(IAlarmQueryDAO.class, new BanyanDBAlarmQueryDAO(client)); this.registerServiceImplementation(ILogQueryDAO.class, new BanyanDBLogQueryDAO(client)); this.registerServiceImplementation(IProfileTaskQueryDAO.class, new BanyanDBProfileTaskQueryDAO()); diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/measure/BanyanDBUITemplateManagementDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBUITemplateManagementDAO.java similarity index 99% rename from oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/measure/BanyanDBUITemplateManagementDAO.java rename to oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBUITemplateManagementDAO.java index dba7844413..b97e71ccb7 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/measure/BanyanDBUITemplateManagementDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBUITemplateManagementDAO.java @@ -16,7 +16,7 @@ * */ -package org.apache.skywalking.oap.server.storage.plugin.banyandb.measure; +package org.apache.skywalking.oap.server.storage.plugin.banyandb; import lombok.extern.slf4j.Slf4j; import org.apache.skywalking.banyandb.v1.client.TagAndValue; diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/MetadataRegistry.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/MetadataRegistry.java index b8925c7529..6c6fbb7658 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/MetadataRegistry.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/MetadataRegistry.java @@ -18,9 +18,14 @@ package org.apache.skywalking.oap.server.storage.plugin.banyandb; +import com.google.gson.JsonObject; import io.grpc.Status; +import lombok.Builder; import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.Getter; import lombok.RequiredArgsConstructor; +import lombok.Singular; import lombok.extern.slf4j.Slf4j; import org.apache.skywalking.banyandb.v1.client.BanyanDBClient; import org.apache.skywalking.banyandb.v1.client.grpc.exception.BanyanDBException; @@ -28,14 +33,19 @@ import org.apache.skywalking.banyandb.v1.client.metadata.Catalog; import org.apache.skywalking.banyandb.v1.client.metadata.Duration; import org.apache.skywalking.banyandb.v1.client.metadata.Group; import org.apache.skywalking.banyandb.v1.client.metadata.IndexRule; +import org.apache.skywalking.banyandb.v1.client.metadata.Measure; import org.apache.skywalking.banyandb.v1.client.metadata.NamedSchema; import org.apache.skywalking.banyandb.v1.client.metadata.Stream; import org.apache.skywalking.banyandb.v1.client.metadata.TagFamilySpec; import org.apache.skywalking.oap.server.core.alarm.AlarmRecord; +import org.apache.skywalking.oap.server.core.analysis.DownSampling; +import org.apache.skywalking.oap.server.core.analysis.Layer; import org.apache.skywalking.oap.server.core.analysis.manual.log.LogRecord; import org.apache.skywalking.oap.server.core.analysis.manual.segment.SegmentRecord; import org.apache.skywalking.oap.server.core.analysis.metrics.DataTable; +import org.apache.skywalking.oap.server.core.analysis.metrics.IntList; import org.apache.skywalking.oap.server.core.config.ConfigService; +import org.apache.skywalking.oap.server.core.storage.annotation.ValueColumnMetadata; import org.apache.skywalking.oap.server.core.storage.model.Model; import org.apache.skywalking.oap.server.core.storage.model.ModelColumn; import org.apache.skywalking.oap.server.library.util.StringUtil; @@ -45,9 +55,9 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; -import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; @@ -57,53 +67,105 @@ import java.util.stream.Collectors; public enum MetadataRegistry { INSTANCE; - private final Map<String, PartialMetadata> registry = new ConcurrentHashMap<>(); + private final Map<String, Schema> registry = new ConcurrentHashMap<>(); public NamedSchema<?> registerModel(Model model, ConfigService configService) { - PartialMetadata partialMetadata = parseMetadata(model); - final Stream.Builder builder = Stream.create(partialMetadata.getGroup(), partialMetadata.getName()); + final PartialMetadata partialMetadata = parseMetadata(model); + Schema.SchemaBuilder schemaBuilder = Schema.builder().metadata(partialMetadata); Map<String, ModelColumn> modelColumnMap = model.getColumns().stream() .collect(Collectors.toMap(modelColumn -> modelColumn.getColumnName().getStorageName(), Function.identity())); // parse and set sharding keys - builder.setEntityRelativeTags(parseEntityNames(modelColumnMap)); - // parse and set tag families, which contains tag specs - List<TagFamilySpec> specs = parseTagFamilySpecs(model, partialMetadata, configService); - builder.addTagFamilies(specs); - // parse and add index definition - builder.addIndexes(parseIndexRules(specs, partialMetadata.indexFamily(), modelColumnMap)); - - registry.put(model.getName(), partialMetadata); - return builder.build(); + List<String> entities = parseEntityNames(modelColumnMap); + // parse tag metadata + // this can be used to build both + // 1) a list of TagFamilySpec, + // 2) a list of IndexRule, + List<TagMetadata> tags = parseTagMetadata(model, configService, schemaBuilder); + List<TagFamilySpec> tagFamilySpecs = partialMetadata.extractTagFamilySpec(tags); + List<IndexRule> indexRules = tags.stream() + .map(TagMetadata::getIndexRule) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + + + if (partialMetadata.getKind() == Kind.STREAM) { + final Stream.Builder builder = Stream.create(partialMetadata.getGroup(), partialMetadata.getName()); + builder.setEntityRelativeTags(entities); + builder.addTagFamilies(tagFamilySpecs); + builder.addIndexes(indexRules); + + registry.put(model.getName(), schemaBuilder.build()); + return builder.build(); + } else { + final Measure.Builder builder = Measure.create(partialMetadata.getGroup(), partialMetadata.getName(), + downSamplingDuration(model.getDownsampling())); + builder.setEntityRelativeTags(entities); + builder.addTagFamilies(tagFamilySpecs); + builder.addIndexes(indexRules); + // parse and set field + Optional<ValueColumnMetadata.ValueColumn> valueColumnOpt = ValueColumnMetadata.INSTANCE + .readValueColumnDefinition(model.getName()); + valueColumnOpt.ifPresent(valueColumn -> builder.addField(parseFieldSpec(modelColumnMap.get(valueColumn.getValueCName()), valueColumn))); + + registry.put(model.getName(), schemaBuilder.build()); + return builder.build(); + } } - public PartialMetadata findSchema(final String name) { + public Schema findMetadata(final String name) { return this.registry.get(name); } - List<IndexRule> parseIndexRules(List<TagFamilySpec> specs, String indexTagFamily, Map<String, ModelColumn> modelColumnMap) { - List<IndexRule> indexRules = new ArrayList<>(); - for (final TagFamilySpec spec : specs) { - if (!indexTagFamily.equals(spec.tagFamilyName())) { - continue; - } - for (final TagFamilySpec.TagSpec tagSpec : spec.tagSpecs()) { - final String tagName = tagSpec.getTagName(); - // TODO: we need to add support index type in the OAP core - // Currently, we only register INVERTED type - final ModelColumn modelColumn = modelColumnMap.get(tagName); - // if it is null, it must be a user-defined tag - if (modelColumn == null) { - indexRules.add(IndexRule.create(tagName, IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES)); - continue; - } - if (modelColumn.getBanyanDBExtension().isGlobalIndexing()) { - indexRules.add(IndexRule.create(tagName, IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.GLOBAL)); - } else { - indexRules.add(IndexRule.create(tagName, IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES)); - } - } + private Measure.FieldSpec parseFieldSpec(ModelColumn modelColumn, ValueColumnMetadata.ValueColumn valueColumn) { + if (String.class.equals(modelColumn.getType())) { + return Measure.FieldSpec.newIntField(valueColumn.getValueCName()) + .compressWithZSTD() + .build(); + } else if (long.class.equals(modelColumn.getType()) || int.class.equals(modelColumn.getType())) { + return Measure.FieldSpec.newIntField(valueColumn.getValueCName()) + .compressWithZSTD() + .encodeWithGorilla() + .build(); + } else if (DataTable.class.equals(modelColumn.getType())) { + return Measure.FieldSpec.newBinaryField(valueColumn.getValueCName()) + .compressWithZSTD() + .build(); + } else if (double.class.equals(modelColumn.getType())) { + // TODO: natively support double/float in BanyanDB + log.warn("Double is stored as binary"); + return Measure.FieldSpec.newBinaryField(valueColumn.getValueCName()) + .compressWithZSTD() + .build(); + } else { + throw new UnsupportedOperationException(modelColumn.getType().getSimpleName() + " is not supported for field"); + } + } + + Duration downSamplingDuration(DownSampling downSampling) { + switch (downSampling) { + case Hour: + return Duration.ofHours(1); + case Minute: + return Duration.ofMinutes(1); + case Day: + return Duration.ofDays(1); + default: + throw new UnsupportedOperationException("unsupported downSampling interval"); + } + } + + IndexRule parseIndexRule(String tagName, ModelColumn modelColumn) { + // TODO: we need to add support index type in the OAP core + // Currently, we only register INVERTED type + // if it is null, it must be a user-defined tag + if (modelColumn == null) { + return IndexRule.create(tagName, IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES); + } + if (modelColumn.getBanyanDBExtension().isGlobalIndexing()) { + return IndexRule.create(tagName, IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.GLOBAL); + } else { + return IndexRule.create(tagName, IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES); } - return indexRules; } /** @@ -125,30 +187,40 @@ public enum MetadataRegistry { .collect(Collectors.toList()); } - List<TagFamilySpec> parseTagFamilySpecs(Model model, PartialMetadata metadata, ConfigService configService) { - Map<String, TagFamilySpec.Builder> builderMap = new HashMap<>(); + List<TagMetadata> parseTagMetadata(Model model, ConfigService configService, Schema.SchemaBuilder builder) { + List<TagMetadata> tagMetadataList = new ArrayList<>(); + // skip metric + Optional<ValueColumnMetadata.ValueColumn> valueColumnOpt = ValueColumnMetadata.INSTANCE + .readValueColumnDefinition(model.getName()); for (final ModelColumn col : model.getColumns()) { + if (valueColumnOpt.isPresent() && valueColumnOpt.get().getValueCName().equals(col.getColumnName().getStorageName())) { + builder.spec(col.getColumnName().getStorageName(), new ColumnSpec(ColumnType.FIELD, col)); + continue; + } final TagFamilySpec.TagSpec tagSpec = parseTagSpec(col); if (tagSpec == null) { continue; } + builder.spec(col.getColumnName().getStorageName(), new ColumnSpec(ColumnType.TAG, col)); if (col.shouldIndex()) { - builderMap.computeIfAbsent(metadata.indexFamily(), TagFamilySpec::create).addTagSpec(tagSpec); + // build indexRule + IndexRule indexRule = parseIndexRule(tagSpec.getTagName(), col); + tagMetadataList.add(new TagMetadata(indexRule, tagSpec)); } else { - builderMap.computeIfAbsent(metadata.nonIndexFamily(), TagFamilySpec::create).addTagSpec(tagSpec); + tagMetadataList.add(new TagMetadata(null, tagSpec)); } } // add all user-defined indexed tags to the end of the "searchable" family if (SegmentRecord.INDEX_NAME.equals(model.getName())) { - builderMap.computeIfAbsent(metadata.indexFamily(), TagFamilySpec::create).addTagSpecs(parseExtraTagSpecs(configService.getSearchableTracesTags())); + tagMetadataList.addAll(parseExtraTagSpecs(configService.getSearchableTracesTags())); } else if (LogRecord.INDEX_NAME.equals(model.getName())) { - builderMap.computeIfAbsent(metadata.indexFamily(), TagFamilySpec::create).addTagSpecs(parseExtraTagSpecs(configService.getSearchableLogsTags())); + tagMetadataList.addAll(parseExtraTagSpecs(configService.getSearchableLogsTags())); } else if (AlarmRecord.INDEX_NAME.equals(model.getName())) { - builderMap.computeIfAbsent(metadata.indexFamily(), TagFamilySpec::create).addTagSpecs(parseExtraTagSpecs(configService.getSearchableAlarmTags())); + tagMetadataList.addAll(parseExtraTagSpecs(configService.getSearchableAlarmTags())); } - return builderMap.values().stream().map(TagFamilySpec.Builder::build).collect(Collectors.toList()); + return tagMetadataList; } /** @@ -158,7 +230,7 @@ public enum MetadataRegistry { * @param tags a series of tags joint by comma * @return a list of {@link org.apache.skywalking.banyandb.v1.client.metadata.TagFamilySpec.TagSpec} generated from input */ - private List<TagFamilySpec.TagSpec> parseExtraTagSpecs(String tags) { + private List<TagMetadata> parseExtraTagSpecs(String tags) { if (StringUtil.isEmpty(tags)) { return Collections.emptyList(); } @@ -167,7 +239,8 @@ public enum MetadataRegistry { return Collections.emptyList(); } return Arrays.stream(tagsArray) - .map(TagFamilySpec.TagSpec::newStringTag) + .map(tagName -> new TagMetadata(parseIndexRule(tagName, null), + TagFamilySpec.TagSpec.newStringTag(tagName))) .collect(Collectors.toList()); } @@ -180,15 +253,23 @@ public enum MetadataRegistry { @Nullable private TagFamilySpec.TagSpec parseTagSpec(ModelColumn modelColumn) { final Class<?> clazz = modelColumn.getType(); - if (String.class.equals(clazz)) { - return TagFamilySpec.TagSpec.newStringTag(modelColumn.getColumnName().getStorageName()); + final String colName = modelColumn.getColumnName().getStorageName(); + if (String.class.equals(clazz) || DataTable.class.equals(clazz) || JsonObject.class.equals(clazz)) { + return TagFamilySpec.TagSpec.newStringTag(colName); } else if (int.class.equals(clazz) || long.class.equals(clazz)) { - return TagFamilySpec.TagSpec.newIntTag(modelColumn.getColumnName().getStorageName()); - } else if (byte[].class.equals(clazz) || DataTable.class.equals(clazz)) { - return TagFamilySpec.TagSpec.newBinaryTag(modelColumn.getColumnName().getStorageName()); - } else { + return TagFamilySpec.TagSpec.newIntTag(colName); + } else if (byte[].class.equals(clazz)) { + return TagFamilySpec.TagSpec.newBinaryTag(colName); + } else if (Layer.class.equals(clazz)) { + return TagFamilySpec.TagSpec.newIntTag(colName); + } else if (double.class.equals(clazz) || Double.class.equals(clazz)) { + // serialize double as binary + return TagFamilySpec.TagSpec.newBinaryTag(colName); + } else if (IntList.class.isAssignableFrom(clazz)) { + return TagFamilySpec.TagSpec.newIntArrayTag(colName); + } else { // handle exceptions // TODO: we skip all tags with type of List<String> - if ("tags".equals(modelColumn.getColumnName().getStorageName())) { + if ("tags".equals(colName)) { return null; } throw new IllegalStateException("type " + modelColumn.getType().toString() + " is not supported"); @@ -207,6 +288,7 @@ public enum MetadataRegistry { return new PartialMetadata("measure-default", model.getName(), Kind.MEASURE); } + @RequiredArgsConstructor @Data public static class PartialMetadata { @@ -233,6 +315,14 @@ public enum MetadataRegistry { } } + private List<TagFamilySpec> extractTagFamilySpec(List<TagMetadata> tagMetadataList) { + return tagMetadataList.stream().collect(Collectors.groupingBy(tagMetadata -> tagMetadata.isIndex() ? PartialMetadata.this.indexFamily() : PartialMetadata.this.nonIndexFamily())) + .entrySet().stream() + .map(entry -> TagFamilySpec.create(entry.getKey()) + .addTagSpecs(entry.getValue().stream().map(TagMetadata::getTagSpec).collect(Collectors.toList())).build()) + .collect(Collectors.toList()); + } + public Group getOrCreateGroup(BanyanDBClient client) throws BanyanDBException { Group g = client.findGroup(this.group); if (g != null) { @@ -262,7 +352,6 @@ public enum MetadataRegistry { public String nonIndexFamily() { switch (kind) { case MEASURE: - return null; case STREAM: return "binary"; default: @@ -274,4 +363,39 @@ public enum MetadataRegistry { public enum Kind { MEASURE, STREAM; } + + @RequiredArgsConstructor + @Getter + private static class TagMetadata { + private final IndexRule indexRule; + private final TagFamilySpec.TagSpec tagSpec; + + boolean isIndex() { + return this.indexRule != null; + } + } + + @Builder + @EqualsAndHashCode + public static class Schema { + @Getter + private final PartialMetadata metadata; + @Singular + private final Map<String, ColumnSpec> specs; + + public ColumnSpec getSpec(String columnName) { + return this.specs.get(columnName); + } + } + + @RequiredArgsConstructor + @Getter + public static class ColumnSpec { + private final ColumnType columnType; + private final ModelColumn modelColumn; + } + + public enum ColumnType { + TAG, FIELD; + } } diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/measure/BanyanDBMetadataQueryDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/measure/BanyanDBMetadataQueryDAO.java index bff4fc00be..23828464da 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/measure/BanyanDBMetadataQueryDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/measure/BanyanDBMetadataQueryDAO.java @@ -18,19 +18,44 @@ package org.apache.skywalking.oap.server.storage.plugin.banyandb.measure; +import com.google.common.collect.ImmutableSet; +import org.apache.skywalking.banyandb.v1.client.MeasureQuery; +import org.apache.skywalking.banyandb.v1.client.MeasureQueryResponse; +import org.apache.skywalking.oap.server.core.analysis.manual.service.ServiceTraffic; import org.apache.skywalking.oap.server.core.query.type.Endpoint; import org.apache.skywalking.oap.server.core.query.type.Process; import org.apache.skywalking.oap.server.core.query.type.Service; import org.apache.skywalking.oap.server.core.query.type.ServiceInstance; import org.apache.skywalking.oap.server.core.storage.query.IMetadataQueryDAO; +import org.apache.skywalking.oap.server.library.util.StringUtil; +import org.apache.skywalking.oap.server.storage.plugin.banyandb.BanyanDBStorageClient; +import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.AbstractBanyanDBDAO; import java.io.IOException; import java.util.Collections; import java.util.List; -public class BanyanDBMetadataQueryDAO implements IMetadataQueryDAO { +public class BanyanDBMetadataQueryDAO extends AbstractBanyanDBDAO implements IMetadataQueryDAO { + public BanyanDBMetadataQueryDAO(BanyanDBStorageClient client) { + super(client); + } + @Override public List<Service> listServices(String layer, String group) throws IOException { + MeasureQueryResponse resp = query(ServiceTraffic.INDEX_NAME, + ImmutableSet.of(ServiceTraffic.NAME, ServiceTraffic.SHORT_NAME), + Collections.emptySet(), new QueryBuilder<MeasureQuery>() { + @Override + protected void apply(MeasureQuery query) { + if (StringUtil.isNotEmpty(group)) { + query.appendCondition(eq(ServiceTraffic.GROUP, group)); + } + if (StringUtil.isNotEmpty(layer)) { + query.appendCondition(eq(ServiceTraffic.LAYER, layer)); + } + } + }); + return Collections.emptyList(); } diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/AbstractBanyanDBDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/AbstractBanyanDBDAO.java index 53e8cc4f80..c7d4f930ee 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/AbstractBanyanDBDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/AbstractBanyanDBDAO.java @@ -18,6 +18,9 @@ package org.apache.skywalking.oap.server.storage.plugin.banyandb.stream; +import org.apache.skywalking.banyandb.v1.client.AbstractQuery; +import org.apache.skywalking.banyandb.v1.client.MeasureQuery; +import org.apache.skywalking.banyandb.v1.client.MeasureQueryResponse; import org.apache.skywalking.banyandb.v1.client.PairQueryCondition; import org.apache.skywalking.banyandb.v1.client.StreamQuery; import org.apache.skywalking.banyandb.v1.client.StreamQueryResponse; @@ -39,17 +42,44 @@ public abstract class AbstractBanyanDBDAO extends AbstractDAO<BanyanDBStorageCli super(client); } - protected StreamQueryResponse query(MetadataRegistry.PartialMetadata metadata, Set<String> searchableTags, QueryBuilder builder) throws IOException { - return this.query(metadata, searchableTags, null, builder); + protected StreamQueryResponse query(String modelName, Set<String> tags, QueryBuilder<StreamQuery> builder) throws IOException { + return this.query(modelName, tags, null, builder); } - protected StreamQueryResponse query(MetadataRegistry.PartialMetadata metadata, Set<String> searchableTags, TimestampRange timestampRange, - QueryBuilder builder) throws IOException { + protected StreamQueryResponse query(String modelName, Set<String> tags, TimestampRange timestampRange, + QueryBuilder<StreamQuery> builder) throws IOException { + MetadataRegistry.Schema schema = MetadataRegistry.INSTANCE.findMetadata(modelName); + if (schema == null) { + throw new IllegalStateException("schema is not registered"); + } final StreamQuery query; if (timestampRange == null) { - query = new StreamQuery(metadata.getGroup(), metadata.getName(), LARGEST_TIME_RANGE, searchableTags); + query = new StreamQuery(schema.getMetadata().getGroup(), schema.getMetadata().getName(), LARGEST_TIME_RANGE, tags); + } else { + query = new StreamQuery(schema.getMetadata().getGroup(), schema.getMetadata().getName(), timestampRange, tags); + } + + builder.apply(query); + + return getClient().query(query); + } + + protected MeasureQueryResponse query(String modelName, Set<String> tags, Set<String> fields, + QueryBuilder<MeasureQuery> builder) throws IOException { + return this.query(modelName, tags, fields, null, builder); + } + + protected MeasureQueryResponse query(String modelName, Set<String> tags, Set<String> fields, + TimestampRange timestampRange, QueryBuilder<MeasureQuery> builder) throws IOException { + MetadataRegistry.Schema schema = MetadataRegistry.INSTANCE.findMetadata(modelName); + if (schema == null) { + throw new IllegalStateException("schema is not registered"); + } + final MeasureQuery query; + if (timestampRange == null) { + query = new MeasureQuery(schema.getMetadata().getGroup(), schema.getMetadata().getName(), LARGEST_TIME_RANGE, tags, fields); } else { - query = new StreamQuery(metadata.getGroup(), metadata.getName(), timestampRange, searchableTags); + query = new MeasureQuery(schema.getMetadata().getGroup(), schema.getMetadata().getName(), timestampRange, tags, fields); } builder.apply(query); @@ -57,8 +87,8 @@ public abstract class AbstractBanyanDBDAO extends AbstractDAO<BanyanDBStorageCli return getClient().query(query); } - protected abstract static class QueryBuilder { - abstract void apply(final StreamQuery query); + protected abstract static class QueryBuilder<T extends AbstractQuery<? extends com.google.protobuf.GeneratedMessageV3>> { + protected abstract void apply(final T query); protected PairQueryCondition<Long> eq(String name, long value) { return PairQueryCondition.LongQueryCondition.eq(name, value); diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBAlarmQueryDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBAlarmQueryDAO.java index b2a43abff7..55f2cf9ec7 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBAlarmQueryDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBAlarmQueryDAO.java @@ -44,9 +44,6 @@ import java.util.Objects; * which can be used to build a {@link org.apache.skywalking.oap.server.core.query.type.AlarmMessage} */ public class BanyanDBAlarmQueryDAO extends AbstractBanyanDBDAO implements IAlarmQueryDAO { - private final MetadataRegistry.PartialMetadata alarmRecordMetadata = - MetadataRegistry.INSTANCE.findSchema(AlarmRecord.INDEX_NAME); - public BanyanDBAlarmQueryDAO(BanyanDBStorageClient client) { super(client); } @@ -58,10 +55,10 @@ public class BanyanDBAlarmQueryDAO extends AbstractBanyanDBDAO implements IAlarm tsRange = new TimestampRange(TimeBucket.getTimestamp(startTB), TimeBucket.getTimestamp(endTB)); } - StreamQueryResponse resp = query(alarmRecordMetadata, + StreamQueryResponse resp = query(AlarmRecord.INDEX_NAME, ImmutableSet.of(AlarmRecord.SCOPE, AlarmRecord.START_TIME, AlarmRecord.ID0, AlarmRecord.ID1, AlarmRecord.ALARM_MESSAGE, AlarmRecord.TAGS_RAW_DATA), tsRange, - new QueryBuilder() { + new QueryBuilder<StreamQuery>() { @Override public void apply(StreamQuery query) { if (Objects.nonNull(scopeId)) { @@ -87,7 +84,7 @@ public class BanyanDBAlarmQueryDAO extends AbstractBanyanDBDAO implements IAlarm for (final RowEntity rowEntity : resp.getElements()) { AlarmRecord.Builder builder = new AlarmRecord.Builder(); AlarmRecord alarmRecord = builder.storage2Entity( - new BanyanDBConverter.StreamToEntity(rowEntity) + new BanyanDBConverter.StreamToEntity(MetadataRegistry.INSTANCE.findMetadata(AlarmRecord.INDEX_NAME), rowEntity) ); AlarmMessage message = new AlarmMessage(); diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBBrowserLogQueryDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBBrowserLogQueryDAO.java index 2c412cf7dc..e692a8d3b3 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBBrowserLogQueryDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBBrowserLogQueryDAO.java @@ -42,9 +42,6 @@ import java.util.Objects; * {@link org.apache.skywalking.oap.server.core.browser.manual.errorlog.BrowserErrorLogRecord} is a stream */ public class BanyanDBBrowserLogQueryDAO extends AbstractBanyanDBDAO implements IBrowserLogQueryDAO { - private final MetadataRegistry.PartialMetadata browserErrorLogRecordMetadata = - MetadataRegistry.INSTANCE.findSchema(BrowserErrorLogRecord.INDEX_NAME); - public BanyanDBBrowserLogQueryDAO(BanyanDBStorageClient client) { super(client); } @@ -56,10 +53,10 @@ public class BanyanDBBrowserLogQueryDAO extends AbstractBanyanDBDAO implements I tsRange = new TimestampRange(TimeBucket.getTimestamp(startSecondTB), TimeBucket.getTimestamp(endSecondTB)); } - StreamQueryResponse resp = query(browserErrorLogRecordMetadata, ImmutableSet.of(BrowserErrorLogRecord.SERVICE_ID, + StreamQueryResponse resp = query(BrowserErrorLogRecord.INDEX_NAME, ImmutableSet.of(BrowserErrorLogRecord.SERVICE_ID, BrowserErrorLogRecord.SERVICE_VERSION_ID, BrowserErrorLogRecord.PAGE_PATH_ID, - BrowserErrorLogRecord.ERROR_CATEGORY, BrowserErrorLogRecord.DATA_BINARY), tsRange, new QueryBuilder() { + BrowserErrorLogRecord.ERROR_CATEGORY, BrowserErrorLogRecord.DATA_BINARY), tsRange, new QueryBuilder<StreamQuery>() { @Override public void apply(StreamQuery query) { query.appendCondition(eq(BrowserErrorLogRecord.SERVICE_ID, serviceId)); diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBLogQueryDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBLogQueryDAO.java index c6097539c9..d4e3214a36 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBLogQueryDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBLogQueryDAO.java @@ -50,9 +50,6 @@ import java.util.Objects; * {@link org.apache.skywalking.oap.server.core.analysis.manual.log.LogRecord} is a stream */ public class BanyanDBLogQueryDAO extends AbstractBanyanDBDAO implements ILogQueryDAO { - private final MetadataRegistry.PartialMetadata logRecordMetadata = - MetadataRegistry.INSTANCE.findSchema(LogRecord.INDEX_NAME); - public BanyanDBLogQueryDAO(BanyanDBStorageClient client) { super(client); } @@ -62,7 +59,7 @@ public class BanyanDBLogQueryDAO extends AbstractBanyanDBDAO implements ILogQuer TraceScopeCondition relatedTrace, Order queryOrder, int from, int limit, long startTB, long endTB, List<Tag> tags, List<String> keywordsOfContent, List<String> excludingKeywordsOfContent) throws IOException { - final QueryBuilder query = new QueryBuilder() { + final QueryBuilder<StreamQuery> query = new QueryBuilder<StreamQuery>() { @Override public void apply(StreamQuery query) { if (StringUtil.isNotEmpty(serviceId)) { @@ -101,7 +98,7 @@ public class BanyanDBLogQueryDAO extends AbstractBanyanDBDAO implements ILogQuer tsRange = new TimestampRange(TimeBucket.getTimestamp(startTB), TimeBucket.getTimestamp(endTB)); } - StreamQueryResponse resp = query(logRecordMetadata, + StreamQueryResponse resp = query(LogRecord.INDEX_NAME, ImmutableSet.of(AbstractLogRecord.SERVICE_ID, AbstractLogRecord.SERVICE_INSTANCE_ID, AbstractLogRecord.ENDPOINT_ID, AbstractLogRecord.TRACE_ID, AbstractLogRecord.TRACE_SEGMENT_ID, AbstractLogRecord.SPAN_ID, AbstractLogRecord.CONTENT_TYPE, AbstractLogRecord.CONTENT, diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBProfileTaskLogQueryDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBProfileTaskLogQueryDAO.java index 6749118a25..9d22ea36ba 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBProfileTaskLogQueryDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBProfileTaskLogQueryDAO.java @@ -37,9 +37,6 @@ import java.util.List; * {@link ProfileTaskLogRecord} is a stream */ public class BanyanDBProfileTaskLogQueryDAO extends AbstractBanyanDBDAO implements IProfileTaskLogQueryDAO { - private final MetadataRegistry.PartialMetadata profileTaskLogRecord = - MetadataRegistry.INSTANCE.findSchema(ProfileTaskLogRecord.INDEX_NAME); - private final int queryMaxSize; public BanyanDBProfileTaskLogQueryDAO(BanyanDBStorageClient client, int queryMaxSize) { @@ -49,10 +46,10 @@ public class BanyanDBProfileTaskLogQueryDAO extends AbstractBanyanDBDAO implemen @Override public List<ProfileTaskLog> getTaskLogList() throws IOException { - StreamQueryResponse resp = query(profileTaskLogRecord, + StreamQueryResponse resp = query(ProfileTaskLogRecord.INDEX_NAME, ImmutableSet.of(ProfileTaskLogRecord.OPERATION_TIME, ProfileTaskLogRecord.INSTANCE_ID, ProfileTaskLogRecord.TASK_ID, ProfileTaskLogRecord.OPERATION_TYPE), - new QueryBuilder() { + new QueryBuilder<StreamQuery>() { @Override public void apply(StreamQuery query) { query.setLimit(BanyanDBProfileTaskLogQueryDAO.this.queryMaxSize); diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBProfileThreadSnapshotQueryDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBProfileThreadSnapshotQueryDAO.java index a0cacd0c39..d60484b6f0 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBProfileThreadSnapshotQueryDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBProfileThreadSnapshotQueryDAO.java @@ -48,22 +48,16 @@ public class BanyanDBProfileThreadSnapshotQueryDAO extends AbstractBanyanDBDAO i protected final ProfileThreadSnapshotRecord.Builder builder = new ProfileThreadSnapshotRecord.Builder(); - private final MetadataRegistry.PartialMetadata profileThreadSnapshotMetadata = - MetadataRegistry.INSTANCE.findSchema(ProfileThreadSnapshotRecord.INDEX_NAME); - - private final MetadataRegistry.PartialMetadata segmentRecordMetadata = - MetadataRegistry.INSTANCE.findSchema(SegmentRecord.INDEX_NAME); - public BanyanDBProfileThreadSnapshotQueryDAO(BanyanDBStorageClient client) { super(client); } @Override public List<BasicTrace> queryProfiledSegments(String taskId) throws IOException { - StreamQueryResponse resp = query(profileThreadSnapshotMetadata, + StreamQueryResponse resp = query(ProfileThreadSnapshotRecord.INDEX_NAME, ImmutableSet.of(ProfileThreadSnapshotRecord.TASK_ID, ProfileThreadSnapshotRecord.SEGMENT_ID, ProfileThreadSnapshotRecord.DUMP_TIME, ProfileThreadSnapshotRecord.SEQUENCE), - new QueryBuilder() { + new QueryBuilder<StreamQuery>() { @Override public void apply(StreamQuery query) { query.appendCondition(eq(ProfileThreadSnapshotRecord.TASK_ID, taskId)) @@ -83,9 +77,9 @@ public class BanyanDBProfileThreadSnapshotQueryDAO extends AbstractBanyanDBDAO i // TODO: support `IN` or `OR` logic operation in BanyanDB List<BasicTrace> basicTraces = new ArrayList<>(); for (String segmentID : segmentIds) { - final StreamQueryResponse segmentRecordResp = query(segmentRecordMetadata, + final StreamQueryResponse segmentRecordResp = query(SegmentRecord.INDEX_NAME, ImmutableSet.of(SegmentRecord.TRACE_ID, SegmentRecord.IS_ERROR, SegmentRecord.ENDPOINT_ID, SegmentRecord.LATENCY, SegmentRecord.START_TIME), - new QueryBuilder() { + new QueryBuilder<StreamQuery>() { @Override public void apply(StreamQuery traceQuery) { traceQuery.appendCondition(eq(SegmentRecord.SEGMENT_ID, segmentID)); @@ -132,11 +126,11 @@ public class BanyanDBProfileThreadSnapshotQueryDAO extends AbstractBanyanDBDAO i @Override public List<ProfileThreadSnapshotRecord> queryRecords(String segmentId, int minSequence, int maxSequence) throws IOException { - StreamQueryResponse resp = query(profileThreadSnapshotMetadata, + StreamQueryResponse resp = query(ProfileThreadSnapshotRecord.INDEX_NAME, ImmutableSet.of(ProfileThreadSnapshotRecord.TASK_ID, ProfileThreadSnapshotRecord.SEGMENT_ID, ProfileThreadSnapshotRecord.DUMP_TIME, ProfileThreadSnapshotRecord.SEQUENCE, ProfileThreadSnapshotRecord.STACK_BINARY), - new QueryBuilder() { + new QueryBuilder<StreamQuery>() { @Override public void apply(StreamQuery query) { query.appendCondition(eq(ProfileThreadSnapshotRecord.SEGMENT_ID, segmentId)) @@ -148,7 +142,7 @@ public class BanyanDBProfileThreadSnapshotQueryDAO extends AbstractBanyanDBDAO i List<ProfileThreadSnapshotRecord> result = new ArrayList<>(maxSequence - minSequence); for (final RowEntity rowEntity : resp.getElements()) { ProfileThreadSnapshotRecord record = this.builder.storage2Entity( - new BanyanDBConverter.StreamToEntity(rowEntity)); + new BanyanDBConverter.StreamToEntity(MetadataRegistry.INSTANCE.findMetadata(ProfileThreadSnapshotRecord.INDEX_NAME), rowEntity)); result.add(record); } @@ -157,11 +151,11 @@ public class BanyanDBProfileThreadSnapshotQueryDAO extends AbstractBanyanDBDAO i @Override public SegmentRecord getProfiledSegment(String segmentId) throws IOException { - StreamQueryResponse resp = query(segmentRecordMetadata, + StreamQueryResponse resp = query(SegmentRecord.INDEX_NAME, ImmutableSet.of(SegmentRecord.TRACE_ID, SegmentRecord.IS_ERROR, SegmentRecord.SERVICE_ID, SegmentRecord.SERVICE_INSTANCE_ID, SegmentRecord.ENDPOINT_ID, SegmentRecord.LATENCY, SegmentRecord.START_TIME, SegmentRecord.DATA_BINARY), - new QueryBuilder() { + new QueryBuilder<StreamQuery>() { @Override public void apply(StreamQuery query) { query.appendCondition(eq(SegmentRecord.INDEX_NAME, segmentId)); @@ -191,11 +185,11 @@ public class BanyanDBProfileThreadSnapshotQueryDAO extends AbstractBanyanDBDAO i } private int querySequenceWithAgg(AggType aggType, String segmentId, long start, long end) throws IOException { - StreamQueryResponse resp = query(profileThreadSnapshotMetadata, + StreamQueryResponse resp = query(ProfileThreadSnapshotRecord.INDEX_NAME, ImmutableSet.of(ProfileThreadSnapshotRecord.TASK_ID, ProfileThreadSnapshotRecord.SEGMENT_ID, ProfileThreadSnapshotRecord.DUMP_TIME, ProfileThreadSnapshotRecord.SEQUENCE, ProfileThreadSnapshotRecord.STACK_BINARY), - new QueryBuilder() { + new QueryBuilder<StreamQuery>() { @Override public void apply(StreamQuery query) { query.appendCondition(eq(ProfileThreadSnapshotRecord.SEGMENT_ID, segmentId)) @@ -207,7 +201,7 @@ public class BanyanDBProfileThreadSnapshotQueryDAO extends AbstractBanyanDBDAO i List<ProfileThreadSnapshotRecord> records = new ArrayList<>(); for (final RowEntity rowEntity : resp.getElements()) { ProfileThreadSnapshotRecord record = this.builder.storage2Entity( - new BanyanDBConverter.StreamToEntity(rowEntity)); + new BanyanDBConverter.StreamToEntity(MetadataRegistry.INSTANCE.findMetadata(ProfileThreadSnapshotRecord.INDEX_NAME), rowEntity)); records.add(record); } diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBRecordDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBRecordDAO.java index 3fe0e03ef7..48443b9e51 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBRecordDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBRecordDAO.java @@ -38,11 +38,11 @@ public class BanyanDBRecordDAO implements IRecordDAO { @Override public InsertRequest prepareBatchInsert(Model model, Record record) throws IOException { - MetadataRegistry.PartialMetadata metadata = MetadataRegistry.INSTANCE.findSchema(model.getName()); - if (metadata == null) { + MetadataRegistry.Schema schema = MetadataRegistry.INSTANCE.findMetadata(model.getName()); + if (schema == null) { throw new IOException(model.getName() + " is not registered"); } - StreamWrite streamWrite = new StreamWrite(metadata.getGroup(), // group name + StreamWrite streamWrite = new StreamWrite(schema.getMetadata().getGroup(), // group name model.getName(), // index-name record.id(), // identity TimeBucket.getTimestamp(record.getTimeBucket(), model.getDownsampling())); // timestamp diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBTraceQueryDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBTraceQueryDAO.java index e149b5ab27..b7e7d215ae 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBTraceQueryDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBTraceQueryDAO.java @@ -46,16 +46,13 @@ import java.util.Collections; import java.util.List; public class BanyanDBTraceQueryDAO extends AbstractBanyanDBDAO implements ITraceQueryDAO { - private final MetadataRegistry.PartialMetadata segmentRecordMetadata = - MetadataRegistry.INSTANCE.findSchema(SegmentRecord.INDEX_NAME); - public BanyanDBTraceQueryDAO(BanyanDBStorageClient client) { super(client); } @Override public TraceBrief queryBasicTraces(long startSecondTB, long endSecondTB, long minDuration, long maxDuration, String serviceId, String serviceInstanceId, String endpointId, String traceId, int limit, int from, TraceState traceState, QueryOrder queryOrder, List<Tag> tags) throws IOException { - final QueryBuilder q = new QueryBuilder() { + final QueryBuilder<StreamQuery> q = new QueryBuilder<StreamQuery>() { @Override public void apply(StreamQuery query) { if (minDuration != 0) { @@ -115,7 +112,7 @@ public class BanyanDBTraceQueryDAO extends AbstractBanyanDBDAO implements ITrace tsRange = new TimestampRange(TimeBucket.getTimestamp(startSecondTB), TimeBucket.getTimestamp(endSecondTB)); } - StreamQueryResponse resp = query(segmentRecordMetadata, + StreamQueryResponse resp = query(SegmentRecord.INDEX_NAME, ImmutableSet.of(SegmentRecord.TRACE_ID, // 0 - trace_id SegmentRecord.IS_ERROR, // 1 - is_error SegmentRecord.SERVICE_ID, // 2 - service_id @@ -150,7 +147,7 @@ public class BanyanDBTraceQueryDAO extends AbstractBanyanDBDAO implements ITrace @Override public List<SegmentRecord> queryByTraceId(String traceId) throws IOException { - StreamQueryResponse resp = query(segmentRecordMetadata, + StreamQueryResponse resp = query(SegmentRecord.INDEX_NAME, ImmutableSet.of(SegmentRecord.TRACE_ID, SegmentRecord.IS_ERROR, SegmentRecord.SERVICE_ID, @@ -159,7 +156,7 @@ public class BanyanDBTraceQueryDAO extends AbstractBanyanDBDAO implements ITrace SegmentRecord.LATENCY, SegmentRecord.START_TIME, SegmentRecord.DATA_BINARY), - new QueryBuilder() { + new QueryBuilder<StreamQuery>() { @Override public void apply(StreamQuery query) { query.appendCondition(eq(SegmentRecord.TRACE_ID, traceId)); @@ -170,7 +167,7 @@ public class BanyanDBTraceQueryDAO extends AbstractBanyanDBDAO implements ITrace for (final RowEntity rowEntity : resp.getElements()) { SegmentRecord segmentRecord = new SegmentRecord.Builder().storage2Entity( - new BanyanDBConverter.StreamToEntity(rowEntity)); + new BanyanDBConverter.StreamToEntity(MetadataRegistry.INSTANCE.findMetadata(SegmentRecord.INDEX_NAME), rowEntity)); segmentRecords.add(segmentRecord); } diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/util/ByteUtil.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/util/ByteUtil.java new file mode 100644 index 0000000000..5ae1102e38 --- /dev/null +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/util/ByteUtil.java @@ -0,0 +1,33 @@ +/* + * 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.oap.server.storage.plugin.banyandb.util; + +import java.nio.ByteBuffer; + +public class ByteUtil { + private static final ThreadLocal<ByteBuffer> BYTE_BUFFER = ThreadLocal.withInitial(() -> ByteBuffer.allocate(8)); + + public static Double bytes2Double(byte[] bytes) { + return BYTE_BUFFER.get().put(bytes).getDouble(); + } + + public static byte[] double2Bytes(double number) { + return BYTE_BUFFER.get().putDouble(number).array(); + } +} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/endpoint_relation_server_side.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/endpoint_relation_server_side.json deleted file mode 100644 index 2a203c1679..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/endpoint_relation_server_side.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "metadata": { - "name": "endpoint_relation_server_side", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [ - { - "name": "component_id", - "type": "TAG_TYPE_INT" - } - ] - }, - { - "name": "searchable", - "tags": [ - { - "name": "source_endpoint", - "type": "TAG_TYPE_STRING" - }, - { - "name": "dest_endpoint", - "type": "TAG_TYPE_STRING" - }, - { - "name": "entity_id", - "type": "TAG_TYPE_STRING" - } - ] - } - ], - "entity": { - "tag_names": [ - "source_endpoint", - "dest_endpoint" - ] - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/endpoint_traffic.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/endpoint_traffic.json deleted file mode 100644 index 459b77d808..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/endpoint_traffic.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "metadata": { - "name": "endpoint_traffic", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [] - }, - { - "name": "searchable", - "tags": [ - { - "name": "service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "name", - "type": "TAG_TYPE_STRING" - } - ] - } - ], - "entity": { - "tag_names": [ - "service_id" - ] - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/events.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/events.json deleted file mode 100644 index 37a02eca24..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/events.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "metadata": { - "name": "events", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [ - { - "name": "message", - "type": "TAG_TYPE_STRING" - }, - { - "name": "parameters", - "type": "TAG_TYPE_STRING" - } - ] - }, - { - "name": "searchable", - "tags": [ - { - "name": "uuid", - "type": "TAG_TYPE_STRING" - }, - { - "name": "service", - "type": "TAG_TYPE_STRING" - }, - { - "name": "service_instance", - "type": "TAG_TYPE_STRING" - }, - { - "name": "endpoint", - "type": "TAG_TYPE_STRING" - }, - { - "name": "name", - "type": "TAG_TYPE_STRING" - }, - { - "name": "type", - "type": "TAG_TYPE_STRING" - }, - { - "name": "start_time", - "type": "TAG_TYPE_INT" - }, - { - "name": "end_time", - "type": "TAG_TYPE_INT" - } - ] - } - ], - "entity": { - "tag_names": [ - "uuid" - ] - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/component_id.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/component_id.json deleted file mode 100644 index 9b52f22ba2..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/component_id.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "component_id", - "group": "default" - }, - "tags": [ - "component_id" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/create_time.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/create_time.json deleted file mode 100644 index addab64e17..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/create_time.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "create_time", - "group": "default" - }, - "tags": [ - "create_time" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/db.instance.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/db.instance.json deleted file mode 100644 index 5d5c159c39..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/db.instance.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "db.instance", - "group": "default" - }, - "tags": [ - "db.instance" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/db.type.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/db.type.json deleted file mode 100644 index 67914ee464..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/db.type.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "db.type", - "group": "default" - }, - "tags": [ - "db.type" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dest_endpoint.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dest_endpoint.json deleted file mode 100644 index affb1fdf17..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dest_endpoint.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "dest_endpoint", - "group": "default" - }, - "tags": [ - "dest_endpoint" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dest_service_id.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dest_service_id.json deleted file mode 100644 index 3bb400392e..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dest_service_id.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "dest_service_id", - "group": "default" - }, - "tags": [ - "dest_service_id" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/disabled.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/disabled.json deleted file mode 100644 index 19a1c1b204..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/disabled.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "disabled", - "group": "default" - }, - "tags": [ - "disabled" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dump_period.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dump_period.json deleted file mode 100644 index 25ae87f411..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dump_period.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "dump_period", - "group": "default" - }, - "tags": [ - "dump_period" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dump_time.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dump_time.json deleted file mode 100644 index 6073ee7740..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dump_time.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "dump_time", - "group": "default" - }, - "tags": [ - "dump_time" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/duration.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/duration.json deleted file mode 100644 index 6f18db1359..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/duration.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "duration", - "group": "default" - }, - "tags": [ - "duration" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/end_time.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/end_time.json deleted file mode 100644 index 951a1c88b9..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/end_time.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "end_time", - "group": "default" - }, - "tags": [ - "end_time" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/endpoint.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/endpoint.json deleted file mode 100644 index f9fefdddf0..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/endpoint.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "endpoint", - "group": "default" - }, - "tags": [ - "endpoint" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/endpoint_id.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/endpoint_id.json deleted file mode 100644 index 7da3b0d2f5..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/endpoint_id.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "endpoint_id", - "group": "default" - }, - "tags": [ - "endpoint_id" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/endpoint_name.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/endpoint_name.json deleted file mode 100644 index 0678ae4691..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/endpoint_name.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "endpoint_name", - "group": "default" - }, - "tags": [ - "endpoint_name" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/entity_id.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/entity_id.json deleted file mode 100644 index 31ece658a6..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/entity_id.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "entity_id", - "group": "default" - }, - "tags": [ - "entity_id" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/http.method.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/http.method.json deleted file mode 100644 index 3001154bfc..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/http.method.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "http.method", - "group": "default" - }, - "tags": [ - "http.method" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/id.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/id.json deleted file mode 100644 index c90b39ac62..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/id.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "id", - "group": "default" - }, - "tags": [ - "id" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/last_ping.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/last_ping.json deleted file mode 100644 index 7d063b2dd4..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/last_ping.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "last_ping", - "group": "default" - }, - "tags": [ - "last_ping" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/last_update_time_bucket.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/last_update_time_bucket.json deleted file mode 100644 index bbde5cf37b..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/last_update_time_bucket.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "last_update_time_bucket", - "group": "default" - }, - "tags": [ - "last_update_time_bucket" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/latency.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/latency.json deleted file mode 100644 index 4eb445055f..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/latency.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "latency", - "group": "default" - }, - "tags": [ - "latency" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/layer.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/layer.json deleted file mode 100644 index 05455e1d6b..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/layer.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "layer", - "group": "default" - }, - "tags": [ - "layer" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/max_sampling_count.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/max_sampling_count.json deleted file mode 100644 index 1fb14a84c2..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/max_sampling_count.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "max_sampling_count", - "group": "default" - }, - "tags": [ - "max_sampling_count" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/min_duration_threshold.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/min_duration_threshold.json deleted file mode 100644 index f359e2d5ba..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/min_duration_threshold.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "min_duration_threshold", - "group": "default" - }, - "tags": [ - "min_duration_threshold" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/mq.broker.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/mq.broker.json deleted file mode 100644 index 0cfbd278dd..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/mq.broker.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "mq.broker", - "group": "default" - }, - "tags": [ - "mq.broker" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/mq.queue.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/mq.queue.json deleted file mode 100644 index 0c589fc6e4..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/mq.queue.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "mq.queue", - "group": "default" - }, - "tags": [ - "mq.queue" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/mq.topic.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/mq.topic.json deleted file mode 100644 index 5dc51fcf66..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/mq.topic.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "mq.topic", - "group": "default" - }, - "tags": [ - "mq.topic" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/name.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/name.json deleted file mode 100644 index db25d029f2..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/name.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "name", - "group": "default" - }, - "tags": [ - "name" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/operation_time.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/operation_time.json deleted file mode 100644 index 30222bc484..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/operation_time.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "operation_time", - "group": "default" - }, - "tags": [ - "operation_time" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/segment_id.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/segment_id.json deleted file mode 100644 index a58129eab2..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/segment_id.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "segment_id", - "group": "default" - }, - "tags": [ - "segment_id" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/sequence.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/sequence.json deleted file mode 100644 index 2bbd960809..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/sequence.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "sequence", - "group": "default" - }, - "tags": [ - "sequence" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service.json deleted file mode 100644 index 4764f16eca..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "service", - "group": "default" - }, - "tags": [ - "service" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service_group.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service_group.json deleted file mode 100644 index 3cecbefa13..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service_group.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "service_group", - "group": "default" - }, - "tags": [ - "service_group" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service_id.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service_id.json deleted file mode 100644 index 76c3f67d22..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service_id.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "service_id", - "group": "default" - }, - "tags": [ - "service_id" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service_instance.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service_instance.json deleted file mode 100644 index 73d84e7151..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service_instance.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "service_instance", - "group": "default" - }, - "tags": [ - "service_instance" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/source_endpoint.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/source_endpoint.json deleted file mode 100644 index 164962f91c..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/source_endpoint.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "source_endpoint", - "group": "default" - }, - "tags": [ - "source_endpoint" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/source_service_id.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/source_service_id.json deleted file mode 100644 index f54b191164..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/source_service_id.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "source_service_id", - "group": "default" - }, - "tags": [ - "component_id" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/start_time.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/start_time.json deleted file mode 100644 index 5a73ad12f4..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/start_time.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "start_time", - "group": "default" - }, - "tags": [ - "start_time" - ], - "type": "TYPE_TREE", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/status_code.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/status_code.json deleted file mode 100644 index ad034773f5..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/status_code.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "status_code", - "group": "default" - }, - "tags": [ - "status_code" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/trace_id.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/trace_id.json deleted file mode 100644 index 2f84bfb489..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/trace_id.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "trace_id", - "group": "default" - }, - "tags": [ - "trace_id" - ], - "type": "TYPE_TREE", - "location": "LOCATION_GLOBAL", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/type.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/type.json deleted file mode 100644 index db25d029f2..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/type.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "name", - "group": "default" - }, - "tags": [ - "name" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/uuid.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/uuid.json deleted file mode 100644 index 4cd401c3dc..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/uuid.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "metadata": { - "name": "uuid", - "group": "default" - }, - "tags": [ - "uuid" - ], - "type": "TYPE_INVERTED", - "location": "LOCATION_SERIES", - "updated_at": "2021-04-15T01:30:15.01Z" -} diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/instance_traffic.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/instance_traffic.json deleted file mode 100644 index fc728af744..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/instance_traffic.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "metadata": { - "name": "instance_traffic", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [ - { - "name": "data_binary", - "type": "TAG_TYPE_DATA_BINARY" - } - ] - }, - { - "name": "searchable", - "tags": [ - { - "name": "service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "last_ping", - "type": "TAG_TYPE_INT" - }, - { - "name": "id", - "type": "TAG_TYPE_STRING" - } - ] - } - ], - "entity": { - "tag_names": [ - "service_id" - ] - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/network_address_alias.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/network_address_alias.json deleted file mode 100644 index 0dc6f344c0..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/network_address_alias.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "metadata": { - "name": "network_address_alias", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [ - { - "name": "time_bucket", - "type": "TAG_TYPE_INT" - }, - { - "name": "address", - "type": "TAG_TYPE_STRING" - }, - { - "name": "represent_service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "represent_service_instance_id", - "type": "TAG_TYPE_STRING" - } - ] - }, - { - "name": "searchable", - "tags": [ - { - "name": "last_update_time_bucket", - "type": "TAG_TYPE_INT" - } - ] - } - ], - "entity": { - "tag_names": [ - "represent_service_id", - "represent_service_instance_id" - ] - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/profile_task.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/profile_task.json deleted file mode 100644 index 85c5901c8c..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/profile_task.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "metadata": { - "name": "profile_task", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [] - }, - { - "name": "searchable", - "tags": [ - { - "name": "id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "endpoint_name", - "type": "TAG_TYPE_STRING" - }, - { - "name": "start_time", - "type": "TAG_TYPE_INT" - }, - { - "name": "duration", - "type": "TAG_TYPE_INT" - }, - { - "name": "min_duration_threshold", - "type": "TAG_TYPE_INT" - }, - { - "name": "dump_period", - "type": "TAG_TYPE_INT" - }, - { - "name": "create_time", - "type": "TAG_TYPE_INT" - }, - { - "name": "max_sampling_count", - "type": "TAG_TYPE_INT" - } - ] - } - ], - "entity": { - "tag_names": [ - "service_id" - ] - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/profile_task_log.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/profile_task_log.json deleted file mode 100644 index 6fa6ccb244..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/profile_task_log.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "metadata": { - "name": "profile_task_log", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [ - { - "name": "task_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "operation_type", - "type": "TAG_TYPE_INT" - } - ] - }, - { - "name": "searchable", - "tags": [ - { - "name": "operation_time", - "type": "TAG_TYPE_INT" - }, - { - "name": "instance_id", - "type": "TAG_TYPE_STRING" - } - ] - } - ], - "entity": { - "tag_names": [ - "instance_id" - ] - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/profile_task_segment_snapshot.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/profile_task_segment_snapshot.json deleted file mode 100644 index a5fcbcbf5c..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/profile_task_segment_snapshot.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "metadata": { - "name": "profile_task_segment_snapshot", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [ - { - "name": "stack_binary", - "type": "TAG_TYPE_DATA_BINARY" - } - ] - }, - { - "name": "searchable", - "tags": [ - { - "name": "task_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "segment_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "dump_time", - "type": "TAG_TYPE_INT" - }, - { - "name": "sequence", - "type": "TAG_TYPE_INT" - } - ] - } - ], - "entity": { - "tag_names": [ - "task_id" - ] - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/segment.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/segment.json deleted file mode 100644 index 7a8343d45c..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/segment.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "metadata": { - "name": "segment", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [ - { - "name": "data_binary", - "type": "TAG_TYPE_DATA_BINARY" - } - ] - }, - { - "name": "searchable", - "tags": [ - { - "name": "trace_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "is_error", - "type": "TAG_TYPE_INT" - }, - { - "name": "service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "service_instance_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "endpoint_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "latency", - "type": "TAG_TYPE_INT" - }, - { - "name": "start_time", - "type": "TAG_TYPE_INT" - }, - { - "name": "http.method", - "type": "TAG_TYPE_STRING" - }, - { - "name": "status_code", - "type": "TAG_TYPE_STRING" - }, - { - "name": "db.type", - "type": "TAG_TYPE_STRING" - }, - { - "name": "db.instance", - "type": "TAG_TYPE_STRING" - }, - { - "name": "mq.queue", - "type": "TAG_TYPE_STRING" - }, - { - "name": "mq.topic", - "type": "TAG_TYPE_STRING" - }, - { - "name": "mq.broker", - "type": "TAG_TYPE_STRING" - } - ] - } - ], - "entity": { - "tag_names": [ - "service_id", - "service_instance_id", - "is_error" - ] - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_instance_relation_client_side.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_instance_relation_client_side.json deleted file mode 100644 index edd49ef287..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_instance_relation_client_side.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "metadata": { - "name": "service_instance_relation_client_side", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [ - { - "name": "component_id", - "type": "TAG_TYPE_INT" - }, - { - "name": "source_service_instance_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "dest_service_instance_id", - "type": "TAG_TYPE_STRING" - } - ] - }, - { - "name": "searchable", - "tags": [ - { - "name": "source_service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "dest_service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "entity_id", - "type": "TAG_TYPE_STRING" - } - ] - } - ], - "entity": { - "tag_names": [ - "source_service_id", - "dest_service_id" - ] - }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 7, - "unit": "DURATION_UNIT_DAY" - } - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_instance_relation_server_side.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_instance_relation_server_side.json deleted file mode 100644 index a8c6089421..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_instance_relation_server_side.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "metadata": { - "name": "service_instance_relation_server_side", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [ - { - "name": "component_id", - "type": "TAG_TYPE_INT" - }, - { - "name": "source_service_instance_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "dest_service_instance_id", - "type": "TAG_TYPE_STRING" - } - ] - }, - { - "name": "searchable", - "tags": [ - { - "name": "source_service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "dest_service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "entity_id", - "type": "TAG_TYPE_STRING" - } - ] - } - ], - "entity": { - "tag_names": [ - "source_service_id", - "dest_service_id" - ] - }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 7, - "unit": "DURATION_UNIT_DAY" - } - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_relation_client_side.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_relation_client_side.json deleted file mode 100644 index 1f74420c2c..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_relation_client_side.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "metadata": { - "name": "service_relation_client_side", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [ - { - "name": "component_id", - "type": "TAG_TYPE_INT" - } - ] - }, - { - "name": "searchable", - "tags": [ - { - "name": "source_service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "dest_service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "entity_id", - "type": "TAG_TYPE_STRING" - } - ] - } - ], - "entity": { - "tag_names": [ - "source_service_id", - "dest_service_id" - ] - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_relation_server_side.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_relation_server_side.json deleted file mode 100644 index 13c2cc6177..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_relation_server_side.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "metadata": { - "name": "service_relation_server_side", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [ - { - "name": "component_id", - "type": "TAG_TYPE_INT" - } - ] - }, - { - "name": "searchable", - "tags": [ - { - "name": "source_service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "dest_service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "entity_id", - "type": "TAG_TYPE_STRING" - } - ] - } - ], - "entity": { - "tag_names": [ - "source_service_id", - "dest_service_id" - ] - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_traffic.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_traffic.json deleted file mode 100644 index b009a199cf..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/service_traffic.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "metadata": { - "name": "service_traffic", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [ - { - "name": "short_name", - "type": "TAG_TYPE_STRING" - } - ] - }, - { - "name": "searchable", - "tags": [ - { - "name": "name", - "type": "TAG_TYPE_STRING" - }, - { - "name": "service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "service_group", - "type": "TAG_TYPE_STRING" - }, - { - "name": "layer", - "type": "TAG_TYPE_INT" - } - ] - } - ], - "entity": { - "tag_names": [ - "service_id" - ] - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/ui_template.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/ui_template.json deleted file mode 100644 index b01e8baae0..0000000000 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/ui_template.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "metadata": { - "name": "ui_template", - "group": "default-stream" - }, - "tag_families": [ - { - "name": "data", - "tags": [ - { - "name": "type", - "type": "TAG_TYPE_STRING" - }, - { - "name": "configuration", - "type": "TAG_TYPE_STRING" - }, - { - "name": "activated", - "type": "TAG_TYPE_INT" - } - ] - }, - { - "name": "searchable", - "tags": [ - { - "name": "name", - "type": "TAG_TYPE_STRING" - }, - { - "name": "disabled", - "type": "TAG_TYPE_INT" - } - ] - } - ], - "entity": { - "tag_names": [ - "name" - ] - }, - "updated_at": "2021-04-15T01:30:15.01Z" -} \ No newline at end of file
