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