91 lines
1.8 KiB
GraphQL
91 lines
1.8 KiB
GraphQL
# The list of traces
|
|
type TraceBrief {
|
|
traces: [BasicTrace!]!
|
|
total: Int!
|
|
}
|
|
|
|
# Trace basic info
|
|
type BasicTrace {
|
|
operationName: String!
|
|
duration: Int!
|
|
start: String!
|
|
isError: Boolean
|
|
traceId: String
|
|
}
|
|
|
|
# Represent the conditions used for query TraceBrief
|
|
input TraceQueryCondition {
|
|
applicationCodes: [String!]
|
|
traceId: String
|
|
operationName: String
|
|
# The time range of traces started
|
|
queryDuration: Duration
|
|
# The mix time of trace
|
|
minTraceDuration: Int
|
|
# The max time of trace
|
|
maxTraceDuration: Int
|
|
paging: Pagination!
|
|
}
|
|
|
|
enum QueryOrder {
|
|
BY_START_TIME
|
|
BY_DURATION
|
|
}
|
|
|
|
# The trace represents a distributed trace, includes all segments and spans.
|
|
type Trace {
|
|
spans: [Span!]!
|
|
}
|
|
|
|
type Span {
|
|
traceId: ID!
|
|
segmentId: ID!
|
|
spanId: Int!
|
|
refs: [Ref!]!
|
|
startTime: Long!
|
|
endTime: Long!
|
|
operationName: String
|
|
# There are three span types: Local, Entry and Exit
|
|
type: String!
|
|
# Peer network id, e.g. host+port, ip+port
|
|
peer: String
|
|
component: String
|
|
isError: Boolean
|
|
# There are 5 layers: Unknown, Database, RPCFramework, Http, MQ and Cache
|
|
layer: String
|
|
tags: [KeyValue!]!
|
|
logs: [LogEntity!]!
|
|
}
|
|
|
|
# Ref represents the link between the segment and its parents.
|
|
# The parent(ref) may not exists, which means batch process.
|
|
# The UI should display a list, representing the other trace IDs.
|
|
type Ref {
|
|
traceId: ID!
|
|
parentSegmentId: ID!
|
|
parentSpanId: Int!
|
|
# Ref type represents why did the ref happen.
|
|
# Include: 1) CrossProcess 2) CrossThread
|
|
type: RefType!
|
|
}
|
|
|
|
enum RefType {
|
|
CROSS_PROCESS,
|
|
CROSS_THREAD
|
|
}
|
|
|
|
type KeyValue {
|
|
key: String!
|
|
value: String
|
|
}
|
|
|
|
type LogEntity {
|
|
time: String
|
|
data: [KeyValue!]
|
|
}
|
|
|
|
extend type Query {
|
|
queryBasicTraces(condition: TraceQueryCondition): TraceBrief
|
|
queryTrace(traceId: ID!): Trace
|
|
}
|