@@ -36,61 +36,49 @@ interface HealthDataObject {
36
36
[ key : string ] : MetricObject [ ]
37
37
}
38
38
39
- // Transforms health data into a nested object based on service name
40
39
export function healthTransformer ( healthData : HealthDataObject [ ] ) {
41
40
// make an object for storing different services' metrics data
42
- const serviceMetricsObject = { } ; //books:..., customers:..., orders:..., frontend:...
41
+ const serviceMetricsObject = { } ;
43
42
// loop through the services in the healthData array
44
- healthData . forEach ( serviceObj => { //books
43
+ healthData . forEach ( serviceObj => {
45
44
// grab the key string from the current service object
46
- const serviceName = Object . keys ( serviceObj ) [ 0 ] ; //books-containerinfos
47
- // add the serviceName as a key on the serviceMetricsObject and assign it an empty object
48
- serviceMetricsObject [ serviceName ] = { } ; //add key service Name to object
49
- const serviceElements = serviceObj [ serviceName ] ; //array of metric objects IN heatlhdataObj @ serviceName
45
+ const serviceName = Object . keys ( serviceObj ) [ 0 ] ;
46
+ const serviceElements = serviceObj [ serviceName ] ;
50
47
console . log ( 'serviceElements: ' , serviceElements ) ;
48
+ // add the serviceName as a key on the serviceMetricsObject and assign it an empty object
49
+ serviceMetricsObject [ serviceName ] = { } ;
51
50
// loop through the elements of the current service
52
- serviceElements . forEach ( ( dataObject : any ) => { //--v12 --make it an object typscript?
53
- console . log ( 'raw dataOBJ LN 53' , dataObject ) ;
54
- // !containerName exist, generate a key for that object that matches the category value of the current dataObject
55
- let containerName = dataObject . containername ;
56
- if ( ! serviceMetricsObject [ serviceName ] [ containerName ] ) {
57
- serviceMetricsObject [ serviceName ] [ containerName ] = { } ;
58
- console . log ( 'line 58 if category ' , [ containerName ] )
51
+ serviceElements . forEach ( dataObject => {
52
+ // if it doesn't exist, generate a key for that object that matches the category value of the current dataObject
53
+ if ( ! serviceMetricsObject [ serviceName ] [ dataObject . category ] ) {
54
+ serviceMetricsObject [ serviceName ] [ dataObject . category ] = { } ;
59
55
}
60
-
61
- for ( let metric in dataObject ) { //loop the data object for metric names and values
62
- // in containerName nested object, assign a key using the current dataObject's metric value and assign its value an empty object
63
- if ( ! serviceMetricsObject [ serviceName ] [ containerName ] [ metric ] ) {
64
- serviceMetricsObject [ serviceName ] [ containerName ] [ metric ] = { } ;
65
- console . log ( 'line 60 if metric ' , metric )
66
- }
67
- // if the 'value' key doesn't exist in the previous object assign a key of 'value' with the value of an array that includes the value of value
68
- if ( ! serviceMetricsObject [ serviceName ] [ containerName ] [ metric ] . value ) {
69
- serviceMetricsObject [ serviceName ] [ containerName ] [ metric ] . value = [ dataObject [ metric ] ] ;
70
- console . log ( 'line 65 if value ' , dataObject [ metric ] )
71
- } else { // if it does exist, push the value of the current dataObject's time key onto the array
72
- serviceMetricsObject [ serviceName ] [ containerName ] [ metric ] . value . push (
73
- dataObject [ metric ]
74
- ) ;
75
- console . log ( 'line 68 else value ' , dataObject [ metric ] )
76
- }
77
- // in that same object, if the key 'time' doesn't exist yet, assign a key of 'time' with the value as an array that includes the time value
78
- if ( ! serviceMetricsObject [ serviceName ] [ containerName ] [ metric ] . time ) {
79
- serviceMetricsObject [ serviceName ] [ containerName ] [ metric ] . time = [ dataObject . time ] ;
80
- console . log ( 'line 75 if time ' , [ dataObject . time ] )
81
- } else { // if it does exist aready, push the current time value into the time array
82
- serviceMetricsObject [ serviceName ] [ containerName ] [ metric ] . time . push (
83
- dataObject . time
84
- ) ;
85
- console . log ( 'line 78 else time ' , [ dataObject . time ] )
86
- }
87
- console . log ( 'serviceMetricsOBJ LN83: ' , serviceMetricsObject )
56
+ // in that nested object, assign a key using the current dataObject's metric value and assign its value an empty object
57
+ if ( ! serviceMetricsObject [ serviceName ] [ dataObject . category ] [ dataObject . metric ] ) {
58
+ serviceMetricsObject [ serviceName ] [ dataObject . category ] [ dataObject . metric ] = { } ;
59
+ }
60
+ // if the 'value' key doesn't exist in the previous object assign a key of 'value' with the value of an array that includes the value of value
61
+ if ( ! serviceMetricsObject [ serviceName ] [ dataObject . category ] [ dataObject . metric ] . value ) {
62
+ serviceMetricsObject [ serviceName ] [ dataObject . category ] [ dataObject . metric ] . value = [ dataObject . value ] ;
63
+ } else { // if it does exist, push the value of the current dataObject's time key onto the array
64
+ serviceMetricsObject [ serviceName ] [ dataObject . category ] [ dataObject . metric ] . value . push (
65
+ dataObject . value
66
+ ) ;
67
+ }
68
+ // in that same object, if the key 'time' doesn't exist yet, assign a key of 'time' with the value as an array that includes the time value
69
+ if ( ! serviceMetricsObject [ serviceName ] [ dataObject . category ] [ dataObject . metric ] . time ) {
70
+ serviceMetricsObject [ serviceName ] [ dataObject . category ] [ dataObject . metric ] . time = [ dataObject . time ] ;
71
+ } else { // if it does exist aready, push the current time value into the time array
72
+ serviceMetricsObject [ serviceName ] [ dataObject . category ] [ dataObject . metric ] . time . push (
73
+ dataObject . time
74
+ ) ;
88
75
}
89
76
} ) ;
90
77
} )
91
78
return serviceMetricsObject ;
92
79
} ;
93
80
81
+
94
82
export function eventTransformer ( eventData : MetricObject [ ] ) {
95
83
// make an object for storing the metrics data
96
84
const eventMetricsObject = { } ;
0 commit comments