| # 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. |
| |
| scalar Long |
| |
| schema { |
| query: Query |
| mutation: Mutation |
| } |
| |
| #Root node |
| type Query { |
| version: String |
| } |
| |
| type Mutation { |
| version: String |
| } |
| |
| # String key, String value pair. |
| type KeyValue { |
| key: String! |
| value: String |
| } |
| |
| # String key, Long/Int value pair. |
| type KeyNumericValue { |
| key: String! |
| value: Long! |
| } |
| |
| # The Duration defines the start and end time for each query operation. |
| # Fields: `start` and `end` |
| # represents the time span. And each of them matches the step. |
| # ref https://www.ietf.org/rfc/rfc3339.txt |
| # The time formats are |
| # `SECOND` step: yyyy-MM-dd HHmmss |
| # `MINUTE` step: yyyy-MM-dd HHmm |
| # `HOUR` step: yyyy-MM-dd HH |
| # `DAY` step: yyyy-MM-dd |
| # `MONTH` step: yyyy-MM |
| # Field: `step` |
| # represents the accurate time point. |
| # e.g. |
| # if step==HOUR , start=2017-11-08 09, end=2017-11-08 19 |
| # then |
| # metrics from the following time points expected |
| # 2017-11-08 9:00 -> 2017-11-08 19:00 |
| # there are 11 time points (hours) in the time span. |
| input Duration { |
| start: String! |
| end: String! |
| step: Step! |
| } |
| |
| enum Step { |
| DAY |
| HOUR |
| MINUTE |
| SECOND |
| } |
| |
| enum Order { |
| ASC |
| DES |
| } |
| |
| input Pagination { |
| # pageNum starts in 1, the default is 1. |
| pageNum: Int |
| pageSize: Int! |
| # total is not provided since 9.1.0 |
| # The client side determines the existing of the next page, which should be TRUE when `size of response list` == `pageSize' |
| } |
| |
| enum Language { |
| # For not language based agent, the language is impossible to tell. |
| UNKNOWN |
| JAVA |
| DOTNET |
| NODEJS |
| PYTHON |
| RUBY |
| GO |
| LUA |
| PHP |
| } |
| |
| enum Scope { |
| All |
| Service |
| ServiceInstance |
| Endpoint |
| Process |
| ServiceRelation |
| ServiceInstanceRelation |
| EndpointRelation |
| ProcessRelation |
| } |
| |
| enum DetectPoint { |
| CLIENT |
| SERVER |
| PROXY |
| } |
| |
| type HealthStatus { |
| # 0 means healthy, more than 0 means unhealthy |
| # and less than 0 means oap doesn't startup. |
| score: Int! |
| # some details about the score value. |
| details: String |
| } |
| |
| extend type Query { |
| # Query Health Checker module for the status of OAP server |
| checkHealth: HealthStatus! |
| } |