Skip to content

Commit a58d641

Browse files
committed
add graphql query documentation
1 parent 3727522 commit a58d641

File tree

4 files changed

+28
-0
lines changed

4 files changed

+28
-0
lines changed

schema/schema.graphql

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ type Annotations {
5050

5151
type ArchivedRecording {
5252
archivedTime: BigInteger!
53+
"Delete an archived recording"
5354
doDelete: ArchivedRecording!
55+
"Update the metadata associated with an archived recording"
5456
doPutMetadata(metadataInput: MetadataLabelsInput): ArchivedRecording!
5557
downloadUrl: String
5658
jvmId: String
@@ -160,6 +162,7 @@ type OperatingSystemMetrics {
160162

161163
"Query root"
162164
type Query {
165+
"List archived recordings"
163166
archivedRecordings(filter: ArchivedRecordingsFilterInput): ArchivedRecordings
164167
"Get all environment nodes in the discovery tree with optional filtering"
165168
environmentNodes(filter: DiscoveryNodeFilterInput): [DiscoveryNode]
@@ -177,7 +180,9 @@ type RecordingAggregateInfo {
177180
}
178181

179182
type Recordings {
183+
"List and optionally filter active recordings belonging to a Target"
180184
active(filter: ActiveRecordingsFilterInput): ActiveRecordings
185+
"List and optionally filter archived recordings belonging to a Target"
181186
archived(filter: ArchivedRecordingsFilterInput): ArchivedRecordings
182187
}
183188

@@ -226,10 +231,12 @@ type Suggestion {
226231
}
227232

228233
type Target {
234+
"Retrieve a list of active recordings currently available on the target"
229235
activeRecordings(filter: ActiveRecordingsFilterInput): ActiveRecordings
230236
agent: Boolean!
231237
alias: String!
232238
annotations: Annotations!
239+
"Retrieve a list of archived recordings belonging to the target"
233240
archivedRecordings(filter: ArchivedRecordingsFilterInput): ArchivedRecordings
234241
connectUrl: String!
235242
"Create a new Flight Recorder Snapshot on the specified Target"
@@ -246,6 +253,12 @@ type Target {
246253
mbeanMetrics: MBeanMetrics
247254
"Get the active and archived recordings belonging to this target"
248255
recordings: Recordings
256+
"""
257+
Retrieve an automated analysis report from the selected target(s). If there is no report currently
258+
available then this request will not cause a report to be generated, and instead it will return an empty
259+
result. Report generation may be an expensive operation, especially if many reports are to be generated at
260+
once, and should not be triggered by broad GraphQL selections.
261+
"""
249262
report: Report
250263
}
251264

src/main/java/io/cryostat/graphql/ActiveRecordings.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,7 @@ public ArchivedRecording doArchive(@Source ActiveRecording recording) throws Exc
265265
return recordingHelper.archiveRecording(ar, null);
266266
}
267267

268+
@Description("List and optionally filter active recordings belonging to a Target")
268269
public TargetNodes.ActiveRecordings active(
269270
@Source Recordings recordings, ActiveRecordingsFilter filter) {
270271
var out = new TargetNodes.ActiveRecordings();

src/main/java/io/cryostat/graphql/ArchivedRecordings.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
3232
import io.smallrye.graphql.api.Nullable;
3333
import jakarta.inject.Inject;
34+
import org.eclipse.microprofile.graphql.Description;
3435
import org.eclipse.microprofile.graphql.GraphQLApi;
3536
import org.eclipse.microprofile.graphql.NonNull;
3637
import org.eclipse.microprofile.graphql.Query;
@@ -42,6 +43,7 @@ public class ArchivedRecordings {
4243
@Inject RecordingHelper recordingHelper;
4344

4445
@Query("archivedRecordings")
46+
@Description("List archived recordings")
4547
public TargetNodes.ArchivedRecordings listArchivedRecordings(ArchivedRecordingsFilter filter) {
4648
var r = new TargetNodes.ArchivedRecordings();
4749
r.data =
@@ -54,6 +56,7 @@ public TargetNodes.ArchivedRecordings listArchivedRecordings(ArchivedRecordingsF
5456
return r;
5557
}
5658

59+
@Description("List and optionally filter archived recordings belonging to a Target")
5760
public TargetNodes.ArchivedRecordings archived(
5861
@Source Recordings recordings, ArchivedRecordingsFilter filter) {
5962
var out = new TargetNodes.ArchivedRecordings();
@@ -71,12 +74,14 @@ public TargetNodes.ArchivedRecordings archived(
7174
}
7275

7376
@NonNull
77+
@Description("Delete an archived recording")
7478
public ArchivedRecording doDelete(@Source ArchivedRecording recording) {
7579
recordingHelper.deleteArchivedRecording(recording.jvmId(), recording.name());
7680
return recording;
7781
}
7882

7983
@NonNull
84+
@Description("Update the metadata associated with an archived recording")
8085
public ArchivedRecording doPutMetadata(
8186
@Source ArchivedRecording recording, MetadataLabels metadataInput) {
8287
recordingHelper.updateArchivedRecordingMetadata(

src/main/java/io/cryostat/graphql/TargetNodes.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ public List<DiscoveryNode> getTargetNodes(DiscoveryNodeFilter filter) {
7979
}
8080

8181
@Transactional
82+
@Description("Retrieve a list of active recordings currently available on the target")
8283
public ActiveRecordings activeRecordings(
8384
@Source Target target, @Nullable ActiveRecordingsFilter filter) {
8485
var fTarget = Target.getTargetById(target.id);
@@ -93,6 +94,7 @@ public ActiveRecordings activeRecordings(
9394
return recordings;
9495
}
9596

97+
@Description("Retrieve a list of archived recordings belonging to the target")
9698
public ArchivedRecordings archivedRecordings(
9799
@Source Target target, @Nullable ArchivedRecordingsFilter filter) {
98100
var fTarget = Target.getTargetById(target.id);
@@ -107,6 +109,13 @@ public ArchivedRecordings archivedRecordings(
107109
return recordings;
108110
}
109111

112+
@Description(
113+
"""
114+
Retrieve an automated analysis report from the selected target(s). If there is no report currently
115+
available then this request will not cause a report to be generated, and instead it will return an empty
116+
result. Report generation may be an expensive operation, especially if many reports are to be generated at
117+
once, and should not be triggered by broad GraphQL selections.
118+
""")
110119
public Uni<Report> report(@Source Target target) {
111120
var fTarget = Target.getTargetById(target.id);
112121
return reportAggregator

0 commit comments

Comments
 (0)