This is an automated email from the ASF dual-hosted git repository. wankai pushed a commit to branch doc in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
commit fe8c62795ef12ae390965480f0aa6a16ff627900 Author: wankai123 <wankai...@foxmail.com> AuthorDate: Fri Jul 26 14:10:18 2024 +0800 update docs. --- CHANGES.md | 1 + docs/concept/data-model.md | 2 +- docs/crud/group.md | 10 +-- docs/crud/index_rule.md | 12 +-- docs/crud/index_rule_binding.md | 12 +-- docs/crud/measure/query.md | 24 +++--- docs/crud/measure/schema.md | 12 +-- docs/crud/property.md | 26 +++--- docs/crud/stream/query.md | 22 +++-- docs/crud/stream/schema.md | 12 +-- docs/guides/quick-start/docker-compose.yaml | 4 +- docs/guides/quick-start/quick-start.md | 119 +++++++++++++++++++++++++++- docs/installation/kubernetes.md | 2 +- docs/menu.yml | 52 ++++++------ 14 files changed, 208 insertions(+), 102 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index baf4a0d7..3cc60064 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -35,6 +35,7 @@ Release Notes. ### Documentation - Introduce new doc menu structure. - Add installation on Docker and Kubernetes. +- Add quick-start guide. ## 0.6.1 diff --git a/docs/concept/data-model.md b/docs/concept/data-model.md index 442c1f71..732119f7 100644 --- a/docs/concept/data-model.md +++ b/docs/concept/data-model.md @@ -81,7 +81,7 @@ interval: 1m `Measure` consists of a sequence of data points. Each data point contains tags and fields. -`Tags` are key-value pairs. The database engine can index tag values by referring to the index rules and rule bindings, confining the query to filtering data points based on tags bound to an index rule. +`Tags` are key-value pairs. The database engine can index tag values by referring to the [index rules and rule bindings](#indexrule--indexrulebinding), confining the query to filtering data points based on tags bound to an index rule. `Tags` are grouped into unique `tag_families` which are the logical and physical grouping of tags. diff --git a/docs/crud/group.md b/docs/crud/group.md index 2d79377b..b61e56cb 100644 --- a/docs/crud/group.md +++ b/docs/crud/group.md @@ -13,7 +13,7 @@ Create operation adds a new group to the database's metadata registry repository ### Examples of creating ```shell -$ bydbctl group create -f - <<EOF +bydbctl group create -f - <<EOF metadata: name: sw_metric catalog: CATALOG_MEASURE @@ -39,7 +39,7 @@ Get operation gets a group's schema. ### Examples of getting ```shell -$ bydbctl group get -g sw_metric +bydbctl group get -g sw_metric ``` ## Update operation @@ -51,7 +51,7 @@ Update operation updates a group's schema. If we want to change the `ttl` of the data in this group to be 1 day, use the command: ```shell -$ bydbctl group update -f - <<EOF +bydbctl group update -f - <<EOF metadata: name: sw_metric catalog: CATALOG_MEASURE @@ -73,7 +73,7 @@ Delete operation deletes a group's schema. ### Examples of deleting ```shell -$ bydbctl group delete -g sw_metric +bydbctl group delete -g sw_metric ``` ## List operation @@ -83,7 +83,7 @@ The list operation shows all groups' schema. ### Examples ```shell -$ bydbctl group list +bydbctl group list ``` ## API Reference diff --git a/docs/crud/index_rule.md b/docs/crud/index_rule.md index 03485f41..842d5a0a 100644 --- a/docs/crud/index_rule.md +++ b/docs/crud/index_rule.md @@ -18,7 +18,7 @@ An index rule belongs to its subjects' group. We should create such a group if t The command supposes that the index rule will bind to streams. So it creates a `CATALOG_STREAM` group here. ```shell -$ bydbctl group create -f - <<EOF +bydbctl group create -f - <<EOF metadata: name: sw_stream catalog: CATALOG_STREAM @@ -41,7 +41,7 @@ The data in this group will keep 7 days. Then, the next command will create a new index rule: ```shell -$ bydbctl indexRule create -f - <<EOF +bydbctl indexRule create -f - <<EOF metadata: name: trace_id group: sw_stream @@ -60,7 +60,7 @@ Get(Read) operation gets an index rule's schema. ### Examples of getting ```shell -$ bydbctl indexRule get -g sw_stream -n trace_id +bydbctl indexRule get -g sw_stream -n trace_id ``` ## Update operation @@ -72,7 +72,7 @@ Update operation updates an index rule's schema. This example changes the type from `TREE` to `INVERTED`. ```shell -$ bydbctl indexRule update -f - <<EOF +bydbctl indexRule update -f - <<EOF metadata: name: trace_id group: sw_stream @@ -90,7 +90,7 @@ Delete operation deletes an index rule's schema. ### Examples of deleting ```shell -$ bydbctl indexRule delete -g sw_stream -n trace_id +bydbctl indexRule delete -g sw_stream -n trace_id ``` ## List operation @@ -100,7 +100,7 @@ List operation list all index rules' schema in a group. ### Examples of listing ```shell -$ bydbctl indexRule list -g sw_stream +bydbctl indexRule list -g sw_stream ``` ## API Reference diff --git a/docs/crud/index_rule_binding.md b/docs/crud/index_rule_binding.md index 0e8158d1..79c01c2a 100644 --- a/docs/crud/index_rule_binding.md +++ b/docs/crud/index_rule_binding.md @@ -16,7 +16,7 @@ Create operation adds a new index rule binding to the database's metadata regist An index rule binding belongs to a unique group. We should create such a group with a catalog `CATALOG_STREAM` before creating a index rule binding. The subject(stream/measure) and index rule MUST live in the same group with the binding. ```shell -$ bydbctl group create -f - <<EOF +bydbctl group create -f - <<EOF metadata: name: default catalog: CATALOG_STREAM @@ -39,7 +39,7 @@ The data in this group will keep 7 days. Then, below command will create a new indexRuleBinding: ```shell -$ bydbctl indexRuleBinding create -f - <<EOF +bydbctl indexRuleBinding create -f - <<EOF metadata: name: stream_binding group: sw_stream @@ -76,7 +76,7 @@ Get(Read) operation gets an index rule binding's schema. ### Examples of getting ```shell -$ bydbctl indexRuleBinding get -g sw_stream -n stream_binding +bydbctl indexRuleBinding get -g sw_stream -n stream_binding ``` ## Update operation @@ -86,7 +86,7 @@ Update operation update an index rule binding's schema. ### Examples updating ```shell -$ bydbctl indexRuleBinding update -f - <<EOF +bydbctl indexRuleBinding update -f - <<EOF metadata: name: stream_binding group: sw_stream @@ -119,7 +119,7 @@ Delete operation delete an index rule binding's schema. ### Examples of deleting ```shell -$ bydbctl indexRuleBinding delete -g sw_stream -n stream_binding +bydbctl indexRuleBinding delete -g sw_stream -n stream_binding ``` ## List operation @@ -129,7 +129,7 @@ List operation list all index rule bindings in a group. ### Examples of listing ```shell -$ bydbctl indexRuleBinding list -g sw_stream +bydbctl indexRuleBinding list -g sw_stream ``` ## API Reference diff --git a/docs/crud/measure/query.md b/docs/crud/measure/query.md index 40639a71..e4a5dcc5 100644 --- a/docs/crud/measure/query.md +++ b/docs/crud/measure/query.md @@ -30,14 +30,13 @@ e.g. "start = 2022-11-09T12:04:00Z", so "end = start + 30 minutes = 2022-11-09T1 To retrieve a series of data points between `2022-10-15T22:32:48Z` and `2022-10-15T23:32:48Z` could use the below command. These data points contain tags: `id` and `entity_id` that belong to a family `default`. They also choose fields: `total` and `value`. ```shell -$ bydbctl measure query -f - <<EOF -metadata: - name: "service_cpm_minute" - group: "sw_metric" +bydbctl measure query -f - <<EOF +name: "service_cpm_minute" +groups: ["measure-minute"] tagProjection: tagFamilies: - - name: "default" - tags: ["id", "entity_id"] + - name: "default" + tags: ["entity_id"] fieldProjection: names: ["total", "value"] timeRange: @@ -46,17 +45,16 @@ timeRange: EOF ``` -The below command could query data in the last 30 minutes using relative time duration : +The below command could query data in the last 10 minutes using relative time duration : ```shell -$ bydbctl measure query --start -30m -f - <<EOF -metadata: - name: "service_cpm_minute" - group: "sw_metric" +bydbctl measure query --start -10m -f - <<EOF +name: "service_cpm_minute" +groups: ["measure-minute"] tagProjection: tagFamilies: - - name: "default" - tags: ["id", "entity_id"] + - name: "default" + tags: ["entity_id"] fieldProjection: names: ["total", "value"] EOF diff --git a/docs/crud/measure/schema.md b/docs/crud/measure/schema.md index 687f019f..9de09086 100644 --- a/docs/crud/measure/schema.md +++ b/docs/crud/measure/schema.md @@ -14,7 +14,7 @@ A measure belongs to a unique group. We should create such a group with a catalo before creating a measure. ```shell -$ bydbctl group create -f - <<EOF +bydbctl group create -f - <<EOF metadata: name: sw_metric catalog: CATALOG_MEASURE @@ -37,7 +37,7 @@ The data in this group will keep 7 days. Then, the below command will create a new measure: ```shell -$ bydbctl measure create -f - <<EOF +bydbctl measure create -f - <<EOF metadata: name: service_cpm_minute group: sw_metric @@ -73,7 +73,7 @@ Get(Read) operation gets a measure's schema. ### Examples of getting ```shell -$ bydbctl measure get -g sw_metric -n service_cpm_minute +bydbctl measure get -g sw_metric -n service_cpm_minute ``` ## Update operation @@ -83,7 +83,7 @@ Update operation changes a measure's schema. ### Examples of updating ```shell -$ bydbctl measure update -f - <<EOF +bydbctl measure update -f - <<EOF metadata: name: service_cpm_minute group: sw_metric @@ -105,7 +105,7 @@ Delete operation removes a measure's schema. ### Examples of deleting ```shell -$ bydbctl measure delete -g sw_metric -n service_cpm_minute +bydbctl measure delete -g sw_metric -n service_cpm_minute ``` ## List operation @@ -115,7 +115,7 @@ The list operation shows all measures' schema in a group. ### Examples of listing ```shell -$ bydbctl measure list -g sw_metric +bydbctl measure list -g sw_metric ``` ## API Reference diff --git a/docs/crud/property.md b/docs/crud/property.md index 526df709..2b2d5804 100644 --- a/docs/crud/property.md +++ b/docs/crud/property.md @@ -17,7 +17,7 @@ A property belongs to a unique group. We should create such a group before creat The group's catalog should be empty. ```shell -$ bydbctl group create -f - <<EOF +bydbctl group create -f - <<EOF metadata: name: sw EOF @@ -26,7 +26,7 @@ EOF Then, below command will create a new property: ```shell -$ bydbctl property apply -f - <<EOF +bydbctl property apply -f - <<EOF metadata: container: group: sw @@ -47,7 +47,7 @@ EOF The operation supports updating partial tags. ```shell -$ bydbctl property apply -f - <<EOF +bydbctl property apply -f - <<EOF metadata: container: group: sw @@ -64,7 +64,7 @@ EOF TTL is supported in the operation. ```shell -$ bydbctl property apply -f - <<EOF +bydbctl property apply -f - <<EOF metadata: container: group: sw @@ -85,13 +85,13 @@ Get operation gets a property. ### Examples of getting ```shell -$ bydbctl property get -g sw -n temp_data --id General-Service +bydbctl property get -g sw -n temp_data --id General-Service ``` The operation could filter data by tags. ```shell -$ bydbctl property get -g sw -n temp_data --id General-Service --tags state +bydbctl property get -g sw -n temp_data --id General-Service --tags state ``` ## Delete operation @@ -101,13 +101,13 @@ Delete operation delete a property. ### Examples of deleting ```shell -$ bydbctl property delete -g sw -n temp_data --id General-Service +bydbctl property delete -g sw -n temp_data --id General-Service ``` The delete operation could remove specific tags instead of the whole property. ```shell -$ bydbctl property delete -g sw -n temp_data --id General-Service --tags state +bydbctl property delete -g sw -n temp_data --id General-Service --tags state ``` ## List operation @@ -117,7 +117,7 @@ List operation lists all properties in a group. ### Examples of listing in a group ```shell -$ bydbctl property list -g sw +bydbctl property list -g sw ``` List operation lists all properties in a group with a name. @@ -125,7 +125,7 @@ List operation lists all properties in a group with a name. ### Examples of listing in a group with a name ```shell -$ bydbctl property list -g sw -n temp_data +bydbctl property list -g sw -n temp_data ``` ## TTL field in a property @@ -137,7 +137,7 @@ This functionality is supported by the lease mechanism. The readonly lease_id fi ### Examples of setting TTL ```shell -$ bydbctl property apply -f - <<EOF +bydbctl property apply -f - <<EOF metadata: container: group: sw @@ -156,14 +156,14 @@ The lease_id is returned in the response. You can use get operation to get the property with the lease_id as well. ```shell -$ bydbctl property get -g sw -n temp_data --id General-Service +bydbctl property get -g sw -n temp_data --id General-Service ``` The lease_id is used to keep the property alive. You can use keepalive operation to keep the property alive. When the keepalive operation is called, the property's TTL will be reset to the original value. ```shell -$ bydbctl property keepalive --lease_id 1 +bydbctl property keepalive --lease_id 1 ``` diff --git a/docs/crud/stream/query.md b/docs/crud/stream/query.md index febbca78..3cf9fc37 100644 --- a/docs/crud/stream/query.md +++ b/docs/crud/stream/query.md @@ -30,14 +30,13 @@ e.g. "start = 2022-11-09T12:04:00Z", so "end = start + 30 minutes = 2022-11-09T1 To retrieve elements in a stream named `sw` between `2022-10-15T22:32:48Z` and `2022-10-15T23:32:48Z` could use the below command. These elements also choose a tag `trace_id` which lives in a family named `searchable`. ```shell -$ bydbctl stream query -f - <<EOF -metadata: - group: "default" - name: "sw" +bydbctl stream query -f - <<EOF +groups: ["stream-segment"] +name: "segment" projection: tagFamilies: - - name: "searchable" - tags: ["trace_id"] + - name: "searchable" + tags: ["trace_id"] timeRange: begin: 2022-10-15T22:32:48+08:00 end: 2022-10-15T23:32:48+08:00 @@ -47,14 +46,13 @@ EOF The below command could query data in the last 30 minutes using relative time duration : ```shell -$ bydbctl stream query --start -30m -f - <<EOF -metadata: - group: "default" - name: "sw" +bydbctl stream query --start -30m -f - <<EOF +groups: ["stream-segment"] +name: "segment" projection: tagFamilies: - - name: "searchable" - tags: ["trace_id"] + - name: "searchable" + tags: ["trace_id"] EOF ``` diff --git a/docs/crud/stream/schema.md b/docs/crud/stream/schema.md index 126c8791..d9375dd5 100644 --- a/docs/crud/stream/schema.md +++ b/docs/crud/stream/schema.md @@ -15,7 +15,7 @@ A stream belongs to a unique group. We should create such a group with a catalog before creating a stream. ```shell -$ bydbctl group create -f - <<EOF +bydbctl group create -f - <<EOF metadata: name: default catalog: CATALOG_STREAM @@ -38,7 +38,7 @@ The data in this group will keep 7 days. Then, below command will create a new stream: ```shell -$ bydbctl stream create -f - <<EOF +bydbctl stream create -f - <<EOF metadata: name: sw group: default @@ -60,7 +60,7 @@ Get(Read) operation get a stream's schema. ### Examples of getting ```shell -$ bydbctl stream get -g default -n sw +bydbctl stream get -g default -n sw ``` ## Update operation @@ -71,7 +71,7 @@ Update operation update a stream's schema. `bydbctl` is the command line tool to update a stream in this example. ```shell -$ bydbctl stream update -f - <<EOF +bydbctl stream update -f - <<EOF metadata: name: sw group: default @@ -95,7 +95,7 @@ Delete operation delete a stream's schema. `bydbctl` is the command line tool to delete a stream in this example. ```shell -$ bydbctl stream delete -g default -n sw +bydbctl stream delete -g default -n sw ``` ## List operation @@ -104,7 +104,7 @@ List operation list all streams' schema in a group. ### Examples of listing ```shell -$ bydbctl stream list -g default +bydbctl stream list -g default ``` ## API Reference diff --git a/docs/guides/quick-start/docker-compose.yaml b/docs/guides/quick-start/docker-compose.yaml index d765c9f1..a88e80fd 100644 --- a/docs/guides/quick-start/docker-compose.yaml +++ b/docs/guides/quick-start/docker-compose.yaml @@ -78,7 +78,7 @@ services: JAVA_TOOL_OPTIONS: -javaagent:/sw-java-agent/agent/skywalking-agent.jar SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800 SW_LOGGING_OUTPUT: CONSOLE - SW_AGENT_NAME: e2e-service-provider + SW_AGENT_NAME: service-provider SW_AGENT_INSTANCE_NAME: provider1 SW_AGENT_COLLECTOR_GET_PROFILE_TASK_INTERVAL: 1 SW_AGENT_COLLECTOR_GET_AGENT_DYNAMIC_CONFIG_INTERVAL: 1 @@ -106,7 +106,7 @@ services: SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap:11800 SW_LOGGING_OUTPUT: CONSOLE PROVIDER_URL: http://provider:9090 - SW_AGENT_NAME: e2e-service-consumer + SW_AGENT_NAME: service-consumer SW_AGENT_INSTANCE_NAME: consumer1 SW_AGENT_COLLECTOR_GET_PROFILE_TASK_INTERVAL: 1 SW_AGENT_COLLECTOR_GET_AGENT_DYNAMIC_CONFIG_INTERVAL: 1 diff --git a/docs/guides/quick-start/quick-start.md b/docs/guides/quick-start/quick-start.md index 36029796..9be2dbe1 100644 --- a/docs/guides/quick-start/quick-start.md +++ b/docs/guides/quick-start/quick-start.md @@ -1,9 +1,124 @@ # Quick Start Tutorial +The following tutorial will guide you through setting up a SkyWalking OAP with BanyanDB as the storage backend using Docker Compose. +It is a quick way to get started with BanyanDB if you are a SkyWalking user and want to try out BanyanDB. -## Set up a cluster with OAP and BanyanDB with docker-compose +## Set up quickstart cluster +- run the following command to start the cluster with OAP and BanyanDB. The docker-compose file is [here](docker-compose.yaml). ```shell docker compose -f ./docker-compose.yaml --project-name=banyandb-quickstart up -d ``` -## todo... +- run the following command to stop the cluster +```shell +docker compose --project-name=banyandb-quickstart down +``` + +## How the cluster works +The above docker-compose file starts a `standalone` BanyanDB with SkyWalking OAP and a traffic loader. The traffic loader sends HTTP requests to the Consumer app, which in turn sends HTTP requests to the Provider app. Both the Consumer and Provider apps have the SkyWalking agent installed. +The telemetry data is sent to the OAP, which stores the data in BanyanDB. The OAP UI can be accessed to view the data stored in BanyanDB. +The following graph shows how the cluster works. + +```mermaid +%% please read this doc in our official website, otherwise the graph is not correctly rendered. +graph LR; + loadgen[traffic_loader] --HTTP Request--> consumer("consumer app (with SkyWalking agent)") --HTTP Request--> provider("provider app (with SkyWalking agent)"); + consumer --telemetry data--> oap("OAP (SkyWalking backend)"); + provider --telemetry data--> oap; + oap --gRPC--> banyandb("BanyanDB"); + oap_ui("SkyWalking UI") --HTTP Request--> oap; +``` + +## Data presentation +### Get into the SkyWalking UI +The UI can be accessed at `http://localhost:8080`. +We can view the final presentation of the metrics/traces/logs/topology for the demo system on the UI dashboards. +The following image shows the `General-Service` service list in the SkyWalking UI: +![skywalking-ui.png](https://skywalking.apache.org/doc-graph/banyandb/v0.7.0/quick-start/skywalking-ui.png) + +note: There is a service `localhost:-1` in the `Virtual-Database` dashboard service list, which belongs to `VIRTUAL_DATABASE` layer. + +### Query the data in BanyanDB +If you interested in the raw data stored in BanyanDB, you can use the BanyanDB embedded UI or BanyanDB CLI(bydbctl) to query the data. + +- BanyanDB embedded UI can be accessed at `http://localhost:17913`. +The following image shows how to query all the services from the BanyanDB: + +![banyandb-ui.png](https://skywalking.apache.org/doc-graph/banyandb/v0.7.0/quick-start/banyandb-ui.png) + +- BanyanDB CLI(bydbctl) can be used to query the data from the command line. +```shell +bydbctl measure query -f - <<EOF +name: "service_traffic_minute" +groups: ["measure-default"] +tagProjection: + tagFamilies: + - name: "default" + tags: ["service_id", "short_name","layer"] +EOF +``` + +We can see the following output: + +```shell +dataPoints: +- fields: [] + sid: "1372594403119019694" + tagFamilies: + - name: default + tags: + - key: service_id + value: + str: + value: c2VydmljZS1jb25zdW1lcg==.1 + - key: short_name + value: + str: + value: service-consumer + - key: layer + value: + int: + value: "2" + timestamp: "2024-07-23T08:10:00Z" + version: "15395932411795" +- fields: [] + sid: "1927510178256660176" + tagFamilies: + - name: default + tags: + - key: service_id + value: + str: + value: c2VydmljZS1wcm92aWRlcg==.1 + - key: short_name + value: + str: + value: service-provider + - key: layer + value: + int: + value: "2" + timestamp: "2024-07-23T08:10:00Z" + version: "15380822193095" +- fields: [] + sid: "5033399348250958164" + tagFamilies: + - name: default + tags: + - key: service_id + value: + str: + value: bG9jYWxob3N0Oi0x.0 + - key: short_name + value: + str: + value: localhost:-1 + - key: layer + value: + int: + value: "14" + timestamp: "2024-07-23T08:10:00Z" + version: "15380811642295" +trace: null +``` + diff --git a/docs/installation/kubernetes.md b/docs/installation/kubernetes.md index 9817118f..e550aec4 100644 --- a/docs/installation/kubernetes.md +++ b/docs/installation/kubernetes.md @@ -1,6 +1,6 @@ # Installation On Kubernetes -To install BanyanDB on Kubernetes, you can use our Helm chart, which simplifies the deployment process. You can find detailed installation instructions in [our official documentation](https://github.com/apache/skywalking-helm/tree/master). +To install BanyanDB on Kubernetes, you can use our Helm chart, which simplifies the deployment process. You can find detailed installation instructions in [our official documentation](https://github.com/apache/skywalking-banyandb-helm/blob/master/README.md). This step-by-step guide assumes you have a basic understanding of Kubernetes and Helm, the package manager for Kubernetes. If you're new to Helm, you might want to familiarize yourself with Helm basics before proceeding. diff --git a/docs/menu.yml b/docs/menu.yml index ff72c0db..539747a0 100644 --- a/docs/menu.yml +++ b/docs/menu.yml @@ -36,12 +36,8 @@ catalog: catalog: - name: "Data Model" path: "/concept/data-model" - - name: "Clustering" - path: "/concept/clustering" - - name: "TSDB" - path: "/concept/tsdb" - name: "Quick Start Tutorial" - path: "/guides/quick-start" + path: "/guides/quick-start/quick-start" - name: "Interacting" catalog: - name: "Clients" @@ -52,6 +48,28 @@ catalog: path: "" - name: "Deleting Data" path: "" + - name: "CRUD Operations" + catalog: + - name: "Group" + path: "/crud/group" + - name: "Measure" + catalog: + - name: "Schema" + path: "/crud/measure/schema" + - name: "Query" + path: "/crud/measure/query" + - name: "Stream" + catalog: + - name: "Schema" + path: "/crud/stream/schema" + - name: "Query" + path: "/crud/stream/query" + - name: "IndexRule" + path: "/crud/index_rule" + - name: "IndexRuleBinding" + path: "/crud/index_rule_binding" + - name: "Property" + path: "/crud/property" - name: "Operation and Maintenance" catalog: - name: "Configure BanyanDB" @@ -82,32 +100,8 @@ catalog: catalog: - name: "v1.1.0" path: "" -# - name: "CRUD Operations" -# catalog: -# - name: "Group" -# path: "/crud/group" -# - name: "Measure" -# catalog: -# - name: "Schema" -# path: "/crud/measure/schema" -# - name: "Query" -# path: "/crud/measure/query" -# - name: "Stream" -# catalog: -# - name: "Schema" -# path: "/crud/stream/schema" -# - name: "Query" -# path: "/crud/stream/query" -# - name: "IndexRule" -# path: "/crud/index_rule" -# - name: "IndexRuleBinding" -# path: "/crud/index_rule_binding" -# - name: "Property" -# path: "/crud/property" - name: "Concepts" catalog: - - name: "Data Model" - path: "/concept/data-model" - name: "Clustering" path: "/concept/clustering" - name: "TSDB"