| --- |
| Author: Zoltán János Sváner |
| Version: 27/198 17-CNL 113 512, Rev. B |
| Date: 2011-09-06 |
| |
| --- |
| = EPTF CLL StatHandler, User Guide |
| :author: Zoltán János Sváner |
| :revnumber: 27/198 17-CNL 113 512, Rev. B |
| :revdate: 2011-09-06 |
| :toc: |
| |
| == About This Document |
| |
| === How to Read This Document |
| |
| This is the User Guide for the StatHandler of the Ericsson Performance Test Framework (TitanSim), Core Load Library (CLL). TitanSim CLL is developed for the TTCN-3 <<_1, [1]>> Toolset with TITAN <<_2, [2]>>. This document should be read together with the Function Description of the `StatHandler` feature <<_5, [5]>>. For more information on the TitanSim CLL consult the User's Guide <<_4, [4]>> and the Function Specification <<_3, [3]>> of the TitanSim. |
| |
| == System Requirements |
| |
| In order to use the StatHandler feature the system requirements listed in TitanSim CLL User's Guide <<_4, [4]>> should be fulfilled. |
| |
| = StatHandler |
| |
| == Overview |
| |
| The EPTF `StatHandler` feature makes it possible to collect global, aggregated statistics via the existing EPTF Variable (see <<_6, [6]>>) interface. |
| |
| The `StatHandler` feature consists of master and client components. Users of the `StatHandler` feature can declare aggregated statistics with a certain statistics method (for example,` Sum`), and register local or third party data sources (EPTF Variables). |
| |
| [[description_of_files_in_this_feature]] |
| == Description of Files in This Feature |
| |
| The EPTF CLL `StatHandler` API includes the following files: |
| |
| * __EPTF_CLL_StatHandlerClient_Definitions.ttcn__ - This TTCN-3 module contains common type definitions that should be used in all `StatHandlerClient` Components. |
| * __EPTF_CLL_StatHandlerClient_Functions.ttcn__ - This TTCN-3 module contains the implementation of the `StatHandlerClient` functions. |
| * __EPTF_CLL_StatHandlerLogging_Definitions.ttcn__ - This TTCN-3 module contains common type definitions used for logging in the `StatHandler` feature. |
| * __EPTF_CLL_StatHandlerLogging_Functions.ttcn__ - This TTCN-3 module contains the implementation of the common logging functions used in the `StatHandler` feature. |
| * __EPTF_CLL_StatHandlerUI_Definitions.ttcn__ - This TTCN-3 module contains common type definitions used by the UI handling part of the `StatHandler` feature. |
| * __EPTF_CLL_StatHandlerUI_Functions.ttcn__ - This TTCN-3 module contains the implementation of the UI handling part of the `StatHandler` feature. |
| * __EPTF_CLL_StatHandler_Definitions.ttcn__ - This TTCN-3 module contains common type definitions that should be used in all `StatHandler` master components. |
| * __EPTF_CLL_StatHandler_Functions.ttcn__ - This TTCN-3 module contains the implementation of the `StatHandler` functions. |
| * __EPTF_CLL_StatHandler_DSFunctions.ttcn__ - This TTCN-3 module contains the implementation of the `StatHandler` DataSource functionality. |
| |
| [[description_of_required_files_from_other_features]] |
| == Description of Required Files From Other Features |
| |
| The `StatHandler` feature is part of the TitanSim EPTF Core Load Library (CLL). It relies on several features of the CLL. To use the `StatHandler`, the user has to obtain the respective files from the following features: |
| |
| * `Base` |
| * `Common` |
| * `FreeBusyQueue` |
| * `HashMap` |
| * `Logging` |
| * `Semaphore` |
| * `StatMeasure` |
| * `UIHandler` |
| * `Variable` |
| * `DataSource` |
| |
| == Installation |
| |
| Since `EPTF_CLL_StatHandler` is used as a part of the TTCN-3 test environment this requires TTCN-3 Test Executor to be installed before any operation of these functions. For more details on the installation of TTCN-3 Test Executor see the relevant section of <<_2, [2]>>. |
| |
| If not otherwise noted in the respective sections, the following are needed to use `EPTF_CLL_StatHandler`: |
| |
| * Copy the files listed in section <<description_of_files_in_this_feature, Description of Files in This Feature>> and <<description_of_required_files_from_other_features, Description of Required Files From Other Features>> to the directory of the test suite or create symbolic links to them. |
| * Import the StatHandler demo or write your own application using StatHandler. |
| * Create Makefile or modify the existing one. For more details see the relevant section of <<_2, [2]>>. |
| * Edit the config file according to your needs, see following section <<configuration, Configuration>>. |
| |
| [[configuration]] |
| == Configuration |
| |
| The executable test program behavior is determined via the run-time configuration file. This is a simple text file, which contains various sections. The usual suffix of configuration files is _.cfg_. For further information on the configuration file see <<_2, [2]>>. |
| |
| This `StatHandler` feature defines TTCN-3 module parameters as defined in <<_2, [2]>>, clause 4. Actual values of these parameters – when no default value or a different from the default actual value wished to be used – shall be given in the `[MODULE_PARAMETERS]` section of the configuration file. |
| |
| === Module Parameters of the StatHandler Feature |
| |
| * `tsp_EPTF_StatHandler_nameSeparator` |
| + |
| This charstring type module parameter is defined in module `EPTF_CLL_StatHandler_Definitions`. It is used to define the separator string used for name creation in the feature. |
| + |
| Its default value is `_"."_`. |
| |
| * `tsp_debug_EPTF_StatHandler` |
| + |
| This boolean type module parameter is defined in module `EPTF_CLL_StatHandler_Functions`. It can be used for debugging purposes. |
| + |
| Its default value is `_false_`. |
| |
| * `tsp_debug_StatHandlerClient_autoDisconnectTimeout` |
| + |
| This float type module parameter is defined in module `EPTF_CLL_StatHandlerClient_Definitions`. It defines the inactivity time after which the `StatHandlerClient` will disconnect from all connected `StatHandler` master components to free port resources after `StatHandler` has been set up. Its default value is `_5.0_` for 5 seconds. The disconnect operation is only performed on the `StatHandler` management port, the collection of statistics will continue and the reset button will be handled via the EPTF Variable interface. The client re-connects to the server if it needs to send a new management message to it. It is recommended to set this value to the same as `tsp_EPTF_maxRunningTime` (which has a default value of `_2147483.0_`) if an automatic disconnection is not preferred. |
| |
| * `tsp_debug_EPTF_StatHandlerClient` |
| + |
| This boolean type module parameter is defined in module `EPTF_CLL_StatHandlerClient_Functions`. It can be used for debugging purposes. Its default value is `_false_`. |
| |
| = Error Messages |
| |
| NOTE: Besides the below described error messages, error messages shown in <<_2, [2]>> or those of other used features or product may also appear. |
| |
| `*f_EPTF_StatHandler_setMethodForStat: stat method <statMethod> for integer stat <statName> is not supported.*` |
| |
| The method `<statMethod>` that was set for statistics `<statName>` is not supported for integer statistics. |
| |
| `*f_EPTF_StatHandler_setMethodForStat: Cannot set <statMethod> stat method for stat <statName> := <statResetValue>*` |
| |
| The method `<statMethod>` cannot be set for statistics <statName> as the type of the reset value `<statResetValue>` is not supported by `statHandler`. |
| |
| `*f_EPTF_StatHandler_createAuxData_Percentile95: Could not create aux stat <auxStatName> for Percentile95.*` |
| |
| The auxiliary statistics with name `<auxStatName>` could not be declared. |
| |
| `*f_EPTF_StatHandler_createAuxData_PercentileP: Could not create aux stat <auxStatName> for PercentileP.*` |
| |
| The auxiliary statistics with name `<auxStatName>` could not be declared. |
| |
| `*as_EPTF_StatHandlerClient_msgHandler: unexpected message received from <sender>*` |
| |
| The `<sender>` component sent an unexpected message to the `StatHandlerClient`. |
| |
| `*f_EPTF_StatHandlerUI_initGUI: cannot add element to gui (<returnValue>): <xul>*` |
| |
| The element described by the `<xul>` data structure could not be added to the GUI. The result of the operation is `<returnValue>`. |
| |
| = Warning Messages |
| |
| NOTE: Besides the below described warning messages, warning messages shown in <<_2, [2]>> or those of other used features or product may also appear. |
| |
| `*f_EPTF_StatHandler_declareStat: redeclaration of <statName> with different properties.*` |
| |
| The statistics with name `<statName>` was re-declared with a different statistics method or reset value. |
| |
| `*f_EPTF_StatHandler_registerStat: called while reset is in progress*` |
| |
| A data source was attempted to be registered during reset progress. |
| |
| `*f_EPTF_StatHandler_registerStat: provider variable list is empty*` |
| |
| No provider variables were specified for data source registration. |
| |
| `*f_EPTF_StatHandler_registerStat: no such statistics: <statName>*` |
| |
| The statistics with name `<statName>` does not exist. |
| |
| `*f_EPTF_StatHandler_registerStat_Single: provider variable list for `"statMethod>" statistics "<statName>" has multiple elements, expected single numerical variable.*` |
| |
| The data source registered should consist of a single element. |
| |
| `*f_EPTF_StatHandler_registerStat_Single: invalid source type for stat <statName>*` |
| |
| The type of the data source variable differs from the type of the statistics. |
| |
| `*f_EPTF_StatHandler_registerStat_Mean: provider variable list for "<statMethod>" statistics "<statName>" needs two elements: local mean and number of samples.*` |
| |
| The data source registered should consist of a local mean and a number of samples variable. |
| |
| `*f_EPTF_StatHandler_registerStat_Mean: invalid source types for stat <statName>*` |
| |
| Provider variable "local mean" should be float, "number of samples" should be integer type. |
| |
| `*f_EPTF_StatHandler_registerStat_StandardDev: provider variable list for "<statMethod>" statistics "<statName>" needs three elements: local mean, number of samples and S.*` |
| |
| The data source registered should consist of a local mean, a number of samples and a "S" variable. |
| |
| `*f_EPTF_StatHandler_registerStat_StandardDev: invalid source type for stat <statName>*` |
| |
| Provider variable "local mean" should be float, "number of samples" should be integer and "S" should be float type. |
| |
| `*f_EPTF_StatHandler_registerStat_GlobalAverage: provider variable list for <statMethod> statistics <statName> needs two elements: sum and element number.*` |
| |
| The data source registered should consist of a sum and a element number variable. |
| |
| `*f_EPTF_StatHandler_registerStat_GlobalAverage: invalid source type for stat <statName>*` |
| |
| Provider variable sum should be float, "number of samples" should be integer type. |
| |
| `*f_EPTF_StatHandler_registerStat_Density: provider variable list for "<statMethod>" statistics "<statName>" needs two elements: density and boundaries.*` |
| |
| The data source registered should consist of a density and a boundaries variable. |
| |
| `*f_EPTF_StatHandler_registerStat_Density: invalid source type for stat <statName>*` |
| |
| Provider variable "density" should be integer list, "boundaries" should be float list type. |
| |
| `*f_EPTF_StatHandler_registerStat_Density: boundaries <sourceBoundaries> of source differs from boundaries <statBoundaries> stored for the stat <statName>*` |
| |
| The boundaries part of the data source is not the same as the boundaries of the statistics. The latter is assigned the value of the first registered data source. |
| |
| `*f_EPTF_StatHandler_registerStat_Percentile95: provider variable list for "<statMethod>" statistics "<statName>" needs three elements: density, boundaries and max.*` |
| |
| The data source registered should consist of a density, a boundaries and a max variable. |
| |
| `*f_EPTF_StatHandler_registerStat_Percentile95: could not register source for aux stat <auxStatName>*` |
| |
| The source could not be registered for the auxiliary statistics. |
| |
| `*f_EPTF_StatHandler_registerStat_PercentileP: provider variable list for "<statMethod>" statistics "<statName>" needs four elements: density, boundaries, max and pValue.*` |
| |
| The data source registered should consist of a density, a boundaries, a max and a `pValue` variable. |
| |
| `*f_EPTF_StatHandler_registerStat_PercentileP: could not register source for aux stat <auxStatName>*` |
| |
| The source could not be registered for the auxiliary statistics. |
| |
| `*f_EPTF_StatHandler_registerStat_PercentileP: pValue <pValue> of source differs from pValue <pValue>* *stored for the stat*` |
| |
| The `pValue` of the data source variable differs from the `pValue` of the statistics. |
| |
| `*f_EPTF_StatHandler_boundariesPostproc: ``boundaries'' part of source <sourceIndex> changed for stat <statName>*` |
| |
| The boundaries part of the data source was changed by the providing component. |
| |
| `*f_EPTF_StatHandler_boundariesPostproc: source providing Variable with index <index> not found in stat <statName>*` |
| |
| The source which boundaries was changed is not in the source list of statistics `<statName>`. |
| |
| `*as_EPTF_StatHandler_behavior: unexpected message received from <client>*` |
| |
| Client sent an unexpected message to the `StatHandler`. |
| |
| `*f_EPTF_StatHandler_setMethodForStat: Stat method "<method>" for integer stat "<statName>" is unsupported or not yet supported.*` |
| |
| Stat method passed to `declareStat` is undefined. |
| |
| `*f_EPTF_StatHandler_setMethodForStat: Stat method "<method>" for float stat "<statName>" is unsupported or not yet supported.*` |
| |
| Stat method passed to `declareStat` is undefined. |
| |
| `*f_EPTF_StatHandler_setMethodForStat: Stat method "<method>" for float-list stat "<statName>" is unsupported or not yet supported.*` |
| |
| Stat method passed to `declareStat` is undefined. |
| |
| `*f_EPTF_StatHandlerClient_registerResetFunction: cannot register null function reference.*` |
| |
| The function reference specified is `_null_`. |
| |
| `*f_EPTF_StatHandlerClient_registerResetFunction: re-registration of reset function <function>*` |
| |
| The function reference is already registered. |
| |
| `*f_EPTF_StatHandlerClient_registerResetFunction: cannot deregister null function reference.*` |
| |
| The function reference specified is `_null_`. |
| |
| `*as_EPTF_StatHandlerClient_autoDisconnect: restarting auto disconnect timer, pending messages: <n>*` |
| |
| The automatic disconnect timer is restarted because there are <n> pending messages. |
| |
| `*f_EPTF_StatHandlerUI_addLocalResetButton: cannot add element to gui: <xul>*` |
| |
| The element with data structure `<xul>` could not be added to the GUI. |
| |
| `*as_EPTF_StatHandlerUI_behavior: statistics not found: <statName>*` |
| |
| The statistics `<statName>` referred by a bind-to-widget operation was not declared. |
| |
| `*f_EPTF_StatHandler_DSProcessData: Unhandled element:*` |
| |
| This warning message is reported when the DataSource functionality is used and the current data element is unknown for the feature. |
| |
| `*f_EPTF_StatHandler_DSProcessData: Invalid iterator or externalData or parameter:*` |
| |
| This warning message is reported when the DataSource functionality is used and the something with the request was wrong. |
| |
| `*f_EPTF_StatHandler_getParams: Parameters are not correct:*` |
| |
| This warning message is reported when the DataSource functionality is used and the parameters of the current data element are not correct. |
| |
| `*f_EPTF_StatHandler_getParams: Too few parameter is given:*` |
| |
| This warning message is reported when the DataSource functionality is used and the parameters of the current data element are less than required. |
| |
| `*f_EPTF_StatHandler_getParams: Too many parameters are given:*` |
| |
| This warning message is reported when the DataSource functionality is used and the parameters of the current data element are more than required. |
| |
| = Examples |
| |
| The "demo" directory of the deliverable contains the following examples: |
| |
| * __EPTF_StatHandler_Demo.cfg__ |
| * __EPTF_StatHandler_Demo.prj__ |
| * __EPTF_StatHandler_Demo.ttcn__ |
| |
| = Terminology |
| |
| *TitanSim Core (Load) Library(CLL):* + |
| It is that part of the TitanSim software that is totally project independent. (I.e., which is not protocol-, or application-dependent). The TitanSim CLL is to be supplied and supported by the TCC organization. Any TitanSim CLL development is to be funded centrally by Ericsson |
| |
| *Statistics:* + |
| They are temporal statistics of EPTF Variables measured by the StatMeasure feature. The value of a statistics is calculated from a single EPTF Variable, as it changes throughout the time of execution. |
| |
| *Aggregated Stat:* + |
| They are EPTF Variables calculated from other EPTF Variables (data sources). The word stat or statistics refers aggregated statistics throughout this document. |
| |
| *Auxiliary Statistics:* + |
| It is an aggregated statistics that is not declared by the user of StatHandler directly, but as a result of declaring another stat. That statistics uses the calculated value of the auxiliary stat in its calculations. |
| |
| *Auxiliary Variable:* + |
| An EPTF Variable used by an aggregated statistics to store some data. |
| |
| *Provider Variable:* + |
| The Variable that affects the value of a given EPTF Variable. |
| |
| = Abbreviations |
| |
| CLL:: Core Load Library |
| |
| EPTF:: Ericsson Load Test Framework, formerly TITAN Load Test Framework |
| |
| GUI:: Graphics User Interface |
| |
| TitanSim:: Ericsson Load Test Framework, formerly TITAN Load Test Framework |
| |
| TTCN-3:: Testing and Test Control Notation version 3 [1] |
| |
| = References |
| |
| [[_1]] |
| [1] ETSI ES 201 873-1 v3.2.1 (2007-02) + |
| The Testing and Test Control Notation version 3. Part 1: Core Language |
| |
| [[_2]] |
| [2] User Guide for the TITAN TTCN-3 Test Executor |
| |
| [[_3]] |
| [3] TitanSim CLL for TTCN-3 toolset with TITAN, Function Specification |
| |
| [[_4]] |
| [4] TitanSim CLL for TTCN-3 toolset with TITAN, User Guide |
| |
| [[_5]] |
| [5] EPTF CLL StatHandler, Function Description |
| |
| [[_6]] |
| [6] EPTF CLL Variable, User Guide |
| |
| [[_7]] |
| [7] TitanSim CLL for TTCN-3 toolset with TITAN + |
| http://ttcn.ericsson.se/products/libraries.shtml[Reference Guide] |