You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2022/10/17 09:11:42 UTC
[skywalking-query-protocol] 01/01: Add new record query protocol.
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch new-sample-query
in repository https://gitbox.apache.org/repos/asf/skywalking-query-protocol.git
commit 2505559f957eb11e2ea978102ba21fd059742b90
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Mon Oct 17 17:11:35 2022 +0800
Add new record query protocol.
---
metrics-v2.graphqls | 1 +
record.graphqls | 47 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 48 insertions(+)
diff --git a/metrics-v2.graphqls b/metrics-v2.graphqls
index f46f0ca..35be22d 100644
--- a/metrics-v2.graphqls
+++ b/metrics-v2.graphqls
@@ -153,6 +153,7 @@ extend type Query {
readLabeledMetricsValues(condition: MetricsCondition!, labels: [String!]!, duration: Duration!): [MetricsValues!]!
# Heatmap is bucket based value statistic result.
readHeatMap(condition: MetricsCondition!, duration: Duration!): HeatMap
+ # Deprecated since 9.3.0, replaced by readRecords defined in record.graphqls
# Read the sampled records
# TopNCondition#scope is not required.
readSampledRecords(condition: TopNCondition!, duration: Duration!): [SelectedRecord!]!
diff --git a/record.graphqls b/record.graphqls
new file mode 100644
index 0000000..ca5f1cb
--- /dev/null
+++ b/record.graphqls
@@ -0,0 +1,47 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Since 9.3.0
+# Record is a general and abstract type for collected raw data.
+# In the observability, traces and logs have specific and well-defined meanings, and the general records represent other
+# collected records. Such as sampled slow SQL statement, HTTP request raw data(request/response header/body)
+extend type Query {
+ # Query collected records with given metric name and parent entity conditions, and return in the requested order.
+ readRecords(condition: RecordCondition!, duration: Duration!): [Record!]!
+}
+
+input RecordCondition {
+ # Metrics name
+ # The scope of this metric is required to match the scope of the parent entity.
+ name: String!
+ # Follow entity definition description.
+ # The owner of the sampled records
+ parentEntity: Entity!
+ topN: Int!
+ order: Order!
+}
+
+type Record {
+ # Literal string name for visualization
+ name: String!
+ # ID of this record
+ id: ID!
+ # Usually an integer value as this is a metric to measure this entity ID.
+ value: String
+ # Have value, Only if the record has related trace id.
+ # UI should show this as an attached value.
+ refId: ID
+}
\ No newline at end of file