note description: "Base class for all profiling nodes" author: "Comerge AG, DR" date: "$Date$" revision: "$Revision$" deferred class AP_PROFILING_NODE inherit A_NODE redefine ems_connection, aranea_prefix, config_parser, create_backend_listener end PROFILING_CONSTANTS --create -- make_profiling_node feature -- Creation make_profiling_node is -- Create the node do create app_timestamps.make_default create ems_timestamps.make_default create backend_listener.make (Current) -- we don't want to use any config file therefore we create a test node make_test_node end feature -- Access Name: !STRING is once Result := "Aranea Profiling Node" end Version: !STRING is once Result := "$Revision$" end ems_connection: STRING is -- EMS connection string. once Result := default_ems_connection Result := Result.twin end aranea_prefix: STRING is -- Aranea queue prefix once Result := aranea_queue_name_prefix Result := Result.twin end config_parser: A_CONF_PARSER is -- Access to the configuration values once Result := create {A_TEST_CONF_PARSER}.make_test end clean_results is -- additional cleanup operations before the results are being computed do -- empty default implementation, redefine if needed end feature -- Measurement app_timestamps: DS_ARRAYED_LIST [INTEGER_64] -- timestamps taken in the application layer ems_timestamps: DS_ARRAYED_LIST [INTEGER_64] -- timestamps taken in the ems layer feature {NONE} -- Implementation backend_listener: AP_BACKEND_LISTENER create_msg_factory: A_MESSAGE_FACTORY is -- Create the message factory local l_factory: AP_MESSAGE_FACTORY do create l_factory.make -- l_factory.set_node (Current) -- create {AP_PROFILING_MESSAGE_FACTORY}Result.make Result := l_factory end create_backend_listener: A_BACKEND_LISTENER is -- Creates a backend listener. do Result := backend_listener end end