blob: 521a4cec1a267ed986966911856a95586096cb62 [file] [log] [blame]
# 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
}
# String key, String value pair.
type KeyValue {
key: String!
value: 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!
}