d3580e84e27ff536e2335337c33f2f76ff0d18e2
[vnfsdk/compliance.git] / veslibrary / ves_javalibrary / evel_javalib2 / src_test / maindir / Main.java
1 package evel_javalibrary.att.com.maindir;\r
2 \r
3 /**************************************************************************//**\r
4  * @file\r
5  * Sample Test Agent for EVEL library\r
6  *\r
7  * This file implements the Sample Agent which is intended to provide a\r
8  * simple wrapper around the complexity of AT&T's Vendor Event Listener API so\r
9  * that VNFs can use it without worrying about details of the API transport.\r
10  * It also shows how events can be formatted with data for POST\r
11  *\r
12  * License\r
13  * -------\r
14  * Unless otherwise specified, all software contained herein is\r
15   * Licensed under the Apache License, Version 2.0 (the "License");\r
16  * you may not use this file except in compliance with the License.\r
17  * You may obtain a copy of the License at\r
18  *        http://www.apache.org/licenses/LICENSE-2.0\r
19  *\r
20  * Unless required by applicable law or agreed to in writing, software\r
21  * distributed under the License is distributed on an "AS IS" BASIS,\r
22  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
23  * See the License for the specific language governing permissions and\r
24  * limitations under the License.\r
25  *****************************************************************************/\r
26 \r
27 \r
28 import org.apache.log4j.Logger;\r
29 \r
30 import evel_javalibrary.att.com.*;\r
31 import evel_javalibrary.att.com.AgentMain.EVEL_ERR_CODES;\r
32 import evel_javalibrary.att.com.EvelFault.EVEL_SEVERITIES;\r
33 import evel_javalibrary.att.com.EvelFault.EVEL_SOURCE_TYPES;\r
34 import evel_javalibrary.att.com.EvelFault.EVEL_VF_STATUSES;\r
35 import evel_javalibrary.att.com.EvelHeader.PRIORITIES;\r
36 import evel_javalibrary.att.com.EvelMobileFlow.MOBILE_GTP_PER_FLOW_METRICS;\r
37 import evel_javalibrary.att.com.EvelScalingMeasurement.MEASUREMENT_CPU_USE;\r
38 import evel_javalibrary.att.com.EvelScalingMeasurement.MEASUREMENT_VNIC_PERFORMANCE;\r
39 import evel_javalibrary.att.com.EvelStateChange.EVEL_ENTITY_STATE;\r
40 import evel_javalibrary.att.com.EvelThresholdCross.EVEL_ALERT_TYPE;\r
41 import evel_javalibrary.att.com.EvelThresholdCross.EVEL_EVENT_ACTION;\r
42 \r
43 import org.apache.log4j.Level;\r
44 \r
45 import java.io.*;\r
46 import java.text.SimpleDateFormat;\r
47 import java.time.LocalDateTime;\r
48 import java.util.Date;\r
49 \r
50 public class Main\r
51 {\r
52 \r
53         public static void main(String[] args)\r
54         {\r
55 \r
56        try{\r
57 \r
58         AgentMain.evel_initialize("http://127.0.0.1", 30000,\r
59                               "/vendor_event_listener","/example_vnf",\r
60                               //null,null\r
61                 "pill",\r
62                 "will",\r
63                 Level.DEBUG);\r
64        } catch( Exception e )\r
65        {\r
66            e.printStackTrace();\r
67        }\r
68 \r
69         for(int i= 0; i < 20; i++)\r
70         {\r
71               EvelHeader header  = EvelHeader.evel_new_heartbeat("Hearbeat_vAFX","vmname_ip");\r
72               header.evel_nfnamingcode_set("vVNF");\r
73               header.evel_nfcnamingcode_set("vVNF");\r
74               AgentMain.evel_post_event(header);\r
75               try {\r
76                 Thread.sleep(1);\r
77               } catch( Exception e )\r
78               {\r
79                  e.printStackTrace();\r
80               }\r
81 \r
82               EvelFault flt  = new EvelFault("Fault_vVNF", "vmname_ip",\r
83                           "NIC error", "Hardware failed",\r
84                   EvelHeader.PRIORITIES.EVEL_PRIORITY_HIGH,\r
85                   EVEL_SEVERITIES.EVEL_SEVERITY_MAJOR,\r
86                   EVEL_SOURCE_TYPES.EVEL_SOURCE_CARD,\r
87                   EVEL_VF_STATUSES.EVEL_VF_STATUS_ACTIVE);\r
88               flt.evel_fault_addl_info_add("nichw", "fail");\r
89               flt.evel_fault_addl_info_add("nicsw", "fail");\r
90               AgentMain.evel_post_event(flt);\r
91 \r
92               EvelStateChange stc  = new EvelStateChange("StateChange_vVNF", "vmname_ip",\r
93                               EvelStateChange.EVEL_ENTITY_STATE.EVEL_ENTITY_STATE_IN_SERVICE,\r
94                           EvelStateChange.EVEL_ENTITY_STATE.EVEL_ENTITY_STATE_OUT_OF_SERVICE,"bgp");\r
95               stc.evel_statechange_addl_info_add("bgpa", "fail");\r
96               stc.evel_statechange_addl_info_add("bgpb", "fail");\r
97 \r
98               AgentMain.evel_post_event(stc);\r
99 \r
100               EvelScalingMeasurement sm  = new EvelScalingMeasurement(10.0,"Measurements_vVNF", "vmname_ip");\r
101               sm.evel_nfnamingcode_set("vVNF");\r
102               sm.evel_nfcnamingcode_set("vVNF");\r
103               sm.evel_measurement_myerrors_set(10,20,30,40);\r
104               MEASUREMENT_CPU_USE my1 = sm.evel_measurement_new_cpu_use_add("cpu1", 100.0);\r
105               my1.idle.SetValue(20.0);\r
106               my1.sys.SetValue(21.0);\r
107               MEASUREMENT_CPU_USE my2 = sm.evel_measurement_new_cpu_use_add("cpu2", 10.0);\r
108               my2.steal.SetValue(34.0);\r
109               my2.user.SetValue(32.0);\r
110               sm.evel_measurement_custom_measurement_add("group1","name1","val1");\r
111               sm.evel_measurement_custom_measurement_add("group1","name2","val2");\r
112               sm.evel_measurement_custom_measurement_add("group2","name1","val1");\r
113               sm.evel_measurement_custom_measurement_add("group2","name2","val2");\r
114 \r
115               MEASUREMENT_VNIC_PERFORMANCE vnic_p = sm.evel_measurement_new_vnic_performance("vnic1","true");\r
116               vnic_p.recvd_bcast_packets_acc.SetValue(2400000.0);\r
117               vnic_p.recvd_mcast_packets_delta.SetValue(5677888.0);\r
118               vnic_p.recvd_mcast_packets_acc.SetValue(5677888.0);\r
119               vnic_p.tx_ucast_packets_acc.SetValue(547856576.0);\r
120               vnic_p.tx_ucast_packets_delta.SetValue(540000.0);\r
121               sm.evel_meas_vnic_performance_add(vnic_p);\r
122 \r
123               AgentMain.evel_post_event(sm);\r
124               \r
125               EvelSyslog sysl = new EvelSyslog("Syslog_vVNF", "vmname_ip",\r
126                                             EvelFault.EVEL_SOURCE_TYPES.EVEL_SOURCE_ROUTER,\r
127                                            "Router failed","JUNIPER");\r
128               sysl.evel_nfnamingcode_set("vVNF");\r
129               sysl.evel_nfcnamingcode_set("vVNF");\r
130               sysl.evel_syslog_proc_id_set(456);\r
131               sysl.evel_syslog_proc_set("routed");\r
132               AgentMain.evel_post_event(sysl);\r
133               \r
134               EvelHeartbeatField hfld = new EvelHeartbeatField(123,"HeartbeatField_vVNF", "vmname_ip");\r
135               hfld.evel_hrtbt_interval_set(23);\r
136               AgentMain.evel_post_event(hfld);\r
137               \r
138               \r
139               EvelSipSignaling sip = new EvelSipSignaling("SipSignaling_vVNF", "vmname_ip","aricent","corlator","127.0.0.1","5647","10.1.1.124","5678");\r
140               sip.evel_nfnamingcode_set("vVNF");\r
141               sip.evel_nfcnamingcode_set("vVNF");\r
142               AgentMain.evel_post_event(sip);\r
143               \r
144               EvelVoiceQuality vq = new EvelVoiceQuality("VoiceQuality_vVNF", "vmname_ip",\r
145                           "calleeSideCodc",\r
146                             "callerSideCodc", "corlator",\r
147                             "midCllRtcp", "juniper");\r
148               vq.evel_nfnamingcode_set("vVNF");\r
149               vq.evel_nfcnamingcode_set("vVNF");\r
150               vq.evel_voice_quality_end_metrics_set("adjname", "Caller", 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 15.1, 160.12, 170, 180, 190);\r
151               AgentMain.evel_post_event(vq);\r
152               \r
153               EvelOther ev = new EvelOther("MyCustomEvent_vVNF", "vmname_ip");\r
154               ev.evel_other_field_add("a1", "b1");\r
155               ev.evel_other_field_add("a1", "b2");\r
156               \r
157               /*ev.evel_other_field_add_namedarray("a1", "b1", "c1");\r
158               ev.evel_other_field_add_namedarray("a1", "b2", "c2");\r
159               ev.evel_other_field_add_namedarray("a2", "b1", "c1");\r
160               ev.evel_other_field_add_namedarray("a2", "b1", "c1");*/\r
161               AgentMain.evel_post_event(ev);\r
162               \r
163               \r
164 \r
165                 String dateStart = "01/14/2012 09:29:58";\r
166                 String dateStop = "01/15/2012 10:31:48";\r
167 \r
168                 //HH converts hour in 24 hours format (0-23), day calculation\r
169                 SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");\r
170 \r
171                 Date d1 = null;\r
172                 Date d2 = null;\r
173 \r
174                 try {\r
175                         d1 = format.parse(dateStart);\r
176                         d2 = format.parse(dateStop);\r
177                 }catch (Exception e) {\r
178                         e.printStackTrace();\r
179                 }\r
180               \r
181               \r
182               EvelThresholdCross tca = new EvelThresholdCross("ThresholdCross_vVNF", "vmname_ip",\r
183               "CRIT",\r
184               "mcast Limit reached",\r
185               "mcastRxPackets",\r
186               "1250000000",\r
187               EvelThresholdCross.EVEL_EVENT_ACTION.EVEL_EVENT_ACTION_SET,\r
188               "Mcast Rx breached", \r
189               EvelThresholdCross.EVEL_ALERT_TYPE.EVEL_ELEMENT_ANOMALY,\r
190               d1, \r
191               EvelThresholdCross.EVEL_SEVERITIES.EVEL_SEVERITY_CRITICAL,\r
192               d2);\r
193               tca.evel_nfnamingcode_set("vVNF");\r
194               tca.evel_nfcnamingcode_set("vVNF");\r
195               tca.evel_threshold_cross_interfacename_set("ns345");\r
196               tca.evel_thresholdcross_addl_info_add("n1", "v1");\r
197               tca.evel_thresholdcross_addl_info_add("n2", "v2");\r
198               tca.evel_thresholdcross_alertid_add("alert1");\r
199               tca.evel_thresholdcross_alertid_add("alert2");\r
200               \r
201               AgentMain.evel_post_event(tca);\r
202               \r
203 \r
204               EvelMobileFlow mf = new EvelMobileFlow("MobileFlow_vVNF", "vmname_ip",\r
205                           "In",\r
206                       null,\r
207                       "GTP",\r
208                        "v2.3",\r
209                       "1.2.3.4",\r
210                       345556,\r
211                       "5.6.7.8",\r
212                       334344);\r
213               MOBILE_GTP_PER_FLOW_METRICS mygtp = mf.new MOBILE_GTP_PER_FLOW_METRICS(\r
214                       1.01,\r
215                       2.02,\r
216                       3,\r
217                       4,\r
218                       5,\r
219                       6,\r
220                       7,\r
221                       8,\r
222                       9,\r
223                       d1,\r
224                       "ACTIVE",\r
225                       10,\r
226                       11,\r
227                       12,\r
228                       13,\r
229                       14,\r
230                       15,\r
231                       16,\r
232                       17,\r
233                       18,\r
234                       19,\r
235                       20,\r
236                       21,\r
237                       22,\r
238                       23,\r
239                       24,\r
240                       25,\r
241                       26,\r
242                       27,\r
243                       28);\r
244               mf.gtp_per_flow_metrics = mygtp;\r
245               mf.evel_nfnamingcode_set("vVNF");\r
246               mf.evel_nfcnamingcode_set("vVNF");\r
247               AgentMain.evel_post_event(mf);\r
248 \r
249 \r
250     }\r
251 \r
252   }\r
253 }\r