@@ -105,7 +105,7 @@ function _validateContent(report, fields = []) {
105105                        'glibcVersionRuntime' ,  'glibcVersionCompiler' ,  'cwd' , 
106106                        'reportVersion' ,  'networkInterfaces' ,  'threadId' ] ; 
107107  checkForUnknownFields ( header ,  headerFields ) ; 
108-   assert . strictEqual ( header . reportVersion ,  2 ) ;   // Increment as needed. 
108+   assert . strictEqual ( header . reportVersion ,  3 ) ;   // Increment as needed. 
109109  assert . strictEqual ( typeof  header . event ,  'string' ) ; 
110110  assert . strictEqual ( typeof  header . trigger ,  'string' ) ; 
111111  assert ( typeof  header . filename  ===  'string'  ||  header . filename  ===  null ) ; 
@@ -232,19 +232,29 @@ function _validateContent(report, fields = []) {
232232  } 
233233
234234  // Verify the format of the resourceUsage section. 
235-   const  usage  =  report . resourceUsage ; 
235+   const  usage  =  {  ...report . resourceUsage  } ; 
236+   // Delete it, otherwise checkForUnknownFields will throw error 
237+   delete  usage . constrained_memory ; 
236238  const  resourceUsageFields  =  [ 'userCpuSeconds' ,  'kernelCpuSeconds' , 
237239                               'cpuConsumptionPercent' ,  'userCpuConsumptionPercent' , 
238-                                'kernelCpuConsumptionPercent' ,  'rss' ,  'maxRss' , 
239-                                'pageFaults' ,  'fsActivity' ] ; 
240+                                'kernelCpuConsumptionPercent' , 
241+                                'maxRss' ,  'rss' ,  'free_memory' ,  'total_memory' , 
242+                                'available_memory' ,  'pageFaults' ,  'fsActivity' ] ; 
240243  checkForUnknownFields ( usage ,  resourceUsageFields ) ; 
241244  assert . strictEqual ( typeof  usage . userCpuSeconds ,  'number' ) ; 
242245  assert . strictEqual ( typeof  usage . kernelCpuSeconds ,  'number' ) ; 
243246  assert . strictEqual ( typeof  usage . cpuConsumptionPercent ,  'number' ) ; 
244247  assert . strictEqual ( typeof  usage . userCpuConsumptionPercent ,  'number' ) ; 
245248  assert . strictEqual ( typeof  usage . kernelCpuConsumptionPercent ,  'number' ) ; 
246-   assert ( Number . isSafeInteger ( usage . rss ) ) ; 
247-   assert ( Number . isSafeInteger ( usage . maxRss ) ) ; 
249+   assert ( typeof  usage . rss ,  'string' ) ; 
250+   assert ( typeof  usage . maxRss ,  'string' ) ; 
251+   assert ( typeof  usage . free_memory ,  'string' ) ; 
252+   assert ( typeof  usage . total_memory ,  'string' ) ; 
253+   assert ( typeof  usage . available_memory ,  'string' ) ; 
254+   // This field may not exsit 
255+   if  ( report . resourceUsage . constrained_memory )  { 
256+     assert ( typeof  report . resourceUsage . constrained_memory ,  'string' ) ; 
257+   } 
248258  assert ( typeof  usage . pageFaults  ===  'object'  &&  usage . pageFaults  !==  null ) ; 
249259  checkForUnknownFields ( usage . pageFaults ,  [ 'IORequired' ,  'IONotRequired' ] ) ; 
250260  assert ( Number . isSafeInteger ( usage . pageFaults . IORequired ) ) ; 
0 commit comments