-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstats-api.graphql
637 lines (502 loc) · 17 KB
/
stats-api.graphql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
"""
The amount of time that the system spent waiting due to downstream blockage. Unit: seconds
"""
type BlockageTimeStatEntry implements StatEntry {
"""
The amount of time that the system spent waiting due to downstream blockage. Unit: seconds
"""
blockageTime: DistributionMetric
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
"""
The `DateTime` scalar type represents a DateTime. The DateTime is serialized as an RFC 3339 quoted string
"""
scalar DateTime
"""The time it took for each pick performed by the robot. Unit: seconds"""
type DirectRobotThroughputStatEntry implements StatEntry {
"""The time it took for each pick performed by the robot. Unit: seconds"""
directRobotThroughput: DistributionMetric
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
"""
The base type for statistics entries that use distribution-related metrics, e.g. speed, weight or execution time.
"""
type DistributionMetric {
"""The mean of the collected values."""
average: Float!
"""The maximum value among the collected values."""
maximum: Float!
"""The minimum value among the collected values."""
minimum: Float!
"""The sum of the collected values."""
sum: Float!
"""The total number of values."""
totalCount: Float!
"""The sample variance of the collected values."""
variance: Float!
}
"""
Number of times an order cycle finish code was received. For example: FinishedOrderComplete, FinishedNoMoreTargetsNotEmpty
"""
type FinishCodeCount {
"""The number of times the event was observed."""
count: Float!
"""
Order cycle finish code. E.g. FinishedOrderComplete, FinishedNoMoreTargetsNotEmpty
"""
finishCode: String!
}
"""
The amount of time that the system has spent without any order requested of it, although production cycle is ready. Also see StarvationTime. Unit: seconds
"""
type IdleTimeStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The amount of time that the system has spent without any order requested of it, although production cycle is ready. Also see StarvationTime. Unit: seconds
"""
idleTime: DistributionMetric
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
"""Meta-information returned by the query."""
type ListMeta {
"""Total number of entries."""
totalCount: Int!
}
"""Optional list query parameters, used to filter returned results."""
input ListOptionsInput {
"""
Filters to be applied to the result, such as "field_subField__in=a,b,c".
"""
filters: [String!]
"""Limit the returned results to first few."""
first: Int
"""
Groupping to be applied to the result, such as ["field_subField", "field2"].
"""
groups: [String!]
"""Offset the returned results, skip amount specified by offset."""
offset: Int
"""
Ordering to be applied to the result, such as ["-field_subField", "field2"].
"""
orders: [String!]
}
type ListStatEntriesReturnValue {
"""Meta-information returned by the query."""
meta: ListMeta
"""A list of statistics entries."""
statEntries: [StatEntry!]!
}
"""Multi-pick related statistics."""
type MultiPickStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""The total number of multi-picking operations."""
numberOfMultiPickOperations: OccurrenceMetric
"""The total number of multi-picked parts."""
numberOfMultiPickedParts: OccurrenceMetric
"""
The number of parts picked per multi-pick operation. Unit: Parts/multipickOperation
"""
numberOfMultiPickedPartsPerOperation: DistributionMetric
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
type NumberOfContainersPerLocation {
"""The number of times the event was observed."""
count: Float!
"""LocationName name"""
locationName: String!
}
"""Number of containers seen per location."""
type NumberOfContainersPerLocationStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""A list of number of containers seen per location."""
numberOfContainersPerLocations: [NumberOfContainersPerLocation!]
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
"""
Number of times that a human intervened (or had to intervene) while production cycle was running.
"""
type NumberOfHumanInterventionsStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""
Number of times that a human intervened (or had to intervene) while production cycle was running.
"""
numberOfHumanInterventions: OccurrenceMetric
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
"""
The total number parts that were picked in a single order request. For a depalletizing system, this is the number of cases per pallet. Unit: part/orderRequest
"""
type NumberOfPickedPartsPerOrderRequestStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""
The total number parts that were picked in a single order request. For a depalletizing system, this is the number of cases per pallet. Unit: part/orderRequest
"""
numberOfPickedPartsPerOrderRequest: DistributionMetric
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
"""Number of robots stops."""
type NumberOfRobotInterruptionsStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""Number of times the robot stopped while executing order cycles."""
numberOfRobotInterruptions: OccurrenceMetric
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
"""
The base type for statistics entries that use occurrence-related metrics, e.g. the number of parts picked or the number of interventions.
"""
type OccurrenceMetric {
"""The number of times the event was observed."""
count: Float!
}
"""
Finish codes of completed order cycles. A finish code may be FinishedOrderComplete or FinishedNoMoreTargetsNotEmpty, for example.
"""
type OrderCycleFinishCodeStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
List of order cycle finish codes. E.g. FinishedOrderComplete, FinishedNoMoreTargetsNotEmpty
"""
finishCodes: [FinishCodeCount!]
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
type PartStatusCount {
"""The number of times the event was observed."""
count: Float!
"""
Pick cycle part status. One of:
- success
- piecelost
- canceled
- torqueerror
- controllererror
- badtrajectorymerge
- executionerror
- grippererror
- droppedoff
- sourceverificationerror
- destverificationerror
- massmismatch
- failedRegistration
- failedReplanAfterRegistration
- registeredFailedToMove
- registeredGraspingModelRejection
- registeredInvalidRegion
- failedFromPrediction
- noNewTargetError
- placedInSourceForRecovery
- placedInSourceDueToBarcode
- failedFromFineDetection
- updatedFromFineDetectionResults
"""
partStatus: String!
}
"""
The Transfer Speed Multiplier (TransferSpeedMult, TSM) in each execution of the order cycle.
This adjusts the speed of the robot for safety when transferring objects that are heavy or difficult to grasp.
"""
type PartTransferSpeedMultiplierStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""Transfer speed multiplier used in an order cycle. Unit: None"""
partTransferSpeedMultiplier: DistributionMetric
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
"""Mass of the part in each execution of the order cycle. Unit: kg"""
type PartWeightStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""Part mass. Unit: kg"""
partWeight: DistributionMetric
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
"""Usage per CPU core"""
type PerCoreUsage {
"""The mean of the collected values."""
average: Float!
"""CPU core id"""
core: Int!
"""The maximum value among the collected values."""
maximum: Float!
"""The minimum value among the collected values."""
minimum: Float!
"""The sum of the collected values."""
sum: Float!
"""The total number of values."""
totalCount: Float!
"""The sample variance of the collected values."""
variance: Float!
}
"""
The number of each execution status that was obtained. This is the result of each pick/place motion of the robot.
"""
type PickCycleExecutionStatusStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""A list of pick cycle execution status codes."""
partStatuses: [PartStatusCount!]
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
type Query {
"""
Lists all or specific types of statistics entries for a given time interval.
"""
ListStatEntries(
"""
The time until which statistics entries are requested. Statistics will be returned including the interval that includes this time.
"""
endedAt: DateTime
"""
The length of the intervals (i.e. the resolution) in which the statistic will be returned. One of:
- minute
- fiveMinutes
- hour
- day
- week
- month
- year
"""
intervalType: String
"""Optional list query parameters, used to filter returned results."""
options: ListOptionsInput
"""
The time from which statistics entries are requested. Statistics will be returned from the interval that includes this time. For example, a request for hourly data starting from 12:30 will return hourly data starting from 12:00.
"""
startedAt: DateTime
"""
The type of statistics entries to list, defaults to list all. One of:
- system
- timeToFirstPick
- timeWaitedForPickContainerToArrive
- idleTime
- blockageTime
- numberOfPickedPartsPerOrderRequest
- partWeight
- partTransferSpeedMultiplier
- multiPick
- pickCycleExecutionStatus
- orderCycleFinishCode
- numberOfHumanInterventions
- systemThroughput
- directRobotThroughput
"""
statTypes: [String!]
): ListStatEntriesReturnValue!
}
"""
The amount of time that the system has spent waiting for containers, pallets, cages, etc. to arrive at the source (pick) location after an order cycle has started. Unit: seconds
"""
type StarvationTimeStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""
The amount of time that the system has spent waiting for containers, pallets, cages, etc. to arrive at the source (pick) location after an order cycle has started. Unit: seconds
"""
starvationTime: DistributionMetric
"""Type of the statistics entry."""
statType: String!
}
"""A statistics entry that covers a certain interval in time"""
interface StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
type SystemCPUStatus {
"""CPU usage in percentage"""
perCoreUsages: [PerCoreUsage!]
"""CPU temperature in celsius"""
temperature: DistributionMetric
"""CPU usage in percentage"""
usage: DistributionMetric
}
type SystemMemoryStatus {
"""Number of bytes available in physical memory"""
available: DistributionMetric
"""Number of bytes in total physical memory"""
total: DistributionMetric
"""Usage percentage"""
usage: DistributionMetric
}
"""System hardware related statistics."""
type SystemStatEntry implements StatEntry {
"""System CPU utilization."""
cpu: SystemCPUStatus
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""System memory utilization."""
memory: SystemMemoryStatus
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
"""
The rate of successfully picked parts over a period of time. This includes all waiting and idle times. Unit: Picks/hour
"""
type SystemThroughputStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""
The rate of successfully picked parts over a period of time. This includes all waiting and idle times. Unit: Picks/hour
"""
numberOfPickedParts: OccurrenceMetric
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
}
"""
The time between the order being received and the moment that the robot starts moving. Unit: seconds
"""
type TimeToFirstPickStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
"""
The time between the order being received and the moment that the robot starts moving. Unit: seconds
"""
timeToFirstPick: DistributionMetric
}
"""
The amount of time that the system has spent waiting for the source (pick) location to move in. Unit: seconds
"""
type TimeWaitedForPickContainerToArriveStatEntry implements StatEntry {
"""Timestamp when the statistics entry bin ends."""
endedAt: DateTime!
"""
The time interval (resolution) that the statistic is given in. Starting from startedAt until endedAt.
"""
intervalType: String!
"""Timestamp when the statistics entry bin starts."""
startedAt: DateTime!
"""Type of the statistics entry."""
statType: String!
"""
The amount of time that the system has spent waiting for the source (pick) location to move in. Unit: seconds
"""
timeWaitedForPickContainerToArrive: DistributionMetric
}