You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by lu...@apache.org on 2022/04/22 03:24:39 UTC
[skywalking] 18/22: support metadata, segment and topo
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 a82c6e1f5a11e8d88555d20afbf9b2758a4cc366
Author: Megrez Lu <lu...@gmail.com>
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