/  Yamcs HTTP API  /  Queue  /  Subscribe Queue Statistics

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 {
  instance: string;
  processorName: string;
  name: string;
  state: QueueState;
  nbSentCommands: number;
  nbRejectedCommands: number;
  stateExpirationTimeS: number;
  entry: CommandQueueEntry[];
  order: number;
  users: string[];
  groups: string[];
  minLevel: SignificanceLevelType;
}

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 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",
}

enum SignificanceLevelType {
  NONE = "NONE",
  WATCH = "WATCH",
  WARNING = "WARNING",
  DISTRESS = "DISTRESS",
  CRITICAL = "CRITICAL",
  SEVERE = "SEVERE",
}