# 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. schema { query: Query mutation: Mutation } #Root node type Query { version: String } type Mutation { version: String } # 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! # default false needTotal: Boolean } 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 ServiceRelation ServiceInstanceRelation EndpointRelation } 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! }