schema/schema.graphql
Rama main · réplica de lectura del repositorio original.
type ActiveRecording {
archiveOnStop: Boolean!
continuous: Boolean!
"Archive the specified Flight Recording"
doArchive: ArchivedRecording
"Delete the specified Flight Recording"
doDelete: ActiveRecording
"Updates the metadata labels for an existing Flight Recording."
doPutMetadata(metadataInput: MetadataLabelsInput): ActiveRecording
"Stop the specified Flight Recording"
doStop: ActiveRecording
"URL for GET request to retrieve the JFR binary file content of this recording"
downloadUrl: String
duration: BigInteger!
id: BigInteger
maxAge: BigInteger!
maxSize: BigInteger!
metadata: Metadata!
name: String!
remoteId: BigInteger!
"URL for GET request to retrieve a JSON formatted Automated Analysis Report of this recording"
reportUrl: String
startTime: BigInteger!
state: RecordingState!
target: Target!
toDisk: Boolean!
}
type ActiveRecordings {
aggregate: RecordingAggregateInfo!
data: [ActiveRecording]!
}
type AnalysisResult {
evaluation: Evaluation
name: String
score: Float!
topic: String
}
type Annotations {
cryostat(
"Get entry/entries for a certain key/s"
key: [String]
): [Entry_String_String]!
platform(
"Get entry/entries for a certain key/s"
key: [String]
): [Entry_String_String]!
}
type ArchivedRecording {
archivedTime: BigInteger!
"Delete an archived recording"
doDelete: ArchivedRecording!
"Update the metadata associated with an archived recording"
doPutMetadata(metadataInput: MetadataLabelsInput): ArchivedRecording!
downloadUrl: String!
jvmId: String!
metadata: Metadata!
name: String!
reportUrl: String!
size: BigInteger!
}
type ArchivedRecordings {
aggregate: RecordingAggregateInfo!
data: [ArchivedRecording]!
}
type AsyncProfile {
duration: BigInteger!
id: String!
size: BigInteger!
startTime: BigInteger!
}
type AsyncProfileAggregateInfo {
"The number of elements in this collection"
count: BigInteger!
"The sum of sizes of elements in this collection, or 0 if not applicable"
size: BigInteger!
}
type AsyncProfiles {
aggregate: AsyncProfileAggregateInfo!
data: [AsyncProfile]!
}
type DiscoveryNode {
children: [DiscoveryNode]
"Get target nodes that are descendants of this node. That is, get the set of leaf nodes from anywhere below this node's subtree."
descendantTargets(filter: DiscoveryNodeFilterInput): [DiscoveryNode]
id: BigInteger
labels(
"Get entry/entries for a certain key/s"
key: [String]
): [Entry_String_String]!
name: String!
nodeType: String!
target: Target
}
type Entry_String_AnalysisResult {
key: String
value: AnalysisResult
}
type Entry_String_String {
key: String
value: String
}
type Evaluation {
explanation: String
solution: String
suggestions: [Suggestion]
summary: String
}
type HeapDump {
"Delete a heap dump"
doDelete: HeapDump!
"Update the metadata for a heap dump"
doPutMetadata(metadataInput: MetadataLabelsInput): HeapDump!
downloadUrl: String!
heapDumpId: String!
jvmId: String!
lastModified: BigInteger!
metadata: Metadata!
size: BigInteger!
}
type HeapDumpAggregateInfo {
"The number of elements in this collection"
count: BigInteger!
"The sum of sizes of elements in this collection, or 0 if not applicable"
size: BigInteger!
}
type HeapDumps {
aggregate: HeapDumpAggregateInfo!
data: [HeapDump]!
}
type MBeanMetrics {
jvmId: String
memory: MemoryMetrics
os: OperatingSystemMetrics
runtime: RuntimeMetrics
thread: ThreadMetrics
}
type MemoryMetrics {
freeHeapMemory: BigInteger!
freeNonHeapMemory: BigInteger!
heapMemoryUsage: MemoryUtilization
heapMemoryUsagePercent: Float!
nonHeapMemoryUsage: MemoryUtilization
objectPendingFinalizationCount: BigInteger!
verbose: Boolean!
}
type MemoryUtilization {
committed: BigInteger!
init: BigInteger!
max: BigInteger!
used: BigInteger!
}
type Metadata {
labels(
"Get entry/entries for a certain key/s"
key: [String]
): [Entry_String_String]!
}
"Mutation root"
type Mutation {
"Archive an existing Flight Recording matching the given filter, on all Targets under the subtrees of the discovery nodes matching the given filter"
archiveRecording(nodes: DiscoveryNodeFilterInput!, recordings: ActiveRecordingsFilterInput): [ArchivedRecording]
"Trigger an async profiler request on all Targets under the subtrees of the discovery nodes matching the given filter"
createAsyncProfile(duration: BigInteger!, events: [String]!, id: String!, nodes: DiscoveryNodeFilterInput!, startTime: BigInteger!): [String]
"Trigger a heap dump on all Targets under the subtrees of the discovery nodes matching the given filter"
createHeapDump(nodes: DiscoveryNodeFilterInput!): [String]
"Start a new Flight Recording on all Targets under the subtrees of the discovery nodes matching the given filter"
createRecording(nodes: DiscoveryNodeFilterInput!, recording: RecordingSettingsInput!): [ActiveRecording]
"Create a Flight Recorder Snapshot on all Targets under the subtrees of the discovery nodes matching the given filter"
createSnapshot(nodes: DiscoveryNodeFilterInput!): [ActiveRecording]
"Trigger a thread dump on all Targets under the subtrees of the discovery nodes matching the given filter"
createThreadDump(nodes: DiscoveryNodeFilterInput!): [String]
"Delete an existing Async Profile matching the given filter, on all Targets under the subtrees of the discovery nodes matching the given filter"
deleteAsyncProfiles(filter: AsyncProfilerFilterInput, nodes: DiscoveryNodeFilterInput!): [AsyncProfile]
"Delete an existing Heap Dump matching the given filter, on all Targets under the subtrees of the discovery nodes matching the given filter"
deleteHeapDump(filter: HeapDumpsFilterInput, nodes: DiscoveryNodeFilterInput!): [HeapDump]
"Delete an existing Flight Recording matching the given filter, on all Targets under the subtrees of the discovery nodes matching the given filter"
deleteRecording(nodes: DiscoveryNodeFilterInput!, recordings: ActiveRecordingsFilterInput): [ActiveRecording]
"Delete an existing Thread Dump matching the given filter, on all Targets under the subtrees of the discovery nodes matching the given filter"
deleteThreadDump(filter: ThreadDumpsFilterInput, nodes: DiscoveryNodeFilterInput!): [ThreadDump]
"Stop an existing Flight Recording matching the given filter, on all Targets under the subtrees of the discovery nodes matching the given filter"
stopRecording(nodes: DiscoveryNodeFilterInput!, recordings: ActiveRecordingsFilterInput): [ActiveRecording]
}
type OperatingSystemMetrics {
arch: String
availableProcessors: Int!
committedVirtualMemorySize: BigInteger!
freePhysicalMemorySize: BigInteger!
freeSwapSpaceSize: BigInteger!
name: String
processCpuLoad: Float!
processCpuTime: BigInteger!
systemCpuLoad: Float!
systemLoadAverage: Float!
totalPhysicalMemorySize: BigInteger!
totalSwapSpaceSize: BigInteger!
version: String
}
"Query root"
type Query {
"List archived recordings"
archivedRecordings(filter: ArchivedRecordingsFilterInput): ArchivedRecordings
"Get all environment nodes in the discovery tree with optional filtering"
environmentNodes(filter: DiscoveryNodeFilterInput): [DiscoveryNode]
"List archived heap dumps"
heapDumps(filter: HeapDumpsFilterInput): HeapDumps
"Get the root target discovery node"
rootNode: DiscoveryNode
"Get the Target discovery nodes, i.e. the leaf nodes of the discovery tree"
targetNodes(
filter: DiscoveryNodeFilterInput,
"Query historical targets from audit log. This is more expensive and should only be used when historical data is needed."
useAuditLog: Boolean = false
): [DiscoveryNode]
"List archived thread dumps"
threadDumps(filter: ThreadDumpsFilterInput): ThreadDumps
"List archived unified logs"
unifiedLogs(filter: UnifiedLogsFilterInput): UnifiedLogs
}
type RecordingAggregateInfo {
"The number of elements in this collection"
count: BigInteger!
"The sum of sizes of elements in this collection, or 0 if not applicable"
size: BigInteger!
}
type Recordings {
"List and optionally filter active recordings belonging to a Target"
active(filter: ActiveRecordingsFilterInput): ActiveRecordings
"List and optionally filter archived recordings belonging to a Target"
archived(filter: ArchivedRecordingsFilterInput): ArchivedRecordings
}
type Report {
aggregate: ReportAggregateInfo!
data(
"Get entry/entries for a certain key/s"
key: [String]
): [Entry_String_AnalysisResult]!
lastUpdated: BigInteger!
}
type ReportAggregateInfo {
"The number of elements in this collection"
count: BigInteger!
"The maximum value in this collection"
max: Float!
}
type RuntimeMetrics {
bootClassPath: String
bootClassPathSupported: Boolean!
classPath: String
inputArguments: [String]
libraryPath: String
managementSpecVersion: String
name: String
specName: String
specVendor: String
specVersion: String
startTime: BigInteger!
systemProperties(
"Get entry/entries for a certain key/s"
key: [String]
): [Entry_String_String]
uptime: BigInteger!
vmName: String
vmVendor: String
vmVersion: String
}
type Suggestion {
name: String
setting: String
value: String
}
type Target {
"Retrieve a list of active recordings currently available on the target"
activeRecordings(filter: ActiveRecordingsFilterInput): ActiveRecordings
agent: Boolean!
alias: String!
annotations: Annotations!
"Retrieve a list of archived recordings belonging to the target"
archivedRecordings(filter: ArchivedRecordingsFilterInput): ArchivedRecordings
"Retrieve a list of async profiles belonging to the target"
asyncProfiles(filter: AsyncProfilerFilterInput): AsyncProfiles
connectUrl: String!
"Create a new Flight Recorder Snapshot on the specified Target"
doSnapshot: ActiveRecording
"Start a new Flight Recording on the specified Target"
doStartRecording(recording: RecordingSettingsInput!): ActiveRecording
"Retrieve a list of heap dumps belonging to the target"
heapDumps(filter: HeapDumpsFilterInput): HeapDumps
id: BigInteger
jvmId: String
labels(
"Get entry/entries for a certain key/s"
key: [String]
): [Entry_String_String]!
"Get live MBean metrics snapshot from the specified Target"
mbeanMetrics: MBeanMetrics
"Get the active and archived recordings belonging to this target"
recordings: Recordings
"""
Retrieve an automated analysis report from the selected target(s). If there is no report currently
available then this request will not cause a report to be generated, and instead it will return an empty
result. Report generation may be an expensive operation, especially if many reports are to be generated at
once, and should not be triggered by broad GraphQL selections.
"""
report(filter: ReportFilterInput): Report
"Retrieve a list of thread dumps belonging to the target"
threadDumps(filter: ThreadDumpsFilterInput): ThreadDumps
"Retrieve a list of unified logs belonging to the target"
unifiedLogs(filter: UnifiedLogsFilterInput): UnifiedLogs
}
type ThreadDump {
"Delete a thread dump"
doDelete: ThreadDump!
"Update the metadata for a thread dump"
doPutMetadata(metadataInput: MetadataLabelsInput): ThreadDump!
downloadUrl: String!
jvmId: String!
lastModified: BigInteger!
metadata: Metadata!
size: BigInteger!
threadDumpId: String!
}
type ThreadDumpAggregateInfo {
"The number of elements in this collection"
count: BigInteger!
"The sum of sizes of elements in this collection, or 0 if not applicable"
size: BigInteger!
}
type ThreadDumps {
aggregate: ThreadDumpAggregateInfo!
data: [ThreadDump]!
}
type ThreadMetrics {
allThreadIds: [BigInteger!]
currentThreadCpuTime: BigInteger!
currentThreadCpuTimeSupported: Boolean!
currentThreadUserTime: BigInteger!
daemonThreadCount: Int!
objectMonitorUsageSupported: Boolean!
peakThreadCount: Int!
synchronizerUsageSupported: Boolean!
threadContentionMonitoringEnabled: Boolean!
threadContentionMonitoringSupported: Boolean!
threadCount: Int!
threadCpuTimeEnabled: Boolean!
threadCpuTimeSupported: Boolean!
totalStartedThreadCount: BigInteger!
}
type UnifiedLog {
"Delete a unified log"
doDelete: UnifiedLog!
downloadUrl: String!
jvmId: String!
lastModified: BigInteger!
metadata: Metadata!
size: BigInteger!
unifiedLogId: String!
}
type UnifiedLogAggregateInfo {
"The number of elements in this collection"
count: BigInteger!
"The sum of sizes of elements in this collection, or 0 if not applicable"
size: BigInteger!
}
type UnifiedLogs {
aggregate: UnifiedLogAggregateInfo!
data: [UnifiedLog]!
}
"Running state of an active Flight Recording"
enum RecordingState {
CLOSED
DELAYED
NEW
RUNNING
STOPPED
}
input ActiveRecordingsFilterInput {
continuous: Boolean
durationMsGreaterThanEqual: BigInteger
durationMsLessThanEqual: BigInteger
labels: [String]
name: String
names: [String]
startTimeMsAfterEqual: BigInteger
startTimeMsBeforeEqual: BigInteger
state: RecordingState
toDisk: Boolean
}
input ArchivedRecordingsFilterInput {
archivedTimeAfterEqual: BigInteger
archivedTimeBeforeEqual: BigInteger
labels: [String]
name: String
names: [String]
sizeBytesGreaterThanEqual: BigInteger
sizeBytesLessThanEqual: BigInteger
sourceTarget: String
}
input AsyncProfilerFilterInput {
name: String
names: [String]
sizeBytesGreaterThanEqual: BigInteger
sizeBytesLessThanEqual: BigInteger
}
input DiscoveryNodeFilterInput {
alias: String
aliases: [String]
annotations: [String]
id: BigInteger
ids: [BigInteger]
jvmId: String
jvmIds: [String]
labels: [String]
name: String
names: [String]
nodeTypes: [String]
targetId: BigInteger
targetIds: [BigInteger]
}
input Entry_String_StringInput {
key: String
value: String
}
input HeapDumpsFilterInput {
archivedTimeAfterEqual: BigInteger
archivedTimeBeforeEqual: BigInteger
labels: [String]
name: String
names: [String]
sizeBytesGreaterThanEqual: BigInteger
sizeBytesLessThanEqual: BigInteger
sourceTarget: String
}
input MetadataLabelsInput {
labels: [Entry_String_StringInput]
}
input RecordingMetadataInput {
labels: [Entry_String_StringInput]
}
input RecordingSettingsInput {
archiveOnStop: Boolean
continuous: Boolean
duration: BigInteger
maxAge: BigInteger
maxSize: BigInteger
metadata: RecordingMetadataInput
name: String!
replace: String
template: String!
templateType: String!
toDisk: Boolean
}
input ReportFilterInput {
id: String
ids: [String]
notId: String
notIds: [String]
notTopic: String
notTopics: [String]
topic: String
topics: [String]
}
input ThreadDumpsFilterInput {
archivedTimeAfterEqual: BigInteger
archivedTimeBeforeEqual: BigInteger
labels: [String]
name: String
names: [String]
sizeBytesGreaterThanEqual: BigInteger
sizeBytesLessThanEqual: BigInteger
sourceTarget: String
}
input UnifiedLogsFilterInput {
archivedTimeAfterEqual: BigInteger
archivedTimeBeforeEqual: BigInteger
labels: [String]
name: String
names: [String]
sizeBytesGreaterThanEqual: BigInteger
sizeBytesLessThanEqual: BigInteger
sourceTarget: String
}