7 /*****************************************************************************/
8 /* Local prototypes. */
9 /*****************************************************************************/
10 static void demo_measurement(void);
12 int main(int argc, char ** argv)
14 EVEL_ERR_CODES evel_rc = EVEL_SUCCESS;
15 EVENT_HEADER * heartbeat = NULL;
17 printf("\nHello AT&T Vendor Event world!\n");
23 "Usage: %s <FQDN>|<IP address> <port> "
24 "<username> <password>\n", argv[0]);
28 /***************************************************************************/
30 /***************************************************************************/
31 if (evel_initialize(argv[1], /* FQDN */
32 atoi(argv[2]), /* Port */
33 NULL, /* optional path */
34 NULL, /* optional topic */
36 argv[3], /* Username */
37 argv[4], /* Password */
38 EVEL_SOURCE_VIRTUAL_MACHINE, /* Source type */
39 "EVEL training demo", /* Role */
42 fprintf(stderr, "\nFailed to initialize the EVEL library!!!\n");
47 printf("\nInitialization completed\n");
50 /***************************************************************************/
51 /* Send a heartbeat just to show we're alive! */
52 /***************************************************************************/
53 heartbeat = evel_new_heartbeat();
54 if (heartbeat != NULL)
56 evel_rc = evel_post_event(heartbeat);
57 if (evel_rc != EVEL_SUCCESS)
59 printf("Post failed %d (%s)", evel_rc, evel_error_string());
64 printf("New heartbeat failed");
67 /***************************************************************************/
68 /* Raise a measurement */
69 /***************************************************************************/
72 /***************************************************************************/
74 /***************************************************************************/
77 printf("Terminated\n");
82 /**************************************************************************//**
83 * Create and send a measurement event.
84 *****************************************************************************/
85 void demo_measurement(void)
87 EVENT_MEASUREMENT * measurement = NULL;
88 MEASUREMENT_LATENCY_BUCKET * bucket = NULL;
89 MEASUREMENT_VNIC_PERFORMANCE * vnic_use = NULL;
90 EVEL_ERR_CODES evel_rc = EVEL_SUCCESS;
91 MEASUREMENT_CPU_USE * cpu_use = NULL;
93 /***************************************************************************/
95 /***************************************************************************/
96 measurement = evel_new_measurement(5.5);
97 if (measurement != NULL)
99 printf("New measurement created...\n");
100 evel_measurement_type_set(measurement, "Perf management...");
101 evel_measurement_conc_sess_set(measurement, 1);
102 evel_measurement_cfg_ents_set(measurement, 2);
103 evel_measurement_mean_req_lat_set(measurement, 4.4);
104 evel_measurement_request_rate_set(measurement, 6);
106 cpu_use = evel_measurement_new_cpu_use_add(measurement, "cpu1", 11.11);
107 evel_measurement_cpu_use_idle_set(cpu_use,22.22);
108 evel_measurement_cpu_use_interrupt_set(cpu_use,33.33);
109 evel_measurement_cpu_use_nice_set(cpu_use,44.44);
110 evel_measurement_cpu_use_softirq_set(cpu_use,55.55);
111 evel_measurement_cpu_use_steal_set(cpu_use,66.66);
112 evel_measurement_cpu_use_system_set(cpu_use,77.77);
113 evel_measurement_cpu_use_usageuser_set(cpu_use,88.88);
114 evel_measurement_cpu_use_wait_set(cpu_use,99.99);
116 cpu_use = evel_measurement_new_cpu_use_add(measurement, "cpu2", 22.22);
117 evel_measurement_cpu_use_idle_set(cpu_use,12.22);
118 evel_measurement_cpu_use_interrupt_set(cpu_use,33.33);
119 evel_measurement_cpu_use_nice_set(cpu_use,44.44);
120 evel_measurement_cpu_use_softirq_set(cpu_use,55.55);
121 evel_measurement_cpu_use_steal_set(cpu_use,66.66);
122 evel_measurement_cpu_use_system_set(cpu_use,77.77);
123 evel_measurement_cpu_use_usageuser_set(cpu_use,88.88);
124 evel_measurement_cpu_use_wait_set(cpu_use,19.99);
126 evel_measurement_fsys_use_add(measurement,"00-11-22",100.11, 100.22, 33,
128 evel_measurement_fsys_use_add(measurement,"33-44-55",300.11, 300.22, 55,
131 bucket = evel_new_meas_latency_bucket(20);
132 evel_meas_latency_bucket_low_end_set(bucket, 0.0);
133 evel_meas_latency_bucket_high_end_set(bucket, 10.0);
134 evel_meas_latency_bucket_add(measurement, bucket);
136 bucket = evel_new_meas_latency_bucket(30);
137 evel_meas_latency_bucket_low_end_set(bucket, 10.0);
138 evel_meas_latency_bucket_high_end_set(bucket, 20.0);
139 evel_meas_latency_bucket_add(measurement, bucket);
141 vnic_use = evel_measurement_new_vnic_performance("eth0", "true");
142 evel_vnic_performance_rx_octets_delta_set(vnic_use, 47656465465);
143 evel_vnic_performance_rx_total_pkt_acc_set(vnic_use, 4765764654444);
144 evel_vnic_performance_rx_total_pkt_delta_set(vnic_use, 4545665656);
145 evel_vnic_performance_rx_ucast_pkt_acc_set(vnic_use, 4765745546.);
146 evel_vnic_performance_rx_ucast_pkt_delta_set(vnic_use, 4768765.78347856);
147 evel_vnic_performance_tx_bcast_pkt_acc_set(vnic_use, 747665.347647);
148 evel_vnic_performance_tx_bcast_pkt_delta_set(vnic_use, 3468765.4774);
149 evel_vnic_performance_tx_discarded_pkt_acc_set(vnic_use, 53625345.53);
150 evel_vnic_performance_tx_discarded_pkt_delta_set(vnic_use, 5465345.72455);
151 evel_meas_vnic_performance_add(measurement, vnic_use);
153 vnic_use = evel_measurement_new_vnic_performance("eth1", "false");
154 evel_vnic_performance_rx_total_pkt_acc_set(vnic_use, 4765764654444);
155 evel_vnic_performance_rx_total_pkt_delta_set(vnic_use, 4545665656);
156 evel_vnic_performance_rx_ucast_pkt_acc_set(vnic_use, 4765745546.);
157 evel_vnic_performance_rx_ucast_pkt_delta_set(vnic_use, 4768765.78347856);
158 evel_vnic_performance_tx_bcast_pkt_acc_set(vnic_use, 747665.347647);
159 evel_meas_vnic_performance_add(measurement, vnic_use);
161 evel_measurement_errors_set(measurement, 1, 0, 2, 1);
163 evel_measurement_feature_use_add(measurement, "FeatureA", 123);
164 evel_measurement_feature_use_add(measurement, "FeatureB", 567);
166 evel_measurement_codec_use_add(measurement, "G711a", 91);
167 evel_measurement_codec_use_add(measurement, "G729ab", 92);
169 evel_measurement_media_port_use_set(measurement, 1234);
171 evel_measurement_vnfc_scaling_metric_set(measurement, 1234.5678);
173 evel_measurement_custom_measurement_add(measurement,
174 "Group1", "Name1", "Value1");
175 evel_measurement_custom_measurement_add(measurement,
176 "Group2", "Name1", "Value1");
177 evel_measurement_custom_measurement_add(measurement,
178 "Group2", "Name2", "Value2");
180 evel_rc = evel_post_event((EVENT_HEADER *)measurement);
181 if (evel_rc == EVEL_SUCCESS)
183 printf("Post OK!\n");
187 printf("Post Failed %d (%s)\n", evel_rc, evel_error_string());
192 printf("Failed to create event (%s)\n", evel_error_string());
195 printf(" Processed Measurement\n");