/  Yamcs HTTP API  /  Server  /  Subscribe System Info

Subscribe System InfoΒΆ

Receive system info updates

WebSocket

This method requires to upgrade an HTTP connection to WebSocket. See details on how Yamcs uses WebSocket.

Use the message type sysinfo.

Output Type

interface SystemInfo {

  // Yamcs version number.
  yamcsVersion: string;

  // Git revision number at build time.
  revision: string;

  // Server identifier, as used in system parameters and distributed setups.
  serverId: string;

  // Uptime of Yamcs in milliseconds
  uptime: string;  // String decimal

  // Java virtual machine implementation name, version and vendor
  jvm: string;

  // Working directory of Yamcs (base path for relative references)
  workingDirectory: string;

  // Directory where configuration files are located.
  configDirectory: string;

  // Directory where Yamcs data is stored.
  dataDirectory: string;

  // Directory where Yamcs may cache files.
  cacheDirectory: string;

  // Operating system name and version.
  os: string;

  // Operating system architecture.
  arch: string;

  // Number of processors available to Yamcs.
  availableProcessors: number;

  // System load average for the last minute.
  loadAverage: number;

  // Amount of memory in bytes of the heap that is used for object allocation and that is committed for the JVM to use.
  heapMemory: string;  // String decimal

  // Amount of used heap memory in bytes.
  usedHeapMemory: string;  // String decimal

  // Maximum amount of heap memory in bytes that can be used for memory management.
  maxHeapMemory: string;  // String decimal

  // Amount of non-heap memory in bytes that is committed for the JVM to use.
  nonHeapMemory: string;  // String decimal

  // Amount of non-heap used memory in bytes.
  usedNonHeapMemory: string;  // String decimal

  // Maximum amount of non-heap memory in bytes that can be used for memory management.
  maxNonHeapMemory: string;  // String decimal

  // Number of active threads.
  jvmThreadCount: string;  // String decimal

  // Root directories, each corresponding to a distinct file hierarchy.
  rootDirectories: RootDirectory[];

  // Information about the Yamcs process and any descendants.
  process: ProcessInfo;
}

Related Types

interface RootDirectory {

  // Root directory location.
  directory: string;

  // The type of the file store where this root directory is located.
  type: string;

  // Size in bytes of the file store where this root directory is located.
  totalSpace: string;  // String decimal

  // Number of unallocated bytes in the file store where this root directory
  // is located.
  unallocatedSpace: string;  // String decimal

  // Number of bytes available to Yamcs on the file store where this root
  // directory is located.
  usableSpace: string;  // String decimal
}

interface ProcessInfo {

  // Native process ID.
  pid: string;  // String decimal

  // User of the process.
  user: string;

  // Executable pathname of the process.
  command: string;

  // Arguments of the process.
  arguments: string[];

  // Start time of the process.
  startTime: string;  // RFC 3339 timestamp

  // Accumulated total cputime.
  totalCpuDuration: string; // Duration in seconds. Example: "3s" or "3.001s"

  // Direct children of the process.
  children: ProcessInfo[];
}