aripbae commited on
Commit
7a0083a
·
verified ·
1 Parent(s): d69fbe4

Update main.civet

Browse files
Files changed (1) hide show
  1. main.civet +18 -25
main.civet CHANGED
@@ -22,33 +22,26 @@ snakeToCamel := (str: string) -> str.replace snakeRgx, (_, g) -> g.toUpperCase()
22
  logger := (...args: any[]) ->
23
  console.log new Date().toLocaleTimeString('fr', { timeZone }), ...args
24
 
25
- byteKeysRgx := /memory|heap|rss|size|available|committed|used|total/i
26
- prettifyMetrics := (obj: any): any ->
27
- return obj unless typeof obj is 'object' and obj?
28
- return (obj.map (v) -> prettifyMetrics v) if Array.isArray obj
29
-
30
- result := {}
31
- for key in obj
32
- val := obj[key]
33
- newKey := snakeToCamel key
34
- result[newKey] = if isNumber val and byteKeysRgx.test key then formatBytes val else prettifyMetrics val
35
- result
36
 
37
  getServerStats := ->
38
- stats := {
39
- uptime: prettyMs procUptime() * 1e3
40
- osUptime: prettyMs osUptime() * 1e3
41
- }
42
-
43
- rep := report?.getReport?()
44
- if rep
45
- { header: getReport, javascriptHeap, resourceUsage, uvthreadResourceUsage } := rep
46
- Object.assign stats, {
47
- getReport
48
- uvthreadResourceUsage
49
- javascriptHeap: prettifyMetrics javascriptHeap, (k) -> not /(ContextCount|Garbage)/i.test k
50
- resourceUsage: prettifyMetrics resourceUsage, (k) -> not /(Percent|IO|reads|write)/i.test k
51
- }
52
 
53
  stats.memoryUsage = prettifyMetrics memoryUsage()
54
  stats
 
22
  logger := (...args: any[]) ->
23
  console.log new Date().toLocaleTimeString('fr', { timeZone }), ...args
24
 
25
+ prettifyMetrics := (obj: any, condition?: (k: string, v: any) -> boolean) ->
26
+ condition ?= (_, v) -> isNumber v
27
+ jsonStr := JSON.stringify obj, (key, val) ->
28
+ if condition key, val then formatBytes val else val
29
+ cleanJson := jsonStr.replace /_(\w)/g, (_, g) -> g.toUpperCase()
30
+ JSON.parse cleanJson
 
 
 
 
 
31
 
32
  getServerStats := ->
33
+ stats := {}
34
+ stats.uptime = prettyMs procUptime() * 1e3
35
+ stats.osUptime = prettyMs osUptime() * 1e3
36
+
37
+ if rep := report?.getReport?()
38
+ Object.assign stats,
39
+ getReport: rep.header
40
+ javascriptHeap: prettifyMetrics rep.javascriptHeap, (k, v) ->
41
+ isNumber v and not /(ContextCount|Garbage)/i.test k
42
+ resourceUsage: prettifyMetrics rep.resourceUsage, (k, v) ->
43
+ isNumber v and not /(Percent|IO|reads|write)/i.test k
44
+ uvthreadResourceUsage: rep.uvthreadResourceUsage
 
 
45
 
46
  stats.memoryUsage = prettifyMetrics memoryUsage()
47
  stats