robur-coop / albatross

Albatross: orchestrate and manage MirageOS unikernels with Solo5
ISC License
142 stars 17 forks source link

revise metrics wire format and data #55

Closed hannesm closed 1 year ago

hannesm commented 3 years ago

The current ASN grammar:

stats DEFINITIONS ::=
BEGIN
statistics ::= SEQUENCE {

    resource-usage SEQUENCE {
      utime SEQUENCE {
        seconds OCTET STRING,
        microseconds INTEGER
      },
      stime SEQUENCE {
        seconds OCTET STRING,
        microseconds INTEGER
      },
      maxrss OCTET STRING,
      ixrss OCTET STRING,
      idrss OCTET STRING,
      isrss OCTET STRING,
      minflt OCTET STRING,
      majflt OCTET STRING,
      nswap OCTET STRING,
      inblock OCTET STRING,
      outblock OCTET STRING,
      msgsnd OCTET STRING,
      msgrcv OCTET STRING,
      nsignals OCTET STRING,
      nvcsw OCTET STRING,
      nivcsw OCTET STRING
    },

    ifdata SEQUENCE OF SEQUENCE {
      bridge UTF8String,
      flags INTEGER,
      send-length INTEGER,
      max-send-length INTEGER,
      send-drops INTEGER,
      mtu INTEGER,
      baudrate OCTET STRING,
      input-packets OCTET STRING,
      input-errors OCTET STRING,
      output-packets OCTET STRING,
      output-errors OCTET STRING,
      collisions OCTET STRING,
      input-bytes OCTET STRING,
      output-bytes OCTET STRING,
      input-mcast OCTET STRING,
      output-mcast OCTET STRING,
      input-dropped OCTET STRING,
      output-dropped OCTET STRING
    },

    vmm-stats [0] SEQUENCE OF SEQUENCE {
      key UTF8String,
      value OCTET STRING
    } OPTIONAL,

    kinfo-mem [1] IMPLICIT SEQUENCE {
      bsize OCTET STRING,
      rss OCTET STRING,
      tsize OCTET STRING,
      dsize OCTET STRING,
      ssize OCTET STRING,
      runtime OCTET STRING,
      cow INTEGER,
      start SEQUENCE {
        seconds OCTET STRING,
        microseconds INTEGER
      }
    } OPTIONAL

  }
END

notice

what is interesting to gather from the host system: virtual and resident memory size, CPU usage (in percent and/or total), interface statistics

combine rusage and kinfo-mem, drop vmm-stats.

hannesm commented 1 year ago

now tracked in #129