756bac069dfdd5bcb004ef869c84421e765f0c68
[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  *\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                 "pill",\r
61                 "will",\r
62                 Level.DEBUG);\r
63        } catch( Exception e )\r
64        {\r
65            e.printStackTrace();\r
66        }\r
67 \r
68         for(int i= 0; i < 20; i++)\r
69         {\r
70               EvelHeader header  = EvelHeader.evel_new_heartbeat("Hearbeat_vAFX","vmname_ip");\r
71               header.evel_nfnamingcode_set("vVNF");\r
72               header.evel_nfcnamingcode_set("vVNF");\r
73               AgentMain.evel_post_event(header);\r
74               try {\r
75                 Thread.sleep(1);\r
76               } catch( Exception e )\r
77               {\r
78                  e.printStackTrace();\r
79               }\r
80 \r
81               EvelFault flt  = new EvelFault("Fault_vVNF", "vmname_ip",\r
82                           "NIC error", "Hardware failed",\r
83                   EvelHeader.PRIORITIES.EVEL_PRIORITY_HIGH,\r
84                   EVEL_SEVERITIES.EVEL_SEVERITY_MAJOR,\r
85                   EVEL_SOURCE_TYPES.EVEL_SOURCE_CARD,\r
86                   EVEL_VF_STATUSES.EVEL_VF_STATUS_ACTIVE);\r
87               flt.evel_fault_addl_info_add("nichw", "fail");\r
88               flt.evel_fault_addl_info_add("nicsw", "fail");\r
89               AgentMain.evel_post_event(flt);\r
90 \r
91               EvelStateChange stc  = new EvelStateChange("StateChange_vVNF", "vmname_ip",\r
92                               EvelStateChange.EVEL_ENTITY_STATE.EVEL_ENTITY_STATE_IN_SERVICE,\r
93                           EvelStateChange.EVEL_ENTITY_STATE.EVEL_ENTITY_STATE_OUT_OF_SERVICE,"bgp");\r
94               stc.evel_statechange_addl_info_add("bgpa", "fail");\r
95               stc.evel_statechange_addl_info_add("bgpb", "fail");\r
96 \r
97               AgentMain.evel_post_event(stc);\r
98 \r
99               EvelScalingMeasurement sm  = new EvelScalingMeasurement(10.0,"Measurements_vVNF", "vmname_ip");\r
100               sm.evel_nfnamingcode_set("vVNF");\r
101               sm.evel_nfcnamingcode_set("vVNF");\r
102               sm.evel_measurement_myerrors_set(10,20,30,40);\r
103               MEASUREMENT_CPU_USE my1 = sm.evel_measurement_new_cpu_use_add("cpu1", 100.0);\r
104               my1.idle.SetValue(20.0);\r
105               my1.sys.SetValue(21.0);\r
106               MEASUREMENT_CPU_USE my2 = sm.evel_measurement_new_cpu_use_add("cpu2", 10.0);\r
107               my2.steal.SetValue(34.0);\r
108               my2.user.SetValue(32.0);\r
109 \r
110 \r
111               MEASUREMENT_VNIC_PERFORMANCE vnic_p = sm.evel_measurement_new_vnic_performance("vnic1","true");\r
112               vnic_p.recvd_bcast_packets_acc.SetValue(2400000.0);\r
113               vnic_p.recvd_mcast_packets_delta.SetValue(5677888.0);\r
114               vnic_p.recvd_mcast_packets_acc.SetValue(5677888.0);\r
115               vnic_p.tx_ucast_packets_acc.SetValue(547856576.0);\r
116               vnic_p.tx_ucast_packets_delta.SetValue(540000.0);\r
117               sm.evel_meas_vnic_performance_add(vnic_p);\r
118 \r
119               AgentMain.evel_post_event(sm);\r
120               \r
121               EvelSyslog sysl = new EvelSyslog("Syslog_vVNF", "vmname_ip",\r
122                                             EvelFault.EVEL_SOURCE_TYPES.EVEL_SOURCE_ROUTER,\r
123                                            "Router failed","JUNIPER");\r
124               sysl.evel_nfnamingcode_set("vVNF");\r
125               sysl.evel_nfcnamingcode_set("vVNF");\r
126               sysl.evel_syslog_proc_id_set(456);\r
127               sysl.evel_syslog_proc_set("routed");\r
128               AgentMain.evel_post_event(sysl);\r
129               \r
130               EvelHeartbeatField hfld = new EvelHeartbeatField(123,"HeartbeatField_vVNF", "vmname_ip");\r
131               hfld.evel_hrtbt_interval_set(23);\r
132               AgentMain.evel_post_event(hfld);\r
133               \r
134               \r
135               EvelSipSignaling sip = new EvelSipSignaling("SipSignaling_vVNF", "vmname_ip","aricent","corlator","127.0.0.1","5647","10.1.1.124","5678");\r
136               sip.evel_nfnamingcode_set("vVNF");\r
137               sip.evel_nfcnamingcode_set("vVNF");\r
138               AgentMain.evel_post_event(sip);\r
139               \r
140               EvelVoiceQuality vq = new EvelVoiceQuality("VoiceQuality_vVNF", "vmname_ip",\r
141                           "calleeSideCodc",\r
142                             "callerSideCodc", "corlator",\r
143                             "midCllRtcp", "juniper");\r
144               vq.evel_nfnamingcode_set("vVNF");\r
145               vq.evel_nfcnamingcode_set("vVNF");\r
146               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
147               AgentMain.evel_post_event(vq);\r
148               \r
149               EvelOther ev = new EvelOther("MyCustomEvent_vVNF", "vmname_ip");\r
150               ev.evel_other_field_add("a1", "b1");\r
151               ev.evel_other_field_add("a1", "b2");\r
152               \r
153               /*ev.evel_other_field_add_namedarray("a1", "b1", "c1");\r
154               ev.evel_other_field_add_namedarray("a1", "b2", "c2");\r
155               ev.evel_other_field_add_namedarray("a2", "b1", "c1");\r
156               ev.evel_other_field_add_namedarray("a2", "b1", "c1");*/\r
157               AgentMain.evel_post_event(ev);\r
158               \r
159               \r
160 \r
161                 String dateStart = "01/14/2012 09:29:58";\r
162                 String dateStop = "01/15/2012 10:31:48";\r
163 \r
164                 //HH converts hour in 24 hours format (0-23), day calculation\r
165                 SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");\r
166 \r
167                 Date d1 = null;\r
168                 Date d2 = null;\r
169 \r
170                 try {\r
171                         d1 = format.parse(dateStart);\r
172                         d2 = format.parse(dateStop);\r
173                 }catch (Exception e) {\r
174                         e.printStackTrace();\r
175                 }\r
176               \r
177               \r
178               EvelThresholdCross tca = new EvelThresholdCross("ThresholdCross_vVNF", "vmname_ip",\r
179               "CRIT",\r
180               "mcast Limit reached",\r
181               "mcastRxPackets",\r
182               "1250000000",\r
183               EvelThresholdCross.EVEL_EVENT_ACTION.EVEL_EVENT_ACTION_SET,\r
184               "Mcast Rx breached", \r
185               EvelThresholdCross.EVEL_ALERT_TYPE.EVEL_ELEMENT_ANOMALY,\r
186               d1, \r
187               EvelThresholdCross.EVEL_SEVERITIES.EVEL_SEVERITY_CRITICAL,\r
188               d2);\r
189               tca.evel_nfnamingcode_set("vVNF");\r
190               tca.evel_nfcnamingcode_set("vVNF");\r
191               tca.evel_threshold_cross_interfacename_set("ns345");\r
192               tca.evel_thresholdcross_addl_info_add("n1", "v1");\r
193               tca.evel_thresholdcross_addl_info_add("n2", "v2");\r
194               tca.evel_thresholdcross_alertid_add("alert1");\r
195               tca.evel_thresholdcross_alertid_add("alert2");\r
196               \r
197               AgentMain.evel_post_event(tca);\r
198               \r
199 \r
200               EvelMobileFlow mf = new EvelMobileFlow("MobileFlow_vVNF", "vmname_ip",\r
201                           "In",\r
202                       null,\r
203                       "GTP",\r
204                        "v2.3",\r
205                       "1.2.3.4",\r
206                       345556,\r
207                       "5.6.7.8",\r
208                       334344);\r
209               MOBILE_GTP_PER_FLOW_METRICS mygtp = mf.new MOBILE_GTP_PER_FLOW_METRICS(\r
210                       1.01,\r
211                       2.02,\r
212                       3,\r
213                       4,\r
214                       5,\r
215                       6,\r
216                       7,\r
217                       8,\r
218                       9,\r
219                       d1,\r
220                       "ACTIVE",\r
221                       10,\r
222                       11,\r
223                       12,\r
224                       13,\r
225                       14,\r
226                       15,\r
227                       16,\r
228                       17,\r
229                       18,\r
230                       19,\r
231                       20,\r
232                       21,\r
233                       22,\r
234                       23,\r
235                       24,\r
236                       25,\r
237                       26,\r
238                       27,\r
239                       28);\r
240               mf.gtp_per_flow_metrics = mygtp;\r
241               mf.evel_nfnamingcode_set("vVNF");\r
242               mf.evel_nfcnamingcode_set("vVNF");\r
243               AgentMain.evel_post_event(mf);\r
244 \r
245 \r
246     }\r
247 \r
248   }\r
249 }\r