An error occurred while loading the file. Please try again.
  • Mahmood Ali's avatar
    Populate alloc stats API with device stats · 58cbafe9
    Mahmood Ali authored
    This change makes few compromises:
    
    * Looks up the devices associated with tasks at look up time.  Given
    that `nomad alloc status` is called rarely generally (compared to stats
    telemetry and general job reporting), it seems fine.  However, the
    lookup overhead grows bounded by number of `tasks x total-host-devices`,
    which can be significant.
    
    * `client.Client` performs the task devices->statistics lookup.  It
    passes self to alloc/task runners so they can look up the device statistics
    allocated to them.
      * Currently alloc/task runners are responsible for constructing the
    entire RPC response for stats
      * The alternatives for making task runners device statistics aware
    don't seem appealing (e.g. having task runners contain reference to hostStats)
    
    * On the alloc aggregation resource usage, I did a naive merging of task device statistics.
      * Personally, I question the value of such aggregation, compared to
    costs of struct duplication and bloating the response - but...
    58cbafe9