From: gokuls Date: Fri, 18 Aug 2017 20:38:13 +0000 (-0400) Subject: Modified hardcoded eventname id to user defined X-Git-Tag: 1.0.0-Amsterdam~209 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=demo.git;a=commitdiff_plain;h=312996e26c793460869c5569d73cb4159a13f996 Modified hardcoded eventname id to user defined Issue-Id: VNFRQTS-77 Change-Id: I7141a1cd5206893007873efbeaef377e5e00c96b Signed-Off-by: Gokul Singaraju --- diff --git a/vnfs/VES5.0/evel/evel-library/bldjobs/Makefile b/vnfs/VES5.0/evel/evel-library/bldjobs/Makefile index b1e15e5e..d37d0e4b 100644 --- a/vnfs/VES5.0/evel/evel-library/bldjobs/Makefile +++ b/vnfs/VES5.0/evel/evel-library/bldjobs/Makefile @@ -140,6 +140,7 @@ API_SOURCES=$(EVELLIB_ROOT)/evel.c \ $(EVELLIB_ROOT)/evel_throttle.c \ $(EVELLIB_ROOT)/evel_internal_event.c \ $(EVELLIB_ROOT)/evel_event_mgr.c \ + $(EVELLIB_ROOT)/evel_threshold_cross.c \ $(EVELLIB_ROOT)/evel_voicequality.c \ $(EVELLIB_ROOT)/evel_logging.c \ $(EVELLIB_ROOT)/jsmn.c diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel.h b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel.h index be0c5f0e..6aceec30 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel.h +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel.h @@ -1485,6 +1485,21 @@ size_t evel_write_callback(void *contents, *****************************************************************************/ EVENT_HEADER * evel_new_heartbeat(void); +/**************************************************************************//** + * Create a new heartbeat event of given name and type. + * + * @note that the heartbeat is just a "naked" commonEventHeader! + * + * @param event_name Unique Event Name confirming Domain AsdcModel Description + * @param event_id A universal identifier of the event for: troubleshooting correlation, analysis, etc + * + * @returns pointer to the newly manufactured ::EVENT_HEADER. If the event is + * not used it must be released using ::evel_free_event + * @retval NULL Failed to create the event. + *****************************************************************************/ +EVENT_HEADER * evel_new_heartbeat_nameid(const char* ev_name, const char *ev_id); + + /**************************************************************************//** * Free an event header. * @@ -1560,6 +1575,23 @@ void evel_reporting_entity_name_set(EVENT_HEADER * const header, void evel_reporting_entity_id_set(EVENT_HEADER * const header, const char * const entity_id); +/**************************************************************************//** + * Set the NFC Naming code property of the event header. + * + * @param header Pointer to the ::EVENT_HEADER. + * @param nfcnamingcode String + *****************************************************************************/ +void evel_nfcnamingcode_set(EVENT_HEADER * const header, + const char * const nfcnam); +/**************************************************************************//** + * Set the NF Naming code property of the event header. + * + * @param header Pointer to the ::EVENT_HEADER. + * @param nfnamingcode String + *****************************************************************************/ +void evel_nfnamingcode_set(EVENT_HEADER * const header, + const char * const nfnam); + /*****************************************************************************/ /*****************************************************************************/ /* */ @@ -1575,6 +1607,8 @@ void evel_reporting_entity_id_set(EVENT_HEADER * const header, * function and are immutable once set. Optional fields have explicit * setter functions, but again values may only be set once so that the * Fault has immutable properties. + * @param event_name Unique Event Name + * @param event_id A universal identifier of the event for analysis etc * @param condition The condition indicated by the Fault. * @param specific_problem The specific problem triggering the fault. * @param priority The priority of the event. @@ -1586,7 +1620,8 @@ void evel_reporting_entity_id_set(EVENT_HEADER * const header, * not used (i.e. posted) it must be released using ::evel_free_fault. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_FAULT * evel_new_fault(const char * const condition, +EVENT_FAULT * evel_new_fault(const char* ev_name, const char *ev_id, + const char * const condition, const char * const specific_problem, EVEL_EVENT_PRIORITIES priority, EVEL_SEVERITIES severity, @@ -1678,13 +1713,15 @@ void evel_fault_type_set(EVENT_FAULT * fault, const char * const type); * that the Measurement has immutable properties. * * @param measurement_interval + * @param event_name Unique Event Name + * @param event_id A universal identifier of the event for analysis etc * * @returns pointer to the newly manufactured ::EVENT_MEASUREMENT. If the * event is not used (i.e. posted) it must be released using * ::evel_free_event. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_MEASUREMENT * evel_new_measurement(double measurement_interval); +EVENT_MEASUREMENT * evel_new_measurement(double measurement_interval,const char* ev_name, const char *ev_id); /**************************************************************************//** * Free a Measurement. @@ -2557,13 +2594,15 @@ void evel_measurement_vnic_performance_add(EVENT_MEASUREMENT * const measurement * that the Report has immutable properties. * * @param measurement_interval + * @param event_name Unique Event Name + * @param event_id A universal identifier of the event for analysis etc * * @returns pointer to the newly manufactured ::EVENT_REPORT. If the event is * not used (i.e. posted) it must be released using * ::evel_free_report. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_REPORT * evel_new_report(double measurement_interval); +EVENT_REPORT * evel_new_report(double measurement_interval,const char* ev_name, const char *ev_id); /**************************************************************************//** * Free a Report. @@ -2637,6 +2676,8 @@ void evel_report_custom_measurement_add(EVENT_REPORT * report, * explicit setter functions, but again values may only be set once so * that the Mobile Flow has immutable properties. * + * @param event_name Unique Event Name + * @param event_id A universal identifier of the event for analysis etc * @param flow_direction * @param gtp_per_flow_metrics * @param ip_protocol_type @@ -2652,6 +2693,7 @@ void evel_report_custom_measurement_add(EVENT_REPORT * report, * @retval NULL Failed to create the event. *****************************************************************************/ EVENT_MOBILE_FLOW * evel_new_mobile_flow( + const char* ev_name, const char *ev_id, const char * const flow_direction, MOBILE_GTP_PER_FLOW_METRICS * gtp_per_flow_metrics, const char * const ip_protocol_type, @@ -3372,6 +3414,8 @@ void evel_mobile_gtp_metrics_qci_cos_count_add( * this factory function and are immutable once set. Optional fields * have explicit setter functions, but again values may only be set * once so that the event has immutable properties. + * @param event_name Unique Event Name + * @param event_id A universal identifier of the event for analysis etc * @param vendor_name The vendor id to encode in the event vnf field. * @param module The module to encode in the event. * @param vnfname The Virtual network function to encode in the event. @@ -3380,7 +3424,8 @@ void evel_mobile_gtp_metrics_qci_cos_count_add( * ::evel_free_signaling. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_SIGNALING * evel_new_signaling(const char * const vendor_name, +EVENT_SIGNALING * evel_new_signaling(const char* ev_name, const char *ev_id, + const char * const vendor_name, const char * const correlator, const char * const local_ip_address, const char * const local_port, @@ -3582,6 +3627,8 @@ void evel_signaling_summary_sip_set(EVENT_SIGNALING * const event, * setter functions, but again values may only be set once so that the * Syslog has immutable properties. * + * @param event_name Unique Event Name + * @param event_id A universal identifier of the event for analysis etc * @param new_state The new state of the reporting entity. * @param old_state The old state of the reporting entity. * @param interface The card or port name of the reporting entity. @@ -3591,7 +3638,8 @@ void evel_signaling_summary_sip_set(EVENT_SIGNALING * const event, * ::evel_free_state_change * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_STATE_CHANGE * evel_new_state_change(const EVEL_ENTITY_STATE new_state, +EVENT_STATE_CHANGE * evel_new_state_change(const char* ev_name, const char *ev_id, + const EVEL_ENTITY_STATE new_state, const EVEL_ENTITY_STATE old_state, const char * const interface); @@ -3656,6 +3704,8 @@ void evel_state_change_addl_field_add(EVENT_STATE_CHANGE * const state_change, * setter functions, but again values may only be set once so that the * Syslog has immutable properties. * + * @param event_name Unique Event Name + * @param event_id A universal identifier of the event for analysis etc * @param event_source_type * @param syslog_msg * @param syslog_tag @@ -3665,7 +3715,8 @@ void evel_state_change_addl_field_add(EVENT_STATE_CHANGE * const state_change, * not used it must be released using ::evel_free_syslog * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_SYSLOG * evel_new_syslog(EVEL_SOURCE_TYPES event_source_type, +EVENT_SYSLOG * evel_new_syslog(const char* ev_name, const char *ev_id, + EVEL_SOURCE_TYPES event_source_type, const char * const syslog_msg, const char * const syslog_tag); @@ -3834,12 +3885,14 @@ void evel_syslog_severity_set(EVENT_SYSLOG * syslog, const char * const severty) /**************************************************************************//** * Create a new other event. * + * @param event_name Unique Event Name + * @param event_id A universal identifier of the event for analysis etc * * @returns pointer to the newly manufactured ::EVENT_OTHER. If the event is * not used it must be released using ::evel_free_other. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_OTHER * evel_new_other(void); +EVENT_OTHER * evel_new_other(const char* ev_name, const char *ev_id); /**************************************************************************//** * Free an Other. @@ -3987,6 +4040,8 @@ typedef struct voice_quality_additional_info { * factory function and are immutable once set. Optional fields have * explicit setter functions, but again values may only be set once * so that the Voice Quality has immutable properties. + * @param event_name Unique Event Name + * @param event_id A universal identifier of the event for analysis etc * @param calleeSideCodec Callee codec for the call. * @param callerSideCodec Caller codec for the call. * @param correlator Constant across all events on this call. @@ -3998,7 +4053,8 @@ typedef struct voice_quality_additional_info { ::evel_free_voice_quality. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_VOICE_QUALITY * evel_new_voice_quality(const char * const calleeSideCodec, +EVENT_VOICE_QUALITY * evel_new_voice_quality(const char* ev_name, const char *ev_id, + const char * const calleeSideCodec, const char * const callerSideCodec, const char * const correlator, const char * const midCallRtcp, const char * const vendorVnfNameFields); @@ -4248,6 +4304,8 @@ typedef struct event_threshold_cross { * setter functions, but again values may only be set once so that the * TCA has immutable properties. * + * @param event_name Unique Event Name + * @param event_id A universal identifier of the event for analysis etc * @param char* tcriticality Performance Counter Criticality MAJ MIN, * @param char* tname Performance Counter Threshold name * @param char* tthresholdCrossed Counter Threshold crossed value @@ -4265,6 +4323,7 @@ typedef struct event_threshold_cross { * @retval NULL Failed to create the event. *****************************************************************************/ EVENT_THRESHOLD_CROSS * evel_new_threshold_cross( + const char* ev_name, const char *ev_id, char * tcriticality, char * tname, char * tthresholdCrossed, diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event.c index 6d025abe..ced29b2c 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event.c @@ -52,6 +52,51 @@ void evel_set_next_event_sequence(const int sequence) EVEL_EXIT(); } + +/**************************************************************************//** + * Create a new heartbeat event of given name and type. + * + * @note that the heartbeat is just a "naked" commonEventHeader! + * + * @param event_name Unique Event Name: in format + * {DomainAbbreviation}_{AsdcModel or ApplicationPlatform}_{DescriptionOfInfoBeingConveyed} + * @param event_id Uniquely identify event for correlation and analysis + * + * @returns pointer to the newly manufactured ::EVENT_HEADER. If the event is + * not used it must be released using ::evel_free_event + * @retval NULL Failed to create the event. + *****************************************************************************/ +EVENT_HEADER * evel_new_heartbeat_nameid(const char* ev_name, const char *ev_id) +{ + EVENT_HEADER * heartbeat = NULL; + EVEL_ENTER(); + + assert(ev_name != NULL); + assert(ev_id != NULL); + + /***************************************************************************/ + /* Allocate the header. */ + /***************************************************************************/ + heartbeat = malloc(sizeof(EVENT_HEADER)); + if (heartbeat == NULL) + { + log_error_state("Out of memory"); + goto exit_label; + } + memset(heartbeat, 0, sizeof(EVENT_HEADER)); + + /***************************************************************************/ + /* Initialize the header. Get a new event sequence number. Note that if */ + /* any memory allocation fails in here we will fail gracefully because */ + /* everything downstream can cope with NULLs. */ + /***************************************************************************/ + evel_init_header_nameid(heartbeat,ev_name,ev_id); + +exit_label: + EVEL_EXIT(); + return heartbeat; +} + /**************************************************************************//** * Create a new heartbeat event. * @@ -141,6 +186,55 @@ void evel_init_header(EVENT_HEADER * const header,const char *const eventname) EVEL_EXIT(); } + +/**************************************************************************//** + * Initialize a newly created event header. + * + * @param header Pointer to the header being initialized. + *****************************************************************************/ +void evel_init_header_nameid(EVENT_HEADER * const header,const char *const eventname, const char *eventid) +{ + struct timeval tv; + + EVEL_ENTER(); + + assert(header != NULL); + assert(eventname != NULL); + assert(eventid != NULL); + + gettimeofday(&tv, NULL); + + /***************************************************************************/ + /* Initialize the header. Get a new event sequence number. Note that if */ + /* any memory allocation fails in here we will fail gracefully because */ + /* everything downstream can cope with NULLs. */ + /***************************************************************************/ + header->event_domain = EVEL_DOMAIN_HEARTBEAT; + header->event_id = strdup(eventid); + header->event_name = strdup(eventname); + header->last_epoch_microsec = tv.tv_usec + 1000000 * tv.tv_sec; + header->priority = EVEL_PRIORITY_NORMAL; + header->reporting_entity_name = strdup(openstack_vm_name()); + header->source_name = strdup(openstack_vm_name()); + header->sequence = event_sequence; + header->start_epoch_microsec = header->last_epoch_microsec; + header->major_version = EVEL_HEADER_MAJOR_VERSION; + header->minor_version = EVEL_HEADER_MINOR_VERSION; + event_sequence++; + + /***************************************************************************/ + /* Optional parameters. */ + /***************************************************************************/ + evel_init_option_string(&header->event_type); + evel_init_option_string(&header->nfcnaming_code); + evel_init_option_string(&header->nfnaming_code); + evel_force_option_string(&header->reporting_entity_id, openstack_vm_uuid()); + evel_force_option_string(&header->source_id, openstack_vm_uuid()); + evel_init_option_intheader(&header->internal_field); + + EVEL_EXIT(); +} + /**************************************************************************//** * Set the Event Type property of the event header. * diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event_mgr.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event_mgr.c index de4296df..a96124ab 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event_mgr.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_event_mgr.c @@ -144,6 +144,16 @@ EVEL_ERR_CODES event_handler_initialize(const char * const event_api_url, evel_throt_api_url = strdup(throt_api_url); assert(evel_throt_api_url != NULL); + + curl_version_info_data *d = curl_version_info(CURLVERSION_NOW); + /* compare with the 24 bit hex number in 8 bit fields */ + if(d->version_num >= 0x072100) { + /* this is libcurl 7.33.0 or later */ + EVEL_INFO("7.33 or later Curl version %x.",d->version_num); + } + else { + EVEL_INFO("Old Curl version."); + } /***************************************************************************/ /* Start the CURL library. Note that this initialization is not threadsafe */ /* which imposes a constraint that the EVEL library is initialized before */ @@ -408,7 +418,7 @@ EVEL_ERR_CODES event_handler_terminate() /*************************************************************************/ /* Make sure that the event handler knows it's time to die. */ /*************************************************************************/ - event = evel_new_internal_event(EVT_CMD_TERMINATE); + event = evel_new_internal_event(EVT_CMD_TERMINATE,"EVELinternal","EVELid"); if (event == NULL) { /***********************************************************************/ diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_fault.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_fault.c index 7cbadfe6..c211f607 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_fault.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_fault.c @@ -36,6 +36,8 @@ * function and are immutable once set. Optional fields have explicit * setter functions, but again values may only be set once so that the * Fault has immutable properties. + * @param event_name Unique Event Name confirming Domain AsdcModel Description + * @param event_id A universal identifier of the event for: troubleshooting correlation, analysis, etc * @param condition The condition indicated by the Fault. * @param specific_problem The specific problem triggering the fault. * @param priority The priority of the event. @@ -47,7 +49,9 @@ * not used (i.e. posted) it must be released using ::evel_free_fault. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_FAULT * evel_new_fault(const char * const condition, +EVENT_FAULT * evel_new_fault(const char * ev_name, + const char * ev_id, + const char * const condition, const char * const specific_problem, EVEL_EVENT_PRIORITIES priority, EVEL_SEVERITIES severity, @@ -81,7 +85,7 @@ EVENT_FAULT * evel_new_fault(const char * const condition, /* Initialize the header & the fault fields. Optional string values are */ /* uninitialized (NULL). */ /***************************************************************************/ - evel_init_header(&fault->header,"Fault"); + evel_init_header_nameid(&fault->header,ev_name,ev_id); fault->header.event_domain = EVEL_DOMAIN_FAULT; fault->header.priority = priority; fault->major_version = EVEL_FAULT_MAJOR_VERSION; diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_heartbeat_fields.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_heartbeat_fields.c index 73773edc..872af1f8 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_heartbeat_fields.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_heartbeat_fields.c @@ -35,6 +35,8 @@ * this factory function and are immutable once set. Optional fields * have explicit setter functions, but again values may only be set * once so that the event has immutable properties. + * @param event_name Unique Event Name confirming Domain AsdcModel Description + * @param event_id A universal identifier of the event for: troubleshooting correlation, analysis, etc * @param vendor_id The vendor id to encode in the event instance id. * @param event_id The vendor event id to encode in the event instance id. * @returns pointer to the newly manufactured ::EVENT_HEARTBEAT_FIELD. If the event @@ -42,7 +44,7 @@ * ::evel_free_hrtbt_field. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_HEARTBEAT_FIELD * evel_new_heartbeat_field(int interval) +EVENT_HEARTBEAT_FIELD * evel_new_heartbeat_field(int interval,const char* ev_name, const char *ev_id) { EVENT_HEARTBEAT_FIELD * event = NULL; @@ -68,7 +70,7 @@ EVENT_HEARTBEAT_FIELD * evel_new_heartbeat_field(int interval) /***************************************************************************/ /* Initialize the header & the Heartbeat fields fields. */ /***************************************************************************/ - evel_init_header(&event->header,"HeartbeatFields"); + evel_init_header_nameid(&event->header,ev_name,ev_id); event->header.event_domain = EVEL_DOMAIN_HEARTBEAT_FIELD; event->major_version = EVEL_HEARTBEAT_FIELD_MAJOR_VERSION; event->minor_version = EVEL_HEARTBEAT_FIELD_MINOR_VERSION; diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal.h b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal.h index f057fe87..46f71af1 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal.h +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal.h @@ -226,7 +226,7 @@ EVEL_ERR_CODES event_handler_run(); * ::evel_free_event. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_INTERNAL * evel_new_internal_event(EVT_HANDLER_COMMAND command); +EVENT_INTERNAL * evel_new_internal_event(EVT_HANDLER_COMMAND command,const char* ev_name, const char *ev_id); /**************************************************************************//** * Free an internal event. diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal_event.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal_event.c index 511c7d51..cb56c880 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal_event.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_internal_event.c @@ -43,12 +43,14 @@ * setter functions, but again values may only be set once so that the * Fault has immutable properties. * @param command The condition indicated by the event. + * @param event_name Unique Event Name confirming Domain AsdcModel Description + * @param event_id A universal identifier of the event for: troubleshooting correlation, analysis, etc * @returns pointer to the newly manufactured ::EVENT_INTERNAL. If the event * is not used (i.e. posted) it must be released using * ::evel_free_event. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_INTERNAL * evel_new_internal_event(EVT_HANDLER_COMMAND command) +EVENT_INTERNAL * evel_new_internal_event(EVT_HANDLER_COMMAND command,const char* ev_name, const char *ev_id) { EVENT_INTERNAL * event = NULL; EVEL_ENTER(); @@ -73,7 +75,7 @@ EVENT_INTERNAL * evel_new_internal_event(EVT_HANDLER_COMMAND command) /***************************************************************************/ /* Initialize the header & the event fields. */ /***************************************************************************/ - evel_init_header(&event->header,NULL); + evel_init_header_nameid(&event->header,ev_name,ev_id); event->header.event_domain = EVEL_DOMAIN_INTERNAL; event->command = command; diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_mobile_flow.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_mobile_flow.c index 0716e45f..5085d6a9 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_mobile_flow.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_mobile_flow.c @@ -80,6 +80,8 @@ void evel_json_encode_mobile_flow_gtp_flow_metrics( * factory function and are immutable once set. Optional fields have * explicit setter functions, but again values may only be set once so * that the Mobile Flow has immutable properties. + * @param event_name Unique Event Name confirming Domain AsdcModel Description + * @param event_id A universal identifier of the event for: troubleshooting correlation, analysis, etc * @param flow_direction Flow direction. * @param gtp_per_flow_metrics GTP per-flow metrics. * @param ip_protocol_type IP protocol type. @@ -93,7 +95,7 @@ void evel_json_encode_mobile_flow_gtp_flow_metrics( * ::evel_free_mobile_flow. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_MOBILE_FLOW * evel_new_mobile_flow( +EVENT_MOBILE_FLOW * evel_new_mobile_flow(const char* ev_name, const char *ev_id, const char * const flow_direction, MOBILE_GTP_PER_FLOW_METRICS * gtp_per_flow_metrics, const char * const ip_protocol_type, @@ -134,7 +136,7 @@ EVENT_MOBILE_FLOW * evel_new_mobile_flow( /* Initialize the header & the Mobile Flow fields. Optional string values */ /* are uninitialized (NULL). */ /***************************************************************************/ - evel_init_header(&mobile_flow->header,"MobileFlow"); + evel_init_header_nameid(&mobile_flow->header,ev_name,ev_id); mobile_flow->header.event_domain = EVEL_DOMAIN_MOBILE_FLOW; mobile_flow->major_version = EVEL_MOBILE_FLOW_MAJOR_VERSION; mobile_flow->minor_version = EVEL_MOBILE_FLOW_MINOR_VERSION; diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_other.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_other.c index 447ac9a4..c7a227b3 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_other.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_other.c @@ -39,7 +39,7 @@ * not used (i.e. posted) it must be released using ::evel_free_other. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_OTHER * evel_new_other() +EVENT_OTHER * evel_new_other(const char *ev_name, const char *ev_id) { EVENT_OTHER * other = NULL; EVEL_ENTER(); @@ -64,7 +64,7 @@ EVENT_OTHER * evel_new_other() /* Initialize the header & the Other fields. Optional string values are */ /* uninitialized (NULL). */ /***************************************************************************/ - evel_init_header(&other->header,"OtherEvent"); + evel_init_header_nameid(&other->header,ev_name,ev_id); other->header.event_domain = EVEL_DOMAIN_OTHER; other->major_version = EVEL_OTHER_EVENT_MAJOR_VERSION; other->minor_version = EVEL_OTHER_EVENT_MINOR_VERSION; diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_reporting_measurement.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_reporting_measurement.c index a7397237..36c34daa 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_reporting_measurement.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_reporting_measurement.c @@ -44,12 +44,13 @@ * that the Report has immutable properties. * * @param measurement_interval - + * @param event_name Unique Event Name + * @param event_id A universal identifier of the event for analysis etc * @returns pointer to the newly manufactured ::EVENT_REPORT. If the event is * not used (i.e. posted) it must be released using ::evel_free_event. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_REPORT * evel_new_report(double measurement_interval) +EVENT_REPORT * evel_new_report(double measurement_interval,const char *ev_name, const char *ev_id) { EVENT_REPORT * report = NULL; @@ -75,7 +76,7 @@ EVENT_REPORT * evel_new_report(double measurement_interval) /***************************************************************************/ /* Initialize the header & the report fields. */ /***************************************************************************/ - evel_init_header(&report->header,"Report"); + evel_init_header_nameid(&report->header,ev_name,ev_id); report->header.event_domain = EVEL_DOMAIN_REPORT; report->measurement_interval = measurement_interval; diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_scaling_measurement.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_scaling_measurement.c index f1b38e3c..22626f92 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_scaling_measurement.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_scaling_measurement.c @@ -37,13 +37,15 @@ * that the Measurement has immutable properties. * * @param measurement_interval + * @param event_name Unique Event Name confirming Domain AsdcModel Description + * @param event_id A universal identifier of the event for: troubleshooting correlation, analysis, etc * * @returns pointer to the newly manufactured ::EVENT_MEASUREMENT. If the * event is not used (i.e. posted) it must be released using * ::evel_free_event. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_MEASUREMENT * evel_new_measurement(double measurement_interval) +EVENT_MEASUREMENT * evel_new_measurement(double measurement_interval, const char* ev_name, const char *ev_id) { EVENT_MEASUREMENT * measurement = NULL; @@ -69,7 +71,7 @@ EVENT_MEASUREMENT * evel_new_measurement(double measurement_interval) /***************************************************************************/ /* Initialize the header & the measurement fields. */ /***************************************************************************/ - evel_init_header(&measurement->header,"vnfScalingMeasurement"); + evel_init_header_nameid(&measurement->header,ev_name,ev_id); measurement->header.event_domain = EVEL_DOMAIN_MEASUREMENT; measurement->measurement_interval = measurement_interval; dlist_initialize(&measurement->additional_info); @@ -3711,3 +3713,4 @@ void evel_free_measurement(EVENT_MEASUREMENT * event) EVEL_EXIT(); } + diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_sipsignaling.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_sipsignaling.c index 09c95cd0..45f53487 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_sipsignaling.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_sipsignaling.c @@ -33,6 +33,8 @@ * this factory function and are immutable once set. Optional fields * have explicit setter functions, but again values may only be set * once so that the event has immutable properties. + * @param event_name Unique Event Name confirming Domain AsdcModel Description + * @param event_id A universal identifier of the event for: troubleshooting correlation, analysis, etc * @param vendor_name The vendor id to encode in the event vnf field. * @param module The module to encode in the event. * @param vnfname The Virtual network function to encode in the event. @@ -41,7 +43,8 @@ * ::evel_free_signaling. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_SIGNALING * evel_new_signaling(const char * const vendor_name, +EVENT_SIGNALING * evel_new_signaling(const char* ev_name, const char *ev_id, + const char * const vendor_name, const char * const correlator, const char * const local_ip_address, const char * const local_port, @@ -72,7 +75,7 @@ EVENT_SIGNALING * evel_new_signaling(const char * const vendor_name, /***************************************************************************/ /* Initialize the header & the Signaling fields. */ /***************************************************************************/ - evel_init_header(&event->header,"SipSignaling"); + evel_init_header_nameid(&event->header,ev_name,ev_id); event->header.event_domain = EVEL_DOMAIN_SIPSIGNALING; event->major_version = EVEL_SIGNALING_MAJOR_VERSION; event->minor_version = EVEL_SIGNALING_MINOR_VERSION; diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_state_change.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_state_change.c index c9de5065..8915afaf 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_state_change.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_state_change.c @@ -34,6 +34,8 @@ * explicit setter functions, but again values may only be set once * so that the State Change has immutable properties. * + * @param event_name Unique Event Name confirming Domain AsdcModel Description + * @param event_id A universal identifier of the event for: troubleshooting correlation, analysis, etc * @param new_state The new state of the reporting entity. * @param old_state The old state of the reporting entity. * @param interface The card or port name of the reporting entity. @@ -43,7 +45,9 @@ * ::evel_free_state_change * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_STATE_CHANGE * evel_new_state_change(const EVEL_ENTITY_STATE new_state, +EVENT_STATE_CHANGE * evel_new_state_change(const char* ev_name, + const char *ev_id, + const EVEL_ENTITY_STATE new_state, const EVEL_ENTITY_STATE old_state, const char * const interface) { @@ -73,7 +77,7 @@ EVENT_STATE_CHANGE * evel_new_state_change(const EVEL_ENTITY_STATE new_state, /* Initialize the header & the State Change fields. Optional string */ /* values are uninitialized (NULL). */ /***************************************************************************/ - evel_init_header(&state_change->header,"StateChange"); + evel_init_header_nameid(&state_change->header,ev_name,ev_id); state_change->header.event_domain = EVEL_DOMAIN_STATE_CHANGE; state_change->major_version = EVEL_STATE_CHANGE_MAJOR_VERSION; state_change->minor_version = EVEL_STATE_CHANGE_MINOR_VERSION; diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_syslog.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_syslog.c index fb22df9f..85b0ec91 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_syslog.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_syslog.c @@ -33,6 +33,8 @@ * function and are immutable once set. Optional fields have explicit * setter functions, but again values may only be set once so that the * Syslog has immutable properties. + * @param event_name Unique Event Name confirming Domain AsdcModel Description + * @param event_id A universal identifier of the event for: troubleshooting correlation, analysis, etc * @param event_source_type The type of Syslog event source. * @param syslog_msg The Syslog event message. * @param syslog_tag The messgaeId identifying the type of message. @@ -41,7 +43,8 @@ * ::evel_free_syslog. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_SYSLOG * evel_new_syslog(EVEL_SOURCE_TYPES event_source_type, +EVENT_SYSLOG * evel_new_syslog(const char* ev_name, const char *ev_id, + EVEL_SOURCE_TYPES event_source_type, const char * const syslog_msg, const char * const syslog_tag) { @@ -71,7 +74,7 @@ EVENT_SYSLOG * evel_new_syslog(EVEL_SOURCE_TYPES event_source_type, /* Initialize the header & the Syslog fields. Optional string values are */ /* uninitialized (NULL). */ /***************************************************************************/ - evel_init_header(&syslog->header,"Syslog"); + evel_init_header_nameid(&syslog->header,ev_name,ev_id); syslog->header.event_domain = EVEL_DOMAIN_SYSLOG; syslog->major_version = EVEL_SYSLOG_MAJOR_VERSION; syslog->minor_version = EVEL_SYSLOG_MINOR_VERSION; diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_threshold_cross.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_threshold_cross.c index a0a9cc3d..f4fa620f 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_threshold_cross.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_threshold_cross.c @@ -35,6 +35,8 @@ * setter functions, but again values may only be set once so that the * TCA has immutable properties. * + * @param event_name Unique Event Name confirming Domain AsdcVnfModel Description + * @param event_id A universal identifier of the event for: troubleshooting correlation, analysis, etc * @param char* tcriticality Performance Counter Criticality MAJ MIN, * @param char* tname Performance Counter Threshold name * @param char* tthresholdCrossed Counter Threshold crossed value @@ -51,7 +53,8 @@ * ::evel_free_threshold_cross * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_THRESHOLD_CROSS * evel_new_threshold_cross( char * tcriticality, +EVENT_THRESHOLD_CROSS * evel_new_threshold_cross(const char * ev_name, const char * ev_id, + char * tcriticality, char * tname, char * tthresholdCrossed, char * tvalue, @@ -87,7 +90,7 @@ EVENT_THRESHOLD_CROSS * evel_new_threshold_cross( char * tcriticality, /***************************************************************************/ /* Initialize the header & the threshold crossing fields. */ /***************************************************************************/ - evel_init_header(&event->header,"thresholdCrossingAlert"); + evel_init_header_nameid(&event->header,ev_name,ev_id); event->header.event_domain = EVEL_DOMAIN_THRESHOLD_CROSS; event->major_version = EVEL_THRESHOLD_CROSS_MAJOR_VERSION; event->minor_version = EVEL_THRESHOLD_CROSS_MINOR_VERSION; diff --git a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_voicequality.c b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_voicequality.c index c3826cab..cf2ec878 100644 --- a/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_voicequality.c +++ b/vnfs/VES5.0/evel/evel-library/code/evel_library/evel_voicequality.c @@ -34,6 +34,8 @@ * factory function and are immutable once set. Optional fields have * explicit setter functions, but again values may only be set once * so that the Voice Quality has immutable properties. + * @param event_name Unique Event Name + * @param event_id A universal identifier of the event for analysis etc. * @param calleeSideCodec Callee codec for the call. * @param callerSideCodec Caller codec for the call. * @param correlator Constant across all events on this call. @@ -45,7 +47,8 @@ ::evel_free_voice_quality. * @retval NULL Failed to create the event. *****************************************************************************/ -EVENT_VOICE_QUALITY * evel_new_voice_quality(const char * const calleeSideCodec, +EVENT_VOICE_QUALITY * evel_new_voice_quality(const char* ev_name, const char *ev_id, + const char * const calleeSideCodec, const char * const callerSideCodec, const char * const correlator, const char * const midCallRtcp, const char * const vendorName) { @@ -82,7 +85,7 @@ EVENT_VOICE_QUALITY * evel_new_voice_quality(const char * const calleeSideCodec, /* Initialize the header & the fault fields. Optional integer values are */ /* initialized as 0. */ /***************************************************************************/ - evel_init_header(&voiceQuality->header,"voiceQuality"); + evel_init_header_nameid(&voiceQuality->header,ev_name,ev_id); voiceQuality->header.event_domain = EVEL_DOMAIN_VOICE_QUALITY; voiceQuality->major_version = EVEL_VOICEQ_MAJOR_VERSION; voiceQuality->minor_version = EVEL_VOICEQ_MINOR_VERSION;