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 2636ce171775b77352889726d59be426ad8d89dd Author: Megrez Lu <[email protected]> AuthorDate: Tue Feb 15 21:43:51 2022 +0800 support metadata, segment and topo --- .../plugin/banyandb/BanyanDBStorageClient.java | 21 ++- .../plugin/banyandb/BanyanDBStorageProvider.java | 7 +- .../storage/plugin/banyandb/StreamMetaInfo.java | 14 +- .../schema/NetworkAddressAliasBuilder.java | 2 +- .../schema/ProfileTaskLogRecordBuilder.java | 9 +- ...ceInstanceRelationClientSideMetricsBuilder.java | 4 +- .../ServiceRelationClientSideMetricsBuilder.java | 2 +- .../banyandb/stream/AbstractBanyanDBDAO.java | 7 +- .../banyandb/stream/BanyanDBManagementDAO.java | 4 - .../banyandb/stream/BanyanDBMetadataQueryDAO.java | 18 ++- .../banyandb/stream/BanyanDBNoneStreamDAO.java | 2 +- .../stream/BanyanDBProfileTaskLogQueryDAO.java | 13 +- .../stream/BanyanDBProfileTaskQueryDAO.java | 2 +- .../BanyanDBProfileThreadSnapshotQueryDAO.java | 2 +- .../banyandb/stream/BanyanDBTopologyQueryDAO.java | 167 ++++++++++++++++++--- .../banyandb/stream/BanyanDBTraceQueryDAO.java | 45 +++--- .../metadata/endpoint_relation_server_side.json | 13 +- .../main/resources/metadata/endpoint_traffic.json | 12 +- .../src/main/resources/metadata/events.json | 12 +- .../resources/metadata/index_rules/disabled.json | 2 +- .../index_rules/{disabled.json => dump_time.json} | 6 +- .../index_rules/{disabled.json => layer.json} | 4 +- .../{disabled.json => operation_time.json} | 6 +- .../index_rules/{disabled.json => segment_id.json} | 4 +- .../index_rules/{disabled.json => sequence.json} | 6 +- .../{disabled.json => service_group.json} | 4 +- .../main/resources/metadata/instance_traffic.json | 13 +- .../resources/metadata/network_address_alias.json | 13 +- .../src/main/resources/metadata/profile_task.json | 12 +- ...instance_traffic.json => profile_task_log.json} | 31 ++-- ...fic.json => profile_task_segment_snapshot.json} | 29 ++-- .../src/main/resources/metadata/segment.json | 11 +- .../service_instance_relation_client_side.json | 6 +- .../service_instance_relation_server_side.json | 6 +- .../metadata/service_relation_client_side.json | 13 +- .../metadata/service_relation_server_side.json | 13 +- .../main/resources/metadata/service_traffic.json | 14 +- .../src/main/resources/metadata/ui_template.json | 12 +- 38 files changed, 317 insertions(+), 244 deletions(-) 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 7d61e4e085..6b4780cad7 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 @@ -19,10 +19,12 @@ package org.apache.skywalking.oap.server.storage.plugin.banyandb; import org.apache.skywalking.banyandb.v1.client.BanyanDBClient; +import org.apache.skywalking.banyandb.v1.client.GroupedBanyanDBClient; 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.metadata.Group; import org.apache.skywalking.banyandb.v1.client.metadata.IndexRule; import org.apache.skywalking.banyandb.v1.client.metadata.Stream; import org.apache.skywalking.oap.server.library.client.Client; @@ -38,10 +40,15 @@ import java.io.IOException; */ public class BanyanDBStorageClient implements Client, HealthCheckable { private final BanyanDBClient client; + private GroupedBanyanDBClient streamClient; private final DelegatedHealthChecker healthChecker = new DelegatedHealthChecker(); - public BanyanDBStorageClient(String host, int port, String group) { - this.client = new BanyanDBClient(host, port, group); + public BanyanDBStorageClient(String host, int port) { + this.client = new BanyanDBClient(host, port); + } + + public void defineStreamGroup(Group group) { + this.streamClient = this.client.attachGroup(group); } @Override @@ -56,7 +63,7 @@ public class BanyanDBStorageClient implements Client, HealthCheckable { public StreamQueryResponse query(StreamQuery streamQuery) { try { - StreamQueryResponse response = this.client.queryStreams(streamQuery); + StreamQueryResponse response = this.streamClient.queryStreams(streamQuery); this.healthChecker.health(); return response; } catch (Throwable t) { @@ -66,18 +73,18 @@ public class BanyanDBStorageClient implements Client, HealthCheckable { } public void createStream(StreamMetaInfo streamMetaInfo) { - Stream stm = this.client.define(streamMetaInfo.getStream()); + Stream stm = this.streamClient.define(streamMetaInfo.getStream()); if (stm != null) { - this.client.defineIndexRules(stm, streamMetaInfo.getIndexRules().toArray(new IndexRule[]{})); + this.streamClient.defineIndexRules(stm, streamMetaInfo.getIndexRules().toArray(new IndexRule[]{})); } } public void write(StreamWrite streamWrite) { - this.client.write(streamWrite); + this.streamClient.write(streamWrite); } public StreamBulkWriteProcessor createBulkProcessor(int maxBulkSize, int flushInterval, int concurrency) { - return this.client.buildStreamWriteProcessor(maxBulkSize, flushInterval, concurrency); + return this.streamClient.buildStreamWriteProcessor(maxBulkSize, flushInterval, concurrency); } @Override 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 6d4340e48d..b938ab1159 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 @@ -18,6 +18,8 @@ package org.apache.skywalking.oap.server.storage.plugin.banyandb; +import org.apache.skywalking.banyandb.v1.client.metadata.Catalog; +import org.apache.skywalking.banyandb.v1.client.metadata.Group; import org.apache.skywalking.oap.server.core.CoreModule; import org.apache.skywalking.oap.server.core.config.ConfigService; import org.apache.skywalking.oap.server.core.storage.IBatchDAO; @@ -93,7 +95,7 @@ public class BanyanDBStorageProvider extends ModuleProvider { public void prepare() throws ServiceNotProvidedException, ModuleStartException { this.registerServiceImplementation(StorageBuilderFactory.class, new BanyanDBStorageBuilderFactory()); - this.client = new BanyanDBStorageClient(config.getHost(), config.getPort(), config.getGroup()); + this.client = new BanyanDBStorageClient(config.getHost(), config.getPort()); // Stream this.registerServiceImplementation(IBatchDAO.class, new BanyanDBBatchDAO(client, config.getMaxBulkSize(), config.getFlushInterval(), config.getConcurrentWriteThreads())); @@ -133,6 +135,9 @@ public class BanyanDBStorageProvider extends ModuleProvider { this.client.registerChecker(healthChecker); try { this.client.connect(); + // create stream group + final Group streamGroup = new Group("default-stream", Catalog.STREAM, 2); + this.client.defineStreamGroup(streamGroup); BanyanDBIndexInstaller installer = new BanyanDBIndexInstaller(client, getManager()); getManager().find(CoreModule.NAME).provider().getService(ModelCreator.class).addModelListener(installer); } catch (Exception e) { diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/StreamMetaInfo.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/StreamMetaInfo.java index de7af730ee..0a2af94339 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/StreamMetaInfo.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/StreamMetaInfo.java @@ -19,13 +19,13 @@ package org.apache.skywalking.oap.server.storage.plugin.banyandb; import com.google.common.base.Charsets; +import com.google.common.collect.ImmutableSet; import com.google.common.io.CharStreams; import com.google.protobuf.util.JsonFormat; import lombok.Builder; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.apache.skywalking.banyandb.database.v1.BanyandbDatabase; -import org.apache.skywalking.banyandb.v1.client.metadata.Duration; import org.apache.skywalking.banyandb.v1.client.metadata.IndexRule; import org.apache.skywalking.banyandb.v1.client.metadata.Stream; import org.apache.skywalking.banyandb.v1.client.metadata.TagFamilySpec; @@ -38,6 +38,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; @Getter @Builder @@ -69,14 +70,13 @@ public class StreamMetaInfo { log.warn("fail to find stream schema {}", model.getName()); return null; } - BanyandbDatabase.Duration duration = pbStream.getOpts().getTtl(); - Duration ttl = Duration.fromProtobuf(duration); - final Stream stream = new Stream(pbStream.getMetadata().getName(), pbStream.getOpts().getShardNum(), ttl); + final Stream stream = new Stream(pbStream.getMetadata().getName()); List<IndexRule> indexRules = new ArrayList<>(); - stream.setEntityTagNames(pbStream.getEntity().getTagNamesList()); + Set<String> entityNameSet = ImmutableSet.copyOf(pbStream.getEntity().getTagNamesList()); + stream.setEntityTagNames(pbStream.getEntity().getTagNamesList()); for (BanyandbDatabase.TagFamilySpec pbTagFamilySpec : pbStream.getTagFamiliesList()) { final TagFamilySpec tagFamilySpec = TagFamilySpec.fromProtobuf(pbTagFamilySpec); @@ -85,6 +85,10 @@ public class StreamMetaInfo { // if the tag family equals to "searchable", build index rules if (tagFamilySpec.getTagFamilyName().equals(TAG_FAMILY_SEARCHABLE)) { for (final TagFamilySpec.TagSpec tagSpec : tagFamilySpec.getTagSpecs()) { + // check if this spec exists in the entity names + if (entityNameSet.contains(tagSpec.getTagName())) { + continue; + } BanyandbDatabase.IndexRule pbIndexRule = parseIndexRulesFromJSON(model.getName(), tagSpec.getTagName()); if (pbIndexRule == null) { log.warn("fail to find the index rule for {}", tagSpec.getTagName()); diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/NetworkAddressAliasBuilder.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/NetworkAddressAliasBuilder.java index ca2d78d2ef..e429f80b9c 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/NetworkAddressAliasBuilder.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/NetworkAddressAliasBuilder.java @@ -35,7 +35,7 @@ public class NetworkAddressAliasBuilder extends BanyanDBStorageDataBuilder<Netwo @Override protected List<SerializableTag<BanyandbModel.TagValue>> dataTags(NetworkAddressAlias entity) { - List<SerializableTag<BanyandbModel.TagValue>> data = new ArrayList<>(3); + List<SerializableTag<BanyandbModel.TagValue>> data = new ArrayList<>(4); // 0 - time_bucket data.add(TagAndValue.longField(entity.getTimeBucket())); // 1 - address diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/ProfileTaskLogRecordBuilder.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/ProfileTaskLogRecordBuilder.java index a0cab9c112..1f861ab4cd 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/ProfileTaskLogRecordBuilder.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/ProfileTaskLogRecordBuilder.java @@ -24,20 +24,21 @@ import org.apache.skywalking.banyandb.v1.client.TagAndValue; import org.apache.skywalking.oap.server.core.profile.ProfileTaskLogRecord; import java.util.ArrayList; -import java.util.Collections; import java.util.List; public class ProfileTaskLogRecordBuilder extends BanyanDBStorageDataBuilder<ProfileTaskLogRecord> { @Override protected List<SerializableTag<BanyandbModel.TagValue>> searchableTags(ProfileTaskLogRecord entity) { - return Collections.singletonList(TagAndValue.longField(entity.getOperationTime())); + List<SerializableTag<BanyandbModel.TagValue>> searchable = new ArrayList<>(2); + searchable.add(TagAndValue.longField(entity.getOperationTime())); + searchable.add(TagAndValue.stringField(entity.getInstanceId())); + return searchable; } @Override protected List<SerializableTag<BanyandbModel.TagValue>> dataTags(ProfileTaskLogRecord entity) { - List<SerializableTag<BanyandbModel.TagValue>> data = new ArrayList<>(); + List<SerializableTag<BanyandbModel.TagValue>> data = new ArrayList<>(2); data.add(TagAndValue.stringField(entity.getTaskId())); - data.add(TagAndValue.stringField(entity.getInstanceId())); data.add(TagAndValue.longField(entity.getOperationType())); return data; } diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/ServiceInstanceRelationClientSideMetricsBuilder.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/ServiceInstanceRelationClientSideMetricsBuilder.java index a7f0f1b156..dc4de6ddcb 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/ServiceInstanceRelationClientSideMetricsBuilder.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/ServiceInstanceRelationClientSideMetricsBuilder.java @@ -29,7 +29,7 @@ import java.util.List; public class ServiceInstanceRelationClientSideMetricsBuilder extends BanyanDBStorageDataBuilder<ServiceInstanceRelationClientSideMetrics> { @Override protected List<SerializableTag<BanyandbModel.TagValue>> searchableTags(ServiceInstanceRelationClientSideMetrics entity) { - List<SerializableTag<BanyandbModel.TagValue>> searchable = new ArrayList<>(); + List<SerializableTag<BanyandbModel.TagValue>> searchable = new ArrayList<>(3); searchable.add(TagAndValue.stringField(entity.getSourceServiceId())); searchable.add(TagAndValue.stringField(entity.getDestServiceId())); searchable.add(TagAndValue.stringField(entity.getEntityId())); @@ -38,7 +38,7 @@ public class ServiceInstanceRelationClientSideMetricsBuilder extends BanyanDBSto @Override protected List<SerializableTag<BanyandbModel.TagValue>> dataTags(ServiceInstanceRelationClientSideMetrics entity) { - List<SerializableTag<BanyandbModel.TagValue>> data = new ArrayList<>(); + List<SerializableTag<BanyandbModel.TagValue>> data = new ArrayList<>(3); data.add(TagAndValue.longField(entity.getComponentId())); data.add(TagAndValue.stringField(entity.getSourceServiceInstanceId())); data.add(TagAndValue.stringField(entity.getDestServiceInstanceId())); diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/ServiceRelationClientSideMetricsBuilder.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/ServiceRelationClientSideMetricsBuilder.java index 3d50dde043..cf8ae73fdf 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/ServiceRelationClientSideMetricsBuilder.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/schema/ServiceRelationClientSideMetricsBuilder.java @@ -30,7 +30,7 @@ import java.util.List; public class ServiceRelationClientSideMetricsBuilder extends BanyanDBStorageDataBuilder<ServiceRelationClientSideMetrics> { @Override protected List<SerializableTag<BanyandbModel.TagValue>> searchableTags(ServiceRelationClientSideMetrics entity) { - List<SerializableTag<BanyandbModel.TagValue>> searchable = new ArrayList<>(); + List<SerializableTag<BanyandbModel.TagValue>> searchable = new ArrayList<>(3); searchable.add(TagAndValue.stringField(entity.getSourceServiceId())); searchable.add(TagAndValue.stringField(entity.getDestServiceId())); searchable.add(TagAndValue.stringField(entity.getEntityId())); 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 a3d2f1dc85..04690a30cb 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 @@ -27,10 +27,15 @@ import org.apache.skywalking.oap.server.core.storage.AbstractDAO; import org.apache.skywalking.oap.server.storage.plugin.banyandb.BanyanDBStorageClient; import org.apache.skywalking.oap.server.storage.plugin.banyandb.StreamMetaInfo; +import java.time.Instant; import java.util.List; import java.util.function.Function; public abstract class AbstractBanyanDBDAO extends AbstractDAO<BanyanDBStorageClient> { + private static final Instant UPPER_BOUND = Instant.ofEpochSecond(0, Long.MAX_VALUE); + + private static final TimestampRange LARGEST_TIME_RANGE = new TimestampRange(0, UPPER_BOUND.toEpochMilli()); + protected AbstractBanyanDBDAO(BanyanDBStorageClient client) { super(client); } @@ -43,7 +48,7 @@ public abstract class AbstractBanyanDBDAO extends AbstractDAO<BanyanDBStorageCli QueryBuilder builder) { final StreamQuery query; if (timestampRange == null) { - query = new StreamQuery(indexName, searchableTags); + query = new StreamQuery(indexName, LARGEST_TIME_RANGE, searchableTags); } else { query = new StreamQuery(indexName, timestampRange, searchableTags); } diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBManagementDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBManagementDAO.java index 1990181804..a87a94434d 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBManagementDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBManagementDAO.java @@ -41,9 +41,6 @@ import java.util.Collections; * @param <T> The only ManagementData we have now is {@link UITemplate} */ public class BanyanDBManagementDAO<T extends ManagementData> extends AbstractBanyanDBDAO implements IManagementDAO { - private final static long START_TIME_MILLI = - ZonedDateTime.of(2022, 1, 1, 0, 0, 0, 0, - ZoneOffset.UTC).toInstant().toEpochMilli(); private final BanyanDBStorageDataBuilder<T> storageBuilder; public BanyanDBManagementDAO(BanyanDBStorageClient client, BanyanDBStorageDataBuilder<T> storageBuilder) { @@ -56,7 +53,6 @@ public class BanyanDBManagementDAO<T extends ManagementData> extends AbstractBan // ensure only insert once StreamQueryResponse resp = query(UITemplate.INDEX_NAME, Collections.singletonList(UITemplate.NAME), - new TimestampRange(START_TIME_MILLI, Instant.now().toEpochMilli()), new QueryBuilder() { @Override public void apply(StreamQuery query) { diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBMetadataQueryDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBMetadataQueryDAO.java index 447d6316ac..85ea280b72 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBMetadataQueryDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBMetadataQueryDAO.java @@ -62,10 +62,11 @@ public class BanyanDBMetadataQueryDAO extends AbstractBanyanDBDAO implements IMe @Override public List<Service> listServices(final String layer, final String group) throws IOException { StreamQueryResponse resp = query(ServiceTraffic.INDEX_NAME, - ImmutableList.of(ServiceTraffic.NAME, ServiceTraffic.LAYER, ServiceTraffic.GROUP), + ImmutableList.of(ServiceTraffic.NAME, ServiceTraffic.SERVICE_ID, ServiceTraffic.GROUP, ServiceTraffic.LAYER), new QueryBuilder() { @Override public void apply(StreamQuery query) { + query.setDataProjections(Collections.singletonList(ServiceTraffic.SHORT_NAME)); if (StringUtil.isNotEmpty(layer)) { query.appendCondition(eq(ServiceTraffic.LAYER, Layer.valueOf(layer).value())); } @@ -81,10 +82,12 @@ public class BanyanDBMetadataQueryDAO extends AbstractBanyanDBDAO implements IMe @Override public List<Service> getServices(String serviceId) throws IOException { StreamQueryResponse resp = query(ServiceTraffic.INDEX_NAME, - ImmutableList.of(ServiceTraffic.NAME, ServiceTraffic.LAYER, ServiceTraffic.GROUP), + ImmutableList.of(ServiceTraffic.NAME, ServiceTraffic.SERVICE_ID, ServiceTraffic.GROUP, ServiceTraffic.LAYER), new QueryBuilder() { @Override public void apply(StreamQuery query) { + query.setDataProjections(Collections.singletonList(ServiceTraffic.SHORT_NAME)); + query.appendCondition(eq(ServiceTraffic.SERVICE_ID, serviceId)); } }); @@ -116,9 +119,11 @@ public class BanyanDBMetadataQueryDAO extends AbstractBanyanDBDAO implements IMe @Override public ServiceInstance getInstance(String instanceId) throws IOException { StreamQueryResponse resp = query(InstanceTraffic.INDEX_NAME, - ImmutableList.of(InstanceTraffic.NAME, InstanceTraffic.SERVICE_ID), new QueryBuilder() { + ImmutableList.of(StreamMetaInfo.ID), new QueryBuilder() { @Override public void apply(StreamQuery query) { + query.setDataProjections(Collections.singletonList("data_binary")); + query.appendCondition(eq(StreamMetaInfo.ID, instanceId)); } }); @@ -145,8 +150,8 @@ public class BanyanDBMetadataQueryDAO extends AbstractBanyanDBDAO implements IMe public Endpoint apply(RowEntity row) { Endpoint endpoint = new Endpoint(); final List<TagAndValue<?>> searchable = row.getTagFamilies().get(0); - endpoint.setId((String) searchable.get(0).getValue()); - endpoint.setName((String) searchable.get(1).getValue()); + endpoint.setId(row.getId()); + endpoint.setName((String) searchable.get(0).getValue()); // 0 - name return endpoint; } } @@ -179,7 +184,8 @@ public class BanyanDBMetadataQueryDAO extends AbstractBanyanDBDAO implements IMe RemoteData remoteData = RemoteData.parseFrom((ByteString) o); instanceTraffic.deserialize(remoteData); serviceInstance.setName(instanceTraffic.getName()); - serviceInstance.setId(instanceTraffic.getServiceId()); + serviceInstance.setId(row.getId()); + serviceInstance.setInstanceUUID(serviceInstance.getId()); serviceInstance.setLayer(instanceTraffic.getLayer().name()); if (instanceTraffic.getProperties() != null) { diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBNoneStreamDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBNoneStreamDAO.java index e19ff9af98..ae5c766897 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBNoneStreamDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBNoneStreamDAO.java @@ -41,7 +41,7 @@ public class BanyanDBNoneStreamDAO<T extends NoneStream> implements INoneStreamD @Override public void insert(Model model, NoneStream noneStream) throws IOException { - final long timestamp = TimeBucket.getTimeBucket(noneStream.getTimeBucket(), model.getDownsampling()); + final long timestamp = TimeBucket.getTimestamp(noneStream.getTimeBucket(), model.getDownsampling()); StreamWrite.StreamWriteBuilder builder = this.storageBuilder.entity2Storage((T) noneStream) .name(model.getName()) 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 3a4910f3b5..1da585bb4b 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 @@ -48,12 +48,11 @@ public class BanyanDBProfileTaskLogQueryDAO extends AbstractBanyanDBDAO implemen @Override public List<ProfileTaskLog> getTaskLogList() throws IOException { StreamQueryResponse resp = query(ProfileTaskLogRecord.INDEX_NAME, - ImmutableList.of(ProfileTaskLogRecord.OPERATION_TIME), + ImmutableList.of(ProfileTaskLogRecord.OPERATION_TIME, ProfileTaskLogRecord.INSTANCE_ID), new QueryBuilder() { @Override public void apply(StreamQuery query) { query.setDataProjections(ImmutableList.of(ProfileTaskLogRecord.TASK_ID, - ProfileTaskLogRecord.INSTANCE_ID, ProfileTaskLogRecord.OPERATION_TYPE)); query.setLimit(BanyanDBProfileTaskLogQueryDAO.this.queryMaxSize); } @@ -71,13 +70,13 @@ public class BanyanDBProfileTaskLogQueryDAO extends AbstractBanyanDBDAO implemen final List<TagAndValue<?>> searchable = row.getTagFamilies().get(0); // searchable - operation_time profileTaskLog.setOperationTime(((Number) searchable.get(0).getValue()).longValue()); + // searchable - instance_id + profileTaskLog.setInstanceId((String) searchable.get(1).getValue()); final List<TagAndValue<?>> data = row.getTagFamilies().get(1); - // searchable - task_id + // data - task_id profileTaskLog.setTaskId((String) data.get(0).getValue()); - // searchable - instance_id - profileTaskLog.setInstanceId((String) data.get(1).getValue()); - // searchable - operation_type - profileTaskLog.setOperationType(ProfileTaskLogOperationType.parse(((Number) data.get(2).getValue()).intValue())); + // data - operation_type + profileTaskLog.setOperationType(ProfileTaskLogOperationType.parse(((Number) data.get(1).getValue()).intValue())); return profileTaskLog; } } diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBProfileTaskQueryDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBProfileTaskQueryDAO.java index 93cc99c6c3..4bf0996eb8 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBProfileTaskQueryDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBProfileTaskQueryDAO.java @@ -72,7 +72,7 @@ public class BanyanDBProfileTaskQueryDAO extends AbstractBanyanDBDAO implements query.setLimit(limit); } - query.setOrderBy(new StreamQuery.OrderBy(ProfileTaskRecord.START_TIME, StreamQuery.OrderBy.Type.DESC)); +// query.setOrderBy(new StreamQuery.OrderBy(ProfileTaskRecord.START_TIME, StreamQuery.OrderBy.Type.DESC)); } }); 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 4da87ac9e5..6df30bb465 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 @@ -124,7 +124,7 @@ public class BanyanDBProfileThreadSnapshotQueryDAO extends AbstractBanyanDBDAO i @Override public SegmentRecord getProfiledSegment(String segmentId) throws IOException { StreamQueryResponse resp = query(SegmentRecord.INDEX_NAME, - ImmutableList.of("trace_id", "state", "service_id", "service_instance_id", "endpoint_id", "duration", "start_time"), + ImmutableList.of(SegmentRecord.TRACE_ID, SegmentRecord.IS_ERROR, SegmentRecord.SERVICE_ID, SegmentRecord.SERVICE_INSTANCE_ID, SegmentRecord.ENDPOINT_ID, SegmentRecord.LATENCY, SegmentRecord.START_TIME), new QueryBuilder() { @Override public void apply(StreamQuery query) { diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBTopologyQueryDAO.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBTopologyQueryDAO.java index f574e9b24a..660190dd10 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBTopologyQueryDAO.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBTopologyQueryDAO.java @@ -18,7 +18,18 @@ package org.apache.skywalking.oap.server.storage.plugin.banyandb.stream; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; +import io.vavr.Tuple2; +import io.vavr.Tuple4; +import lombok.RequiredArgsConstructor; +import org.apache.skywalking.banyandb.v1.client.RowEntity; +import org.apache.skywalking.banyandb.v1.client.StreamQuery; +import org.apache.skywalking.banyandb.v1.client.StreamQueryResponse; +import org.apache.skywalking.banyandb.v1.client.TimestampRange; +import org.apache.skywalking.oap.server.core.Const; import org.apache.skywalking.oap.server.core.UnexpectedException; +import org.apache.skywalking.oap.server.core.analysis.TimeBucket; import org.apache.skywalking.oap.server.core.analysis.manual.relation.endpoint.EndpointRelationServerSideMetrics; import org.apache.skywalking.oap.server.core.analysis.manual.relation.instance.ServiceInstanceRelationClientSideMetrics; import org.apache.skywalking.oap.server.core.analysis.manual.relation.instance.ServiceInstanceRelationServerSideMetrics; @@ -34,6 +45,8 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; public class BanyanDBTopologyQueryDAO extends AbstractBanyanDBDAO implements ITopologyQueryDAO { public BanyanDBTopologyQueryDAO(BanyanDBStorageClient client) { @@ -71,7 +84,7 @@ public class BanyanDBTopologyQueryDAO extends AbstractBanyanDBDAO implements ITo return loadServiceCalls( ServiceRelationServerSideMetrics.INDEX_NAME, startTB, endTB, ServiceRelationServerSideMetrics.SOURCE_SERVICE_ID, - ServiceRelationServerSideMetrics.DEST_SERVICE_ID, new ArrayList<>(0), DetectPoint.SERVER + ServiceRelationServerSideMetrics.DEST_SERVICE_ID, Collections.emptyList(), DetectPoint.SERVER ); } @@ -80,7 +93,7 @@ public class BanyanDBTopologyQueryDAO extends AbstractBanyanDBDAO implements ITo return loadServiceCalls( ServiceRelationClientSideMetrics.INDEX_NAME, startTB, endTB, ServiceRelationClientSideMetrics.SOURCE_SERVICE_ID, - ServiceRelationClientSideMetrics.DEST_SERVICE_ID, new ArrayList<>(0), DetectPoint.CLIENT + ServiceRelationClientSideMetrics.DEST_SERVICE_ID, Collections.emptyList(), DetectPoint.CLIENT ); } @@ -106,17 +119,11 @@ public class BanyanDBTopologyQueryDAO extends AbstractBanyanDBDAO implements ITo @Override public List<Call.CallDetail> loadEndpointRelation(long startTB, long endTB, String destEndpointId) throws IOException { - List<Call.CallDetail> calls = loadEndpointFromSide( + return loadEndpointCalls( EndpointRelationServerSideMetrics.INDEX_NAME, startTB, endTB, EndpointRelationServerSideMetrics.SOURCE_ENDPOINT, - EndpointRelationServerSideMetrics.DEST_ENDPOINT, destEndpointId, false + EndpointRelationServerSideMetrics.DEST_ENDPOINT, destEndpointId ); - calls.addAll( - loadEndpointFromSide(EndpointRelationServerSideMetrics.INDEX_NAME, startTB, endTB, - EndpointRelationServerSideMetrics.SOURCE_ENDPOINT, - EndpointRelationServerSideMetrics.DEST_ENDPOINT, destEndpointId, true - )); - return calls; } private List<Call.CallDetail> loadServiceCalls(String tableName, @@ -126,8 +133,37 @@ public class BanyanDBTopologyQueryDAO extends AbstractBanyanDBDAO implements ITo String destCName, List<String> serviceIds, DetectPoint detectPoint) throws IOException { - // TODO: we will impl this method after we support `OR` - return Collections.emptyList(); + TimestampRange timeRange = new TimestampRange(TimeBucket.getTimestamp(startTB), TimeBucket.getTimestamp(endTB)); + List<Call.CallDetail> calls = new ArrayList<>(); + if (serviceIds.isEmpty()) { + StreamQueryResponse resp = query(tableName, Collections.emptyList(), timeRange, new QueryBuilder() { + @Override + void apply(StreamQuery query) { + // query component_id + query.setDataProjections(Collections.singletonList(ServiceRelationServerSideMetrics.COMPONENT_ID)); + } + }); + + calls.addAll(resp.getElements().stream().map(new ServiceCallDetailDeserializer(detectPoint)).collect(Collectors.toList())); + } else { + for (String fieldOfInterest : ImmutableList.of(sourceCName, destCName)) { + for (String serviceID : serviceIds) { + StreamQueryResponse resp = query(tableName, ImmutableList.of(fieldOfInterest), timeRange, new QueryBuilder() { + @Override + void apply(StreamQuery query) { + // query component_id + query.setDataProjections(Collections.singletonList(ServiceRelationServerSideMetrics.COMPONENT_ID)); + + query.appendCondition(eq(fieldOfInterest, serviceID)); + } + }); + + calls.addAll(resp.getElements().stream().map(new ServiceCallDetailDeserializer(detectPoint)).collect(Collectors.toList())); + } + } + } + + return calls; } private List<Call.CallDetail> loadServiceInstanceCalls(String tableName, @@ -138,18 +174,103 @@ public class BanyanDBTopologyQueryDAO extends AbstractBanyanDBDAO implements ITo String sourceServiceId, String destServiceId, DetectPoint detectPoint) throws IOException { - // TODO: we will impl this method after we support `OR` - return Collections.emptyList(); + TimestampRange timeRange = new TimestampRange(TimeBucket.getTimestamp(startTB), TimeBucket.getTimestamp(endTB)); + + Set<Tuple4<String, String, String, String>> productQuerySet = ImmutableSet.of( + new Tuple4<>(sourceCName, sourceServiceId, descCName, destServiceId), + new Tuple4<>(sourceCName, destServiceId, descCName, sourceServiceId) + ); + + List<Call.CallDetail> calls = new ArrayList<>(); + + for (Tuple4<String, String, String, String> querySet : productQuerySet) { + StreamQueryResponse resp = query(tableName, ImmutableList.of(querySet._1(), querySet._3()), timeRange, new QueryBuilder() { + @Override + void apply(StreamQuery query) { + // query component_id + query.setDataProjections(Collections.singletonList(ServiceRelationServerSideMetrics.COMPONENT_ID)); + + query.appendCondition(eq(querySet._1(), querySet._2())); + query.appendCondition(eq(querySet._3(), querySet._4())); + } + }); + + calls.addAll(resp.getElements().stream().map(new InstanceCallDetailDeserializer(detectPoint)).collect(Collectors.toList())); + } + + return calls; } - private List<Call.CallDetail> loadEndpointFromSide(String tableName, - long startTB, - long endTB, - String sourceCName, - String destCName, - String id, - boolean isSourceId) throws IOException { - // TODO: we will impl this method after we support `OR` - return Collections.emptyList(); + private List<Call.CallDetail> loadEndpointCalls(String tableName, + long startTB, + long endTB, + String sourceCName, + String destCName, + String id) throws IOException { + TimestampRange timeRange = new TimestampRange(TimeBucket.getTimestamp(startTB), TimeBucket.getTimestamp(endTB)); + + Set<Tuple2<String, String>> allPossibleQuerySet = ImmutableSet.of( + new Tuple2<>(sourceCName, id), + new Tuple2<>(destCName, id) + ); + + List<Call.CallDetail> calls = new ArrayList<>(); + + for (Tuple2<String, String> querySet : allPossibleQuerySet) { + StreamQueryResponse resp = query(tableName, ImmutableList.of(querySet._1()), timeRange, new QueryBuilder() { + @Override + void apply(StreamQuery query) { + query.appendCondition(eq(querySet._1(), querySet._2())); + } + }); + + calls.addAll(resp.getElements().stream().map(new EndpointCallDetailDeserializer()).collect(Collectors.toList())); + } + + return calls; + } + + @RequiredArgsConstructor + public static class ServiceCallDetailDeserializer implements RowEntityDeserializer<Call.CallDetail> { + private final DetectPoint detectPoint; + + @Override + public Call.CallDetail apply(RowEntity rowEntity) { + Call.CallDetail call = new Call.CallDetail(); + String[] idsSlice = rowEntity.getId().split(Const.ID_CONNECTOR); + String entityId = idsSlice[1]; + int componentId = ((Number) rowEntity.getTagFamilies().get(1) // Tag Family: "data" + .get(0).getValue()).intValue(); + call.buildFromServiceRelation(entityId, componentId, this.detectPoint); + return call; + } + } + + @RequiredArgsConstructor + public static class InstanceCallDetailDeserializer implements RowEntityDeserializer<Call.CallDetail> { + private final DetectPoint detectPoint; + + @Override + public Call.CallDetail apply(RowEntity rowEntity) { + Call.CallDetail call = new Call.CallDetail(); + String[] idsSlice = rowEntity.getId().split(Const.ID_CONNECTOR); + String entityId = idsSlice[1]; + int componentId = ((Number) rowEntity.getTagFamilies().get(1) // Tag Family: "data" + .get(0).getValue()).intValue(); + call.buildFromInstanceRelation(entityId, componentId, this.detectPoint); + return call; + } + } + + @RequiredArgsConstructor + public static class EndpointCallDetailDeserializer implements RowEntityDeserializer<Call.CallDetail> { + @Override + public Call.CallDetail apply(RowEntity rowEntity) { + Call.CallDetail call = new Call.CallDetail(); + String[] idsSlice = rowEntity.getId().split(Const.ID_CONNECTOR); + String entityId = idsSlice[1]; + call.buildFromEndpointRelation(entityId, DetectPoint.SERVER); + return call; + } } } 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 66053e268d..642ed519fc 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 @@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.storage.plugin.banyandb.stream; import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.protobuf.ByteString; -import lombok.Getter; import org.apache.skywalking.banyandb.v1.client.RowEntity; import org.apache.skywalking.banyandb.v1.client.StreamQuery; import org.apache.skywalking.banyandb.v1.client.StreamQueryResponse; @@ -37,6 +36,7 @@ import org.apache.skywalking.oap.server.core.query.type.Span; import org.apache.skywalking.oap.server.core.query.type.TraceBrief; import org.apache.skywalking.oap.server.core.query.type.TraceState; import org.apache.skywalking.oap.server.core.storage.query.ITraceQueryDAO; +import org.apache.skywalking.oap.server.library.util.BooleanUtils; import org.apache.skywalking.oap.server.library.util.CollectionUtils; import org.apache.skywalking.oap.server.storage.plugin.banyandb.BanyanDBStorageClient; import org.apache.skywalking.oap.server.storage.plugin.banyandb.schema.SegmentRecordBuilder; @@ -79,13 +79,10 @@ public class BanyanDBTraceQueryDAO extends AbstractBanyanDBDAO implements ITrace switch (traceState) { case ERROR: - query.appendCondition(eq(SegmentRecord.IS_ERROR, TraceStateStorage.ERROR.getState())); + query.appendCondition(eq(SegmentRecord.IS_ERROR, BooleanUtils.TRUE)); break; case SUCCESS: - query.appendCondition(eq(SegmentRecord.IS_ERROR, TraceStateStorage.SUCCESS.getState())); - break; - default: - query.appendCondition(eq(SegmentRecord.IS_ERROR, TraceStateStorage.ALL.getState())); + query.appendCondition(eq(SegmentRecord.IS_ERROR, BooleanUtils.FALSE)); break; } @@ -118,7 +115,14 @@ public class BanyanDBTraceQueryDAO extends AbstractBanyanDBDAO implements ITrace } StreamQueryResponse resp = query(SegmentRecord.INDEX_NAME, - ImmutableList.of("trace_id", "is_error", "endpoint_id", "latency", "start_time"), tsRange, q); + ImmutableList.of(SegmentRecord.TRACE_ID, // 0 - trace_id + SegmentRecord.IS_ERROR, // 1 - is_error + SegmentRecord.SERVICE_ID, // 2 - service_id + SegmentRecord.SERVICE_INSTANCE_ID, // 3 - service_instance_id + SegmentRecord.ENDPOINT_ID, // 4 - endpoint_id + SegmentRecord.LATENCY, // 5 - latency + SegmentRecord.START_TIME), // 6 - start_time + tsRange, q); List<BasicTrace> basicTraces = resp.getElements().stream().map(new BasicTraceDeserializer()).collect(Collectors.toList()); @@ -131,11 +135,17 @@ public class BanyanDBTraceQueryDAO extends AbstractBanyanDBDAO implements ITrace @Override public List<SegmentRecord> queryByTraceId(String traceId) throws IOException { StreamQueryResponse resp = query(SegmentRecord.INDEX_NAME, - ImmutableList.of("trace_id", "is_error", "service_id", "service_instance_id", "endpoint_id", "latency", "start_time"), + ImmutableList.of(SegmentRecord.TRACE_ID, // 0 - trace_id + SegmentRecord.IS_ERROR, // 1 - is_error + SegmentRecord.SERVICE_ID, // 2 - service_id + SegmentRecord.SERVICE_INSTANCE_ID, // 3 - service_instance_id + SegmentRecord.ENDPOINT_ID, // 4 - endpoint_id + SegmentRecord.LATENCY, // 5 - latency + SegmentRecord.START_TIME), // 6 - start_time new QueryBuilder() { @Override public void apply(StreamQuery query) { - query.setDataProjections(Collections.singletonList("data_binary")); + query.setDataProjections(Collections.singletonList(SegmentRecord.DATA_BINARY)); query.appendCondition(eq(SegmentRecord.TRACE_ID, traceId)); } }); @@ -148,17 +158,6 @@ public class BanyanDBTraceQueryDAO extends AbstractBanyanDBDAO implements ITrace return Collections.emptyList(); } - public enum TraceStateStorage { - ALL(0), SUCCESS(1), ERROR(2); - - @Getter - private final int state; - - TraceStateStorage(int state) { - this.state = state; - } - } - public static class BasicTraceDeserializer implements RowEntityDeserializer<BasicTrace> { @Override public BasicTrace apply(RowEntity row) { @@ -168,10 +167,10 @@ public class BanyanDBTraceQueryDAO extends AbstractBanyanDBDAO implements ITrace trace.getTraceIds().add((String) searchable.get(0).getValue()); trace.setError(((Long) searchable.get(1).getValue()).intValue() == 1); trace.getEndpointNames().add(IDManager.EndpointID.analysisId( - (String) searchable.get(2).getValue() + (String) searchable.get(4).getValue() ).getEndpointName()); - trace.setDuration(((Long) searchable.get(3).getValue()).intValue()); - trace.setStart(String.valueOf(searchable.get(4).getValue())); + trace.setDuration(((Long) searchable.get(5).getValue()).intValue()); + trace.setStart(String.valueOf(searchable.get(6).getValue())); return trace; } } 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 index 0c59e84357..2a203c1679 100644 --- 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 @@ -1,7 +1,7 @@ { "metadata": { "name": "endpoint_relation_server_side", - "group": "default" + "group": "default-stream" }, "tag_families": [ { @@ -33,14 +33,9 @@ ], "entity": { "tag_names": [ + "source_endpoint", + "dest_endpoint" ] }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 7, - "unit": "DURATION_UNIT_DAY" - } - }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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 index 9b0d1f40ca..459b77d808 100644 --- 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 @@ -1,7 +1,7 @@ { "metadata": { "name": "endpoint_traffic", - "group": "default" + "group": "default-stream" }, "tag_families": [ { @@ -24,14 +24,8 @@ ], "entity": { "tag_names": [ + "service_id" ] }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 7, - "unit": "DURATION_UNIT_DAY" - } - }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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 index 9c0f091ac2..37a02eca24 100644 --- 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 @@ -1,7 +1,7 @@ { "metadata": { "name": "events", - "group": "default" + "group": "default-stream" }, "tag_families": [ { @@ -57,14 +57,8 @@ ], "entity": { "tag_names": [ + "uuid" ] }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 7, - "unit": "DURATION_UNIT_DAY" - } - }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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/disabled.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/disabled.json index 8cfb12816a..19a1c1b204 100644 --- 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 @@ -6,7 +6,7 @@ "tags": [ "disabled" ], - "type": "TYPE_INVERTED", + "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/disabled.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dump_time.json similarity index 67% copy from oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/disabled.json copy to oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/dump_time.json index 8cfb12816a..6073ee7740 100644 --- 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/dump_time.json @@ -1,12 +1,12 @@ { "metadata": { - "name": "disabled", + "name": "dump_time", "group": "default" }, "tags": [ - "disabled" + "dump_time" ], - "type": "TYPE_INVERTED", + "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/disabled.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/layer.json similarity index 81% copy from oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/disabled.json copy to oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/layer.json index 8cfb12816a..05455e1d6b 100644 --- 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/layer.json @@ -1,10 +1,10 @@ { "metadata": { - "name": "disabled", + "name": "layer", "group": "default" }, "tags": [ - "disabled" + "layer" ], "type": "TYPE_INVERTED", "location": "LOCATION_SERIES", 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/operation_time.json similarity index 65% copy from oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/disabled.json copy to oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/operation_time.json index 8cfb12816a..30222bc484 100644 --- 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/operation_time.json @@ -1,12 +1,12 @@ { "metadata": { - "name": "disabled", + "name": "operation_time", "group": "default" }, "tags": [ - "disabled" + "operation_time" ], - "type": "TYPE_INVERTED", + "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/disabled.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/segment_id.json similarity index 79% copy from oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/disabled.json copy to oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/segment_id.json index 8cfb12816a..a58129eab2 100644 --- 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/segment_id.json @@ -1,10 +1,10 @@ { "metadata": { - "name": "disabled", + "name": "segment_id", "group": "default" }, "tags": [ - "disabled" + "segment_id" ], "type": "TYPE_INVERTED", "location": "LOCATION_SERIES", 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/sequence.json similarity index 67% copy from oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/disabled.json copy to oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/sequence.json index 8cfb12816a..2bbd960809 100644 --- 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/sequence.json @@ -1,12 +1,12 @@ { "metadata": { - "name": "disabled", + "name": "sequence", "group": "default" }, "tags": [ - "disabled" + "sequence" ], - "type": "TYPE_INVERTED", + "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/disabled.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service_group.json similarity index 77% copy from oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/disabled.json copy to oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/index_rules/service_group.json index 8cfb12816a..3cecbefa13 100644 --- 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/service_group.json @@ -1,10 +1,10 @@ { "metadata": { - "name": "disabled", + "name": "service_group", "group": "default" }, "tags": [ - "disabled" + "service_group" ], "type": "TYPE_INVERTED", "location": "LOCATION_SERIES", 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 index b63b29c2c2..fc728af744 100644 --- 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 @@ -1,7 +1,7 @@ { "metadata": { "name": "instance_traffic", - "group": "default" + "group": "default-stream" }, "tag_families": [ { @@ -33,15 +33,8 @@ ], "entity": { "tag_names": [ - + "service_id" ] }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 7, - "unit": "DURATION_UNIT_DAY" - } - }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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 index 6d46d97799..0dc6f344c0 100644 --- 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 @@ -1,7 +1,7 @@ { "metadata": { "name": "network_address_alias", - "group": "default" + "group": "default-stream" }, "tag_families": [ { @@ -37,14 +37,9 @@ ], "entity": { "tag_names": [ + "represent_service_id", + "represent_service_instance_id" ] }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 52000, - "unit": "DURATION_UNIT_WEEK" - } - }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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 index 10aa497e74..85c5901c8c 100644 --- 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 @@ -1,7 +1,7 @@ { "metadata": { "name": "profile_task", - "group": "default" + "group": "default-stream" }, "tag_families": [ { @@ -52,14 +52,8 @@ ], "entity": { "tag_names": [ + "service_id" ] }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 7, - "unit": "DURATION_UNIT_DAY" - } - }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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/instance_traffic.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/profile_task_log.json similarity index 51% copy from oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/instance_traffic.json copy to oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/profile_task_log.json index b63b29c2c2..6fa6ccb244 100644 --- 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/profile_task_log.json @@ -1,15 +1,19 @@ { "metadata": { - "name": "instance_traffic", - "group": "default" + "name": "profile_task_log", + "group": "default-stream" }, "tag_families": [ { "name": "data", "tags": [ { - "name": "data_binary", - "type": "TAG_TYPE_DATA_BINARY" + "name": "task_id", + "type": "TAG_TYPE_STRING" + }, + { + "name": "operation_type", + "type": "TAG_TYPE_INT" } ] }, @@ -17,15 +21,11 @@ "name": "searchable", "tags": [ { - "name": "service_id", - "type": "TAG_TYPE_STRING" - }, - { - "name": "last_ping", + "name": "operation_time", "type": "TAG_TYPE_INT" }, { - "name": "id", + "name": "instance_id", "type": "TAG_TYPE_STRING" } ] @@ -33,15 +33,8 @@ ], "entity": { "tag_names": [ - + "instance_id" ] }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 7, - "unit": "DURATION_UNIT_DAY" - } - }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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/instance_traffic.json b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/profile_task_segment_snapshot.json similarity index 56% copy from oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/instance_traffic.json copy to oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/resources/metadata/profile_task_segment_snapshot.json index b63b29c2c2..a5fcbcbf5c 100644 --- 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/profile_task_segment_snapshot.json @@ -1,14 +1,14 @@ { "metadata": { - "name": "instance_traffic", - "group": "default" + "name": "profile_task_segment_snapshot", + "group": "default-stream" }, "tag_families": [ { "name": "data", "tags": [ { - "name": "data_binary", + "name": "stack_binary", "type": "TAG_TYPE_DATA_BINARY" } ] @@ -17,31 +17,28 @@ "name": "searchable", "tags": [ { - "name": "service_id", + "name": "task_id", "type": "TAG_TYPE_STRING" }, { - "name": "last_ping", + "name": "segment_id", + "type": "TAG_TYPE_STRING" + }, + { + "name": "dump_time", "type": "TAG_TYPE_INT" }, { - "name": "id", - "type": "TAG_TYPE_STRING" + "name": "sequence", + "type": "TAG_TYPE_INT" } ] } ], "entity": { "tag_names": [ - + "task_id" ] }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 7, - "unit": "DURATION_UNIT_DAY" - } - }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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 index 066fa45c38..7a8343d45c 100644 --- 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 @@ -1,7 +1,7 @@ { "metadata": { "name": "segment", - "group": "default" + "group": "default-stream" }, "tag_families": [ { @@ -82,12 +82,5 @@ "is_error" ] }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 7, - "unit": "DURATION_UNIT_DAY" - } - }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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 index 1a6f380e62..edd49ef287 100644 --- 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 @@ -1,7 +1,7 @@ { "metadata": { "name": "service_instance_relation_client_side", - "group": "default" + "group": "default-stream" }, "tag_families": [ { @@ -41,6 +41,8 @@ ], "entity": { "tag_names": [ + "source_service_id", + "dest_service_id" ] }, "opts": { @@ -50,5 +52,5 @@ "unit": "DURATION_UNIT_DAY" } }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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 index 2fa5c396b4..a8c6089421 100644 --- 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 @@ -1,7 +1,7 @@ { "metadata": { "name": "service_instance_relation_server_side", - "group": "default" + "group": "default-stream" }, "tag_families": [ { @@ -41,6 +41,8 @@ ], "entity": { "tag_names": [ + "source_service_id", + "dest_service_id" ] }, "opts": { @@ -50,5 +52,5 @@ "unit": "DURATION_UNIT_DAY" } }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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 index b12e95adaa..1f74420c2c 100644 --- 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 @@ -1,7 +1,7 @@ { "metadata": { "name": "service_relation_client_side", - "group": "default" + "group": "default-stream" }, "tag_families": [ { @@ -33,14 +33,9 @@ ], "entity": { "tag_names": [ + "source_service_id", + "dest_service_id" ] }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 7, - "unit": "DURATION_UNIT_DAY" - } - }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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 index 8844639714..13c2cc6177 100644 --- 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 @@ -1,7 +1,7 @@ { "metadata": { "name": "service_relation_server_side", - "group": "default" + "group": "default-stream" }, "tag_families": [ { @@ -33,14 +33,9 @@ ], "entity": { "tag_names": [ + "source_service_id", + "dest_service_id" ] }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 7, - "unit": "DURATION_UNIT_DAY" - } - }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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 index ba0f1c07ed..b009a199cf 100644 --- 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 @@ -1,7 +1,7 @@ { "metadata": { - "name": "endpoint_traffic", - "group": "default" + "name": "service_traffic", + "group": "default-stream" }, "tag_families": [ { @@ -37,14 +37,8 @@ ], "entity": { "tag_names": [ + "service_id" ] }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 7, - "unit": "DURATION_UNIT_DAY" - } - }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "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 index e2a404ff5f..b01e8baae0 100644 --- 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 @@ -1,7 +1,7 @@ { "metadata": { "name": "ui_template", - "group": "default" + "group": "default-stream" }, "tag_families": [ { @@ -37,14 +37,8 @@ ], "entity": { "tag_names": [ + "name" ] }, - "opts": { - "shard_num": 2, - "ttl": { - "val": 52000, - "unit": "DURATION_UNIT_WEEK" - } - }, - "updated_at_nanoseconds": "2021-04-15T01:30:15.01Z" + "updated_at": "2021-04-15T01:30:15.01Z" } \ No newline at end of file
