From 9a43934dde68e5caa93d6999570c320b0d6dc8ad Mon Sep 17 00:00:00 2001 From: Wu Sheng Date: Tue, 12 Feb 2019 11:13:20 +0800 Subject: [PATCH] Support top n record query. --- top-n-records.graphqls | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 top-n-records.graphqls diff --git a/top-n-records.graphqls b/top-n-records.graphqls new file mode 100644 index 0000000..63371c3 --- /dev/null +++ b/top-n-records.graphqls @@ -0,0 +1,40 @@ +# 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. + +# Top N record query is different with aggregation Query. +# Both of query results are top N, but aggregation topN query needs to do aggregation at query stage, +# the top N record query is just do order and get the list. + +# Top N query is based on latency order by given service and metric name. +input TopNRecordsCondition { + serviceId: ID! + metricName: String! + topN: Int! + # Top N order, ASC or DES. + order: Order! +} + +type TopNRecords { + statement: String + latency: Long! + # Have value, Only if the record has the trace id. + # Slow record + traceId: String +} + +extend type Query { + getTopNRecords(condition: TopNRecordsCondition!): [TopNRecords!]! +} -- GitLab