Skip to content

Commit

Permalink
update eco tools and metrics (#680)
Browse files Browse the repository at this point in the history
  • Loading branch information
izhuxiaoqing authored Sep 2, 2021
1 parent dca8d80 commit 3692a8d
Show file tree
Hide file tree
Showing 2 changed files with 149 additions and 28 deletions.
160 changes: 141 additions & 19 deletions docs-2.0/20.appendix/6.eco-tool-version.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,164 @@
# Version Description
# Ecosystem tools overview

Different versions of the ecosystem tools support different Nebula Graph kernel versions. This topic introduces the correspondence between the versions of ecosystem tools and the Nebula Graph kernel.
![Nebula Graph birdview](../1.introduction/nebula-birdview.png)

!!! note
!!! compatibility

The kernel release number naming rule is `X.Y.Z`, which means `Major version X`, `Medium version Y`, and `Minor version Z`. The upgrade requirements for the client are:

- Upgrade the kernel from `X.Y.Z1` to `X.Y.Z2`: It means that the kernel is fully forward compatible and is usually used for bugfixes. It is recommended to upgrade the minor version of the kernel as soon as possible. At this time, the client can stay **not upgraded**.

- Upgrade the kernel from `X.Y1.*` to `X.Y2.*`: It means that there is some incompatibility of API, syntax, and return value. It is usually used to add functions, improve performance, and optimize code. The client needs to be upgraded to `X.Y2.*`.

- Upgrade the kernel from `X1.*.*` to `X2.*.*`: It means that there is a major incompatibility in storage formats, API, syntax, etc. You need to use tools to upgrade the kernel data. The client must be upgraded.

- The default kernel and client do not support downgrade: You cannot downgrade from `X.Y.Z2` to `X.Y.Z1`.

- The release cycle of a `Y` version is about 6 months, and its maintenance and support cycle is 6 months.

- The version released at the beginning of the year is usually named `X.0.0`, and in the middle of the year, it is named `X.5.0`.

- The file name contains `RC` to indicate an unofficial version (`Release Candidate`) that is only used for preview. Its maintenance period is only until the next RC or official version is released. Its client, data compatibility, etc. are not guaranteed.

- The files with `nightly`, `SNAPSHOT`, or date are the nightly versions. There is no quality assurance and maintenance period.

!!! compatibility

All ecosystem tools of 1.x did not support Nebula Graph 2.x kernel.

## Nebula Studio
## Nebula Graph Studio

Nebula Graph Studio (Studio for short) is a graph database visualization tool that can be accessed through the Web. It can be used with Nebula Graph DBMS to provide one-stop services such as composition, data import, writing nGQL queries, and graph exploration. For details, see [What is Nebula Graph Studio](../nebula-studio/about-studio/st-ug-what-is-graph-studio.md).

!!! Note

The release of the Studio is independent of Nebula Graph kernel, and its naming method is also not the same as the kernel naming rules. The compatible relationship between them is as follows.

|Studio version|Nebula Graph version|
|Nebula Graph|Studio (commit id)|
|:---|:---|
| 2.2.0 | 2.0.0 |
| 2.2.0 | 2.0.1 |
| {{ nebula.release }} | {{studio.base300}}(9e2a120)|

## Nebula Graph Dashboard

Nebula Graph Dashboard (Dashboard for short) is a visualization tool for monitoring the status of machines and services in the Nebula Graph cluster. For details, see [What is Nebula Graph Dashboard](../nebula-dashboard/1.what-is-dashboard.md).

|Nebula Graph version|Dashboard version (commit id)|
|:---|:---|
| {{ nebula.release }} | {{dashboard.release}}(49ab1bc) |

## Nebula Graph Explorer

Nebula Graph Explorer (Explorer for short) is a graph exploration visualization tool that can be accessed through the Web. It is used with the Nebula Graph kernel to visualize interaction with graph data. Users can quickly become map experts, even without experience in map data manipulation. For details, see [What is Nebula Graph Explorer](../nebula-explorer/about-explorer/ex-ug-what-is-explorer.md).

|Nebula Graph version|Explorer version (commit id)|
|:---|:---|
| {{ nebula.release }} | {{explorer.base100}}(3b82142) |

## Nebula Exchange

|Exchange version|Nebula Graph version|
Nebula Exchange (Exchange for short) is an Apache Spark&trade application for batch migration of data in a cluster to Nebula Graph in a distributed environment. It can support the migration of batch data and streaming data in a variety of different formats. For details, see [What is Nebula Exchange](../nebula-exchange/about-exchange/ex-ug-what-is-exchange.md).

|Nebula Graph version|[Exchange](https://github.com/vesoft-inc/nebula-spark-utils/tree/{{exchange.branch}}/nebula-exchange) version (commit id)|
|:---|:---|
| 2.0.0 | 2.0.0 |
| 2.0.0 | 2.0.1 |
| {{ nebula.release }} | {{exchange.release}}(3c0f4c6) |

## Nebula Importer

|Importer version|Nebula Graph version|
Nebula Importer (Importer for short) is a CSV file import tool for Nebula Graph. The Importer can read the local CSV file, and then import the data into the Nebula Graph database. For details, see [What is Nebula Importer](../nebula-importer/use-importer.md).

|Nebula Graph version|[Importer](https://github.com/vesoft-inc/nebula-importer/tree/{{importer.branch}}) version(commit id)|
|:---|:---|
| 2.0.0 | 2.0.0 |
| 2.0.0 | 2.0.1 |
| {{ nebula.release }} | {{importer.release}}(5c7417d) |

## Nebula Spark Connector

|Spark Connector version|Nebula Graph version|
Nebula Spark Connector is a Spark connector that provides the ability to read and write Nebula Graph data in the Spark standard format. Nebula Spark Connector consists of two parts, Reader and Writer. For details, see [What is Nebula Spark Connector](../nebula-spark-connector.md).

|Nebula Graph version|[Spark Connector](https://github.com/vesoft-inc/nebula-spark-utils/tree/{{sparkconnector.branch}}/nebula-spark-connector) version (commit id)|
|:---|:---|
| 2.0.0 | 2.0.0 |
| 2.0.0 | 2.0.1 |
| {{ nebula.release }} | {{sparkconnector.release}}(3c0f4c6) |

## Nebula Flink Connector

|Flink Connector version|Nebula Graph version|
Nebula Flink Connector is a connector that helps Flink users quickly access Nebula Graph. It supports reading data from the Nebula Graph database or writing data read from other external data sources to the Nebula Graph database. For details, see [What is Nebula Flink Connector](../nebula-flink-connector.md).

|Nebula Graph version|[Flink Connector](https://github.com/vesoft-inc/nebula-flink-connector/tree/{{flinkconnector.branch}}) version (commit id)|
|:---|:---|
| {{ nebula.release }} | {{flinkconnector.release}}(49b8f3d) |

## Nebula Algorithm

Nebula Algorithm (Algorithm for short) is a Spark application based on [GraphX](https://spark.apache.org/graphx/), which uses a complete algorithm tool to analyze data in the Nebula Graph database by submitting a Spark task To perform graph computing, use the algorithm under the lib repository through programming to perform graph computing for DataFrame. For details, see [What is Nebula Algorithm](../nebula-algorithm.md).

|Nebula Graph version|[Algorithm](https://github.com/vesoft-inc/nebula-spark-utils/tree/{{algorithm.branch}}/nebula-algorithm) version (commit id)|
|:---|:---|
| {{ nebula.release }} | {{algorithm.release}}(3c0f4c6) |

## Nebula Console

Nebula Console is the native CLI client of Nebula Graph. For how to use it, see [Connect Nebula Graph](../2.quick-start/3.connect-to-nebula-graph.md).

|Nebula Graph version|[Console](https://github.com/vesoft-inc/nebula-console) version (commit id)|
|:---|:---|
| 2.0.0 | 2.0.0 |
| 2.0.0 | 2.0.1 |
| {{ nebula.release }} | {{console.release}}(3ce5151) |

## Nebula Docker Compose

Docker Compose can quickly deploy Nebula Graph clusters. For how to use it, please refer to [Docker Compose Deployment Nebula Graph](../4.deployment-and-installation/2.compile-and-install-nebula-graph/3.deploy-nebula-graph-with-docker-compose.md ).

|Nebula Graph version|[Docker Compose](https://github.com/vesoft-inc/nebula-docker-compose/tree/master) version (commit id)|
|:---|:---|
| {{ nebula.release }} | {{dockercompose.release}}(d42231f) |

<!--
## Backup & Restore
[Backup&Restore](https://github.com/vesoft-inc/nebula-br) (BR for short) is a command line interface (CLI) tool that can help back up the graph space data of Nebula Graph, or restore it through a backup file data.
|Nebula Graph version|[Backup&Restore](https://github.com/vesoft-inc/nebula-br) version (commit id)|
|:---|:---|
| {{ nebula.release }} | {{br.release}} (TODO:coding) |
-->

## Nebula Bench

[Nebula Bench](https://github.com/vesoft-inc/nebula-bench) is used to test the baseline performance data of Nebula Graph. It uses the standard data set of LDBC v0.3.3.

|Nebula Graph version|[Nebula Bench](https://github.com/vesoft-inc/nebula-bench) version (commit id)|
|:---|:---|
| {{ nebula.release }} | {{bench.release}}(661f871) |

## API, SDK

!!! compatibility

Select the latest version of `X.Y.*` which is the same as the kernel version.

|Nebula Graph version| Language (commit id) |
|:---| :--- |
| {{ nebula.release }}| [C++](https://github.com/vesoft-inc/nebula-cpp)(00e2625) |
| {{ nebula.release }}| [Go](https://github.com/vesoft-inc/nebula-go/tree/{{go.branch}})(8a1495a) |
| {{ nebula.release }}| [Python](https://github.com/vesoft-inc/nebula-python)(98e08e4) |
| {{ nebula.release }}| [Java Client](https://github.com/vesoft-inc/nebula-java/tree/{{java.branch}})(0fbc3c6) |

## Unpublished

- API

-[Rust Client](https://github.com/vesoft-inc/nebula-rust)

-[Node.js Client](https://github.com/vesoft-inc/nebula-node)

-[HTTP Client](https://github.com/vesoft-inc/nebula-http-gateway)

-[Object Graph Mapping Library (OGM, or ORM)] Java, Python (TODO: in design)

- Monitoring

-[Promethus connector](https://github.com/vesoft-inc/nebula-stats-exporter)

-[Graph Computing] (TODO: in coding)

- Test

-[Chaos Test](https://github.com/vesoft-inc/nebula-chaos)
17 changes: 8 additions & 9 deletions docs-2.0/6.monitor-and-metrics/1.query-performance-metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,20 @@ Nebula Graph supports querying the monitoring metrics through HTTP ports.

## Metrics

Each metric of Nebula Graph consists of three fields: name, type, and time range. The fields are separated by periods, for example, `num_queries.sum.600`. The detailed description is as follows.
Each metric of Nebula Graph consists of three fields: name, type, and time range. The fields are separated by periods, for example, `num_queries.sum.600`. Different Nebula Graph services (Graph, Storage, or Meta) support different metrics. The detailed description is as follows.

|Field|Example|Description|
|-|-|-|
|Metric name|`num_queries`|Indicates the function of the metric.|
|Metric type|`sum`|Indicates how the metrics are collected. Supported types are SUM, COUNT, AVG, RATE, and the P-th sample quantiles such as P75, P95, P99, and P99.9.|
|Time range|`600`|The time range in seconds for the metric collection. Supported values are 5, 60, 600, and 3600, representing the last 5 seconds, 1 minute, 10 minutes, and 1 hour.|

Different Nebula Graph services (Graph, Storage, or Meta) support different metrics, for more information, see Metric list (TODO: doc).

## Query metrics over HTTP

### Syntax

```bash
$ curl -G "http://<ip>:<port>/stats?stats=<metric_name_list>[&format=json]"
curl -G "http://<ip>:<port>/stats?stats=<metric_name_list> [&format=json]"
```

|Parameter|Description|
Expand All @@ -33,11 +31,11 @@ $ curl -G "http://<ip>:<port>/stats?stats=<metric_name_list>[&format=json]"

If Nebula Graph is deployed with [Docker Compose](../2.quick-start/2.deploy-nebula-graph-with-docker-compose.md), run `docker-compose ps` to check the ports that are mapped from the service ports inside of the container and then query through them.

### Example
### Examples

* Query a single metric

Query the query number in the last 10 minutes in the Graph Service.
Query the query number in the last 10 minutes in the Graph Service.

```bash
$ curl -G "http://192.168.8.40:19669/stats?stats=num_queries.sum.600"
Expand All @@ -46,7 +44,8 @@ $ curl -G "http://<ip>:<port>/stats?stats=<metric_name_list>[&format=json]"

* Query multiple metrics

Query the following metrics together:
Query the following metrics together:

* The average heartbeat latency in the last 1 minute.
* The average latency of the slowest 1% heartbeats, i.e., the P99 heartbeats, in the last 10 minutes.

Expand All @@ -58,7 +57,7 @@ $ curl -G "http://<ip>:<port>/stats?stats=<metric_name_list>[&format=json]"

* Return a JSON result.

Query the number of new vertices in the Storage Service in the last 10 minutes and return the result in the JSON format.
Query the number of new vertices in the Storage Service in the last 10 minutes and return the result in the JSON format.

```bash
$ curl -G "http://192.168.8.40:19779/stats?stats=num_add_vertices.sum.600&format=json"
Expand All @@ -67,7 +66,7 @@ $ curl -G "http://<ip>:<port>/stats?stats=<metric_name_list>[&format=json]"

* Query all metrics in a service.

If no metric is specified in the query, Nebula Graph returns all metrics in the service.
If no metric is specified in the query, Nebula Graph returns all metrics in the service.

```bash
$ curl -G "http://192.168.8.40:19559/stats"
Expand Down

0 comments on commit 3692a8d

Please sign in to comment.