| # 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. |
| |
| # Legacy metrics query protocol |
| # Replaced by the metrics-v2 in the future |
| |
| # 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! |
| duration: Duration! |
| } |
| |
| type TopNRecord { |
| statement: String |
| latency: Long! |
| # Have value, Only if the record has the trace id. |
| # Slow record |
| traceId: String |
| } |
| |
| extend type Query { |
| getTopNRecords(condition: TopNRecordsCondition!): [TopNRecord!]! |
| } |