con / duct

A helper to run a command, capture stdout/stderr and details about running
MIT License
1 stars 1 forks source link

Improve usage.json schema #109

Open asmacdo opened 1 week ago

asmacdo commented 1 week ago

The current data structure is NLJSON, with each line representing an aggregation of 1 or more samples.

The structure of each data point isn't ideal for consumption. (came up working on https://github.com/con/duct/issues/106)

Current

{
  "1217391": {
    "pcpu": 0.0,
    "pmem": 0.0,
    "rss": 1760,
    "vsz": 221584,
    "timestamp": "2024-06-21T12:37:18.068758-05:00"
  },
  "totals": {
    "pmem": 0.0,
    "pcpu": 0.0,
    "rss_kb": 1760,
    "vsz_kb": 221584
  },
  "averages": {
    "rss": 1760,
    "vsz": 221584,
    "pmem": 0.0,
    "pcpu": 0.0,
    "num_samples": 1
  }
}

Proposed Improvements:

Proposed Schema (each NL)

{
  "timestamp": "2024-06-21T12:37:18.068758-05:00",
  "num_samples": 1,
  "processes": {
    "1217391": {
      "pcpu": 0.0,
      "pmem": 0.0,
      "rss": 1760,
      "vsz": 221584
    }
  },
  "totals": {
    "pmem": 0.0,
    "pcpu": 0.0,
    "rss_kb": 1760,
    "vsz_kb": 221584
  },
  "averages": {
    "rss": 1760,
    "vsz": 221584,
    "pmem": 0.0,
    "pcpu": 0.0
  }
}