From 1a197c22212377790758a32d733c4d53d8537f8e Mon Sep 17 00:00:00 2001 From: Wu Sheng Date: Mon, 30 Jul 2018 15:08:49 +0800 Subject: [PATCH] Finish GraphQL protocol document. --- docs/en/protocols/README.md | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/docs/en/protocols/README.md b/docs/en/protocols/README.md index 3677d39742..69413b0c0c 100644 --- a/docs/en/protocols/README.md +++ b/docs/en/protocols/README.md @@ -1,9 +1,9 @@ # Protocols There are two types of protocols list here. -- **Probe Protocol**. Include the descriptions and definitions about how agent send collected metric data and traces, also the formats of each entities. +- [**Probe Protocol**](#probe-protocols). Include the descriptions and definitions about how agent send collected metric data and traces, also the formats of each entities. -- **Query Protocol**. The backend provide query capability to SkyWalking own UI and others. These queries are based on GraphQL. +- [**Query Protocol**](#query-protocol). The backend provide query capability to SkyWalking own UI and others. These queries are based on GraphQL. ## Probe Protocols They also related to the probe group, for understand that, look [Concepts and Designs](../concepts-and-designs/README.md) document. @@ -35,4 +35,21 @@ the following key info: 3rd-party instrument protocols are not defined by SkyWalking. They are just protocols/formats, which SkyWalking is compatible and could receive from their existed libraries. SkyWalking starts with supporting Zipkin v1, v2 data formats. -Backend is based on modulization principle, so very easy to extend a new receiver to support new protocol/format. \ No newline at end of file +Backend is based on modulization principle, so very easy to extend a new receiver to support new protocol/format. + +## Query Protocol +Query protocol follows GraphQL grammar, provides data query capabilities, which depends on your analysis metrics. + +There are 5 dimensionality data is provided. +1. Metadata. Metadata includes the brief info of the whole under monitoring services and their instances, endpoints, etc. +Use multiple ways to query this meta data. +1. Metric. Metric query targets all the objects defined in [OAL script](../concepts-and-designs/oal.md). You could get the +metric data in linear or thermodynamic matrix formats based on the aggregation functions in script. +1. Aggregation. Aggregation query means the metric data need a secondary aggregation in query stage, which makes the query +interfaces have some different arguments. Such as, `TopN` list of services is a very typical aggregation query, +metric stream aggregation just calculates the metric values of each service, but the expected list needs ordering metric data +by the values. +1. Trace. Query distributed traces by this. +1. Alarm. Through alarm query, you can have alarm trend and details. + +The actual query GraphQL scrips could be found in [here](../../../apm-protocol/apm-ui-protocol/src/main/resources/ui-graphql-v6). \ No newline at end of file -- GitLab