11package com .appdynamics .monitors .kubernetes ;
22
33import com .appdynamics .monitors .kubernetes .config .Globals ;
4+ import com .fasterxml .jackson .core .JsonParser ;
45import com .fasterxml .jackson .databind .ObjectMapper ;
56import com .fasterxml .jackson .databind .node .ArrayNode ;
67import com .fasterxml .jackson .databind .node .ObjectNode ;
78import io .kubernetes .client .models .V1Event ;
89import io .kubernetes .client .models .V1EventList ;
10+ import org .joda .time .DateTime ;
911import org .slf4j .Logger ;
1012import org .slf4j .LoggerFactory ;
1113import java .net .MalformedURLException ;
1214import java .net .URL ;
15+ import java .util .Date ;
1316
1417class Utilities {
1518 private static final Logger logger = LoggerFactory .getLogger (Utilities .class );
@@ -28,38 +31,41 @@ static ArrayNode createEventPayload(V1EventList eventList) {
2831 ObjectMapper mapper = new ObjectMapper ();
2932 ArrayNode arrayNode = mapper .createArrayNode ();
3033 for (V1Event item : eventList .getItems ()) {
31- Globals .lastElement = item .getMetadata ().getSelfLink ();
32- if (item .getMetadata ().getSelfLink ().equals (Globals .previousElement )){
33- arrayNode = mapper .createArrayNode ();
34- }
35- else {
36- ObjectNode objectNode = mapper .createObjectNode ();
37- objectNode = checkAddObject (objectNode , item .getFirstTimestamp (), "firstTimestamp" );
38- objectNode = checkAddObject (objectNode , item .getMetadata ().getAnnotations (), "annotations" );
39- objectNode = checkAddObject (objectNode , item .getLastTimestamp (), "lastTimestamp" );
40- objectNode = checkAddObject (objectNode , item .getMetadata ().getCreationTimestamp (), "creationTimestamp" );
41- objectNode = checkAddObject (objectNode , item .getMetadata ().getDeletionTimestamp (), "deletionTimestamp" );
42- objectNode = checkAddObject (objectNode , item .getMetadata ().getFinalizers (), "finalizers" );
43- objectNode = checkAddObject (objectNode , item .getMetadata ().getInitializers (), "initializers" );
44- objectNode = checkAddObject (objectNode , item .getMetadata ().getLabels (), "labels" );
45- objectNode = checkAddObject (objectNode , item .getMetadata ().getOwnerReferences (), "ownerReferences" );
46- objectNode = checkAddObject (objectNode , item .getInvolvedObject ().getKind (), "object_kind" );
47- objectNode = checkAddObject (objectNode , item .getInvolvedObject ().getName (), "object_name" );
48- objectNode = checkAddObject (objectNode , item .getInvolvedObject ().getNamespace (), "object_namespace" );
49- objectNode = checkAddObject (objectNode , item .getInvolvedObject ().getResourceVersion (), "object_resourceVersion" );
50- objectNode = checkAddObject (objectNode , item .getInvolvedObject ().getUid (), "object_uid" );
51- objectNode = checkAddObject (objectNode , item .getMessage (), "message" );
52- objectNode = checkAddObject (objectNode , item .getMetadata ().getClusterName (), "clusterName" );
53- objectNode = checkAddObject (objectNode , item .getMetadata ().getGenerateName (), "generateName" );
54- objectNode = checkAddObject (objectNode , item .getMetadata ().getGeneration (), "generation" );
55- objectNode = checkAddObject (objectNode , item .getMetadata ().getName (), "name" );
56- objectNode = checkAddObject (objectNode , item .getMetadata ().getNamespace (), "namespace" );
57- objectNode = checkAddObject (objectNode , item .getMetadata ().getResourceVersion (), "resourceVersion" );
58- objectNode = checkAddObject (objectNode , item .getMetadata ().getSelfLink (), "selfLink" );
59- arrayNode .add (objectNode );
34+ if (item .getLastTimestamp ().isAfter (Globals .previousRunTimestamp ) || Globals .previousRunTimestamp == null ){
35+ if (!item .getMetadata ().getSelfLink ().equals (Globals .previousRunSelfLink )){
36+ ObjectNode objectNode = mapper .createObjectNode ();
37+ objectNode = checkAddObject (objectNode , item .getFirstTimestamp (), "firstTimestamp" );
38+ objectNode = checkAddObject (objectNode , item .getMetadata ().getAnnotations (), "annotations" );
39+ objectNode = checkAddObject (objectNode , item .getLastTimestamp (), "lastTimestamp" );
40+ objectNode = checkAddObject (objectNode , item .getMetadata ().getCreationTimestamp (), "creationTimestamp" );
41+ objectNode = checkAddObject (objectNode , item .getMetadata ().getDeletionTimestamp (), "deletionTimestamp" );
42+ objectNode = checkAddObject (objectNode , item .getMetadata ().getFinalizers (), "finalizers" );
43+ objectNode = checkAddObject (objectNode , item .getMetadata ().getInitializers (), "initializers" );
44+ objectNode = checkAddObject (objectNode , item .getMetadata ().getLabels (), "labels" );
45+ objectNode = checkAddObject (objectNode , item .getMetadata ().getOwnerReferences (), "ownerReferences" );
46+ objectNode = checkAddObject (objectNode , item .getInvolvedObject ().getKind (), "object_kind" );
47+ objectNode = checkAddObject (objectNode , item .getInvolvedObject ().getName (), "object_name" );
48+ objectNode = checkAddObject (objectNode , item .getInvolvedObject ().getNamespace (), "object_namespace" );
49+ objectNode = checkAddObject (objectNode , item .getInvolvedObject ().getResourceVersion (), "object_resourceVersion" );
50+ objectNode = checkAddObject (objectNode , item .getInvolvedObject ().getUid (), "object_uid" );
51+ objectNode = checkAddObject (objectNode , item .getMessage (), "message" );
52+ objectNode = checkAddObject (objectNode , item .getMetadata ().getClusterName (), "clusterName" );
53+ objectNode = checkAddObject (objectNode , item .getMetadata ().getGenerateName (), "generateName" );
54+ objectNode = checkAddObject (objectNode , item .getMetadata ().getGeneration (), "generation" );
55+ objectNode = checkAddObject (objectNode , item .getMetadata ().getName (), "name" );
56+ objectNode = checkAddObject (objectNode , item .getMetadata ().getNamespace (), "namespace" );
57+ objectNode = checkAddObject (objectNode , item .getMetadata ().getResourceVersion (), "resourceVersion" );
58+ objectNode = checkAddObject (objectNode , item .getMetadata ().getSelfLink (), "selfLink" );
59+ arrayNode .add (objectNode );
60+ Globals .lastElementSelfLink = item .getMetadata ().getSelfLink ();
61+ }
62+ if (item .getLastTimestamp ().isAfter (Globals .lastElementTimestamp ) || Globals .lastElementTimestamp == null ){
63+ Globals .lastElementTimestamp = item .getLastTimestamp ();
64+ }
6065 }
6166 }
62- Globals .previousElement = Globals .lastElement ;
67+ Globals .previousRunSelfLink = Globals .lastElementSelfLink ;
68+ Globals .previousRunTimestamp = Globals .lastElementTimestamp ;
6369
6470 return arrayNode ;
6571 }
0 commit comments