Yamcs HTTP API
- Activities
- Alarms
- Audit
- Buckets
- Clearance
- Commands
- COP-1
- Database
- Events
- File Transfer
- IAM
- Indexes
- Instances
- Links
- MDB Override
- MDB
- Packets
- Parameter Archive
- Parameter Lists
- Parameter Values
- Processing
- Queues
- Replication
- RocksDB
- Server
- Services
- Sessions
- Stream Archive
- Table
- Time Correlation
- Time
- Timeline
Related
Yamcs Release Notes
Yamcs Server Manual
Source Code Documentation
Download this Document
Subscribe Queue StatisticsΒΆ
Receive updates on queue stats
WebSocket
This method requires to upgrade an HTTP connection to WebSocket. See details on how Yamcs uses WebSocket.
Use the message type queue-stats
.
Input Type
interface SubscribeQueueStatisticsRequest {
// Yamcs instance name.
instance: string;
// Processor name.
processor: string;
}
Output Type
interface CommandQueueInfo {
// Yamcs instance name
instance: string;
// Processor name
processorName: string;
// Command queue name
name: string;
// Current queue state
state: QueueState;
// Submitted commands are matches to the first queue that
// whose filter criteria (if any) match the command's
// features. Queues are considered in the order specified by
// this field, going from lowest to highest.
order: number;
// This queue only considers commands that are issued
// by one of the users in this list.
//
// If the list is empty, all commands are considered.
//
// Note that users/groups are considered at the same time
// (a match with any of the two is sufficient).
users: string[];
// This queue only considers commands that are issued
// by one of the users who belongs to any of these groups.
//
// If the list is empty, all commands are considered.
//
// Note that users/groups are considered at the same time
// (a match with any of the two is sufficient).
groups: string[];
// This queue only considers commands that are at least
// as significant as this level.
minLevel: SignificanceLevelType;
// This queue only considers commands whose qualified name
// matches any of the regular expressions in this list.
//
// If the list is empty, all commands are considered.
tcPatterns: string[];
// Currently pending (queued) commands
entries: CommandQueueEntry[];
// Number of commands that successfully passed through this queue.
acceptedCommandsCount: number;
// Number of commands that were rejected by this queue.
rejectedCommandsCount: number;
}
Related Types
//One entry (command) in the command queue
interface CommandQueueEntry {
instance: string;
processorName: string;
queueName: string;
id: string;
origin: string;
sequenceNumber: number;
commandName: string;
assignments: CommandAssignment[];
binary: string; // Base64
username: string;
comment: string;
generationTime: string; // RFC 3339 timestamp
// If true, the command has been accepted and is due for release
// as soon as transmission constraints are satisfied.
pendingTransmissionConstraints: boolean;
}
interface CommandAssignment {
name: string;
value: Value;
userInput: boolean;
}
// Union type for storing a value
interface Value {
type: Type;
floatValue: number;
doubleValue: number;
sint32Value: number;
uint32Value: number;
binaryValue: string; // Base64
stringValue: string;
timestampValue: string; // String decimal
uint64Value: string; // String decimal
sint64Value: string; // String decimal
booleanValue: boolean;
aggregateValue: AggregateValue;
arrayValue: Value[];
}
// An aggregate value is an ordered list of (member name, member value).
// Two arrays are used in order to be able to send just the values (since
// the names will not change)
interface AggregateValue {
name: string[];
value: Value[];
}
enum QueueState {
BLOCKED = "BLOCKED",
DISABLED = "DISABLED",
ENABLED = "ENABLED",
}
enum SignificanceLevelType {
NONE = "NONE",
WATCH = "WATCH",
WARNING = "WARNING",
DISTRESS = "DISTRESS",
CRITICAL = "CRITICAL",
SEVERE = "SEVERE",
}
enum Type {
FLOAT = "FLOAT",
DOUBLE = "DOUBLE",
UINT32 = "UINT32",
SINT32 = "SINT32",
BINARY = "BINARY",
STRING = "STRING",
TIMESTAMP = "TIMESTAMP",
UINT64 = "UINT64",
SINT64 = "SINT64",
BOOLEAN = "BOOLEAN",
AGGREGATE = "AGGREGATE",
ARRAY = "ARRAY",
// Enumerated values have both an integer (sint64Value) and a string representation
ENUMERATED = "ENUMERATED",
NONE = "NONE",
}