blob: 5c9ceb86a3d63df88f19a3bfd32bdce6eadec97c [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
// //
// Copyright (c) 2000-2019 Ericsson Telecom AB //
// //
// All rights reserved. This program and the accompanying materials //
// are made available under the terms of the Eclipse Public License v2.0 //
// which accompanies this distribution, and is available at //
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html //
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// Module: EPTF_CLL_StatManager_Definitions
//
// Purpose:
// This module contains type definitions for TTCN-3 EPTF StatManager
// implementation.
//
// Module Parameters:
// tsp_EPTF_StatManager_... - *charstring* - details, default value: "..."
//
// Module depends on:
// <EPTF_CLL_DataSource_Definitions>
// <EPTF_CLL_StatMeasure_Definitions>
// <EPTF_CLL_Logging_Definitions>
// <EPTF_CLL_HashMap_Definitions>
//
// Current Owner:
// Balazs Lugossy (EBALLUG)
//
// Last Review Date:
//
//
// Detailed Comments:
// This module contains type definitions for TTCN-3 EPTF StatManager
// implementation.
//
///////////////////////////////////////////////////////////////////////////////
module EPTF_CLL_StatManager_Definitions {
import from EPTF_CLL_DataSource_Definitions all;
import from EPTF_CLL_StatMeasure_Definitions all;
import from EPTF_CLL_Logging_Definitions all;
import from EPTF_CLL_HashMap_Definitions all;
group ModulePars{
modulepar charstring tsp_EPTF_StatManager_loggingComponentMask := "EPTF_StatManager";
}//Modulepars
group Types{
///////////////////////////////////////////////////////////////////////////////
// Type: EPTF_StatManager_CT
//
// Purpose:
//
//
// Elements:
//
// Detailed Comments:
//
//
///////////////////////////////////////////////////////////////////////////////
type component EPTF_StatManager_CT
extends EPTF_StatMeasure_CT, EPTF_DataSourceClient_CT, EPTF_DataSource_CT, EPTF_Logging_CT, EPTF_HashMap_CT
{
private var boolean v_EPTF_StatManager_initialized := false; // init flag
// logging
private var integer v_StatManager_loggingMaskId := c_EPTF_Logging_invalidMaskId;
private var integer v_EPTF_StatManager_limitStatVarsHashMap := -1;
}
type record EPTF_StatManager_GoSPar {
integer nofSuccVarId,
integer nofFailVarId,
integer nofTimeoutVarId,
integer nofErrorVarId
}
}//Types
group Constants{
const charstring c_StatManager_DataSource_sourceId := "StatManager";
///////////////////////////////////////////////////////////////////////////////
// Constant: c_EPTF_StatManager_dataElement_Help
//
// Purpose:
// This data element returns the help information about
// all dataElements supported.
// ValueType: charstring
//
// Parameters:
// - <c_EPTF_DataSource_paramNameHelpFormat> - the format of the output
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_EPTF_StatManager_dataElement_help := c_EPTF_DataSource_dataElement_Help
const EPTF_DataSource_Help_DataElement c_EPTF_StatManager_Help_dataElement_help := c_EPTF_DataSource_Help_dataElement_genericHelp;
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_dataElementGoS
//
// Purpose:
// This dataElement creates/returns a limits statistics for a given source and reference variable.
// The type of the value of the data is: statusLEDType
//
// Parameters:
// c_StatManager_paramName_SuccessVarId - *integer* - Id of the variable containing the value of the Success counter
// c_StatManager_paramName_FailVarId - *integer* - Id of the variable containing the value of the Fail counter
// c_StatManager_paramName_TimeoutVarId - *integer* - Id of the variable containing the value of the Timeout counter
// c_StatManager_paramName_ErrorVarId - *integer* - Id of the variable containing the value of the Error counter
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_dataElementGoS := "GoS";
const EPTF_DataSource_Help_DataElement c_StatManager_Help_dataElementGoS := {
name := c_StatManager_dataElementGoS,
valueType := floatType,
description := "This dataElement creates/returns a GoS statistics for a given source variables.",
parameters := {
{
name := c_StatManager_paramName_SuccessVarId,
typeDescriptor := {
valueType := charstringType
},
description := "the name of the EPTF Variable that contains the Success data for the GoS statistics (its value should be integer type)",
exampleValue := "varNameThatContainsIntValue"
},{
name := c_StatManager_paramName_FailVarId,
typeDescriptor := {
valueType := charstringType
},
description := "the name of the EPTF Variable that contains the Fail data for the GoS statistics (its value should be integer type)",
exampleValue := "varNameThatContainsIntValue"
},{
name := c_StatManager_paramName_TimeoutVarId,
typeDescriptor := {
valueType := charstringType
},
description := "the name of the EPTF Variable that contains the Timeout data for the GoS statistics (its value should be integer type)",
exampleValue := "varNameThatContainsIntValue"
},{
name := c_StatManager_paramName_ErrorVarId,
typeDescriptor := {
valueType := charstringType
},
description := "the name of the EPTF Variable that contains the Error data for the GoS statistics (its value should be integer type)",
exampleValue := "varNameThatContainsIntValue"
}
}
}
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_dataElementLEDlimit
//
// Purpose:
// This dataElement creates/returns a limits statistics for a given source and reference variable.
// The type of the value of the data is: statusLEDType
//
// Parameters:
// c_StatManager_paramName_blackLimit - *charstring* - limiting value when the LED colour becomes black
// c_StatManager_paramName_blueLimit - *charstring* - limiting value when the LED colour becomes blue
// c_StatManager_paramName_redkLimit - *charstring* - limiting value when the LED colour becomes red
// c_StatManager_paramName_yellowLimit - *charstring* - limiting value when the LED colour becomes yellow
// c_StatManager_paramName_greenLimit - *charstring* - limiting value when the LED colour becomes green
// c_StatManager_paramName_defaultColor - *charstring* - default color of the statusLED
// c_StatManager_paramName_enableValueInLEDText - *boolean* - enable value indication
// c_StatManager_paramName_VarId - *integer* - Id of the source variable
// c_StatManager_paramName_referenceVarId - *integer* - Id of the reference variable
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_dataElementLEDlimit := "LEDlimit";
const EPTF_DataSource_Help_DataElement c_StatManager_Help_dataElementLEDlimit := {
name := c_StatManager_dataElementLEDlimit,
valueType := statusLEDType,
description := "This dataElement creates/returns a limits statistics for a given source and reference variable.",
parameters := {
{
name := c_StatManager_paramName_blackLimit,
typeDescriptor := {
valueType := floatType
},
description := "Limiting value above which the LED colour becomes black (optional)",
exampleValue := "10.0"
},{
name := c_StatManager_paramName_blueLimit,
typeDescriptor := {
valueType := floatType
},
description := "Limiting value above which the LED colour becomes blue (optional)",
exampleValue := "20.0"
},{
name := c_StatManager_paramName_redLimit,
typeDescriptor := {
valueType := floatType
},
description := "Limiting value above which the LED colour becomes red (optional)",
exampleValue := "30.0"
},{
name := c_StatManager_paramName_yellowLimit,
typeDescriptor := {
valueType := floatType
},
description := "Limiting value above which the LED colour becomes yellow (optional)",
exampleValue := "40.0"
},{
name := c_StatManager_paramName_greenLimit,
typeDescriptor := {
valueType := floatType
},
description := "Limiting value above which the LED colour becomes green (optional)",
exampleValue := "50.0"
},{
name := c_StatManager_paramName_defaultColor,
typeDescriptor := {
valueType := charstringType
},
description := "Specifies the default colour of the LED (colour below the lowest limit). Its value should be one of: \"blue\",\"black\",\"yellow\",\"green\" or \"red\". "&
"(optional, default: \"black\")",
exampleValue := "green"
},{
name := c_StatManager_paramName_enableValueInLEDText,
typeDescriptor := {
valueType := charstringType
},
description := "If set to \"yes\": enables value indication in the label of the statusLED. "&
"When enabled, the value of the data variable will appear in the LED text. Possible values: \"yes\", \"no\" (optional, default: \"no\")",
exampleValue := "yes"
},{
name := c_StatManager_paramName_VarId,
typeDescriptor := {
valueType := charstringType
},
description := "the name of the EPTF Variable that contains the source data for the limits statistics (its value should be float or integer type)",
exampleValue := "varNameThatContainsFloatOrIntValue"
},{
name := c_StatManager_paramName_referenceVarId,
typeDescriptor := {
valueType := charstringType
},
description := "The name of the reference variable (optional). "&
"If specified the limits are considered as relative difference in percentile from the value of the reference variable."
&" If not specified, the limits will be taken as absolute values. The reference variable should contain a float or integer type value.",
exampleValue := "referenceVarNameThatContainsFloatOrIntValue"
}
}
}
/* ///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_limitList
//
// Purpose:
// A list of the limits that specifies the color of a statusLED
// It has to be specified in the following form:
// "redLimit=25 yellowLimit=50 ... greenLimit=100"
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_limitList := "limitList"*/
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_blackLimit
//
// Purpose:
// To specify the value range of the limit statistic for which the statusLED shall be black
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_blackLimit := "blackLimit"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_blueLimit
//
// Purpose:
// To specify the value range of the limit statistic for which the statusLED shall be blue
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_blueLimit := "blueLimit"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_redLimit
//
// Purpose:
// To specify the value range of the limit statistic for which the statusLED shall be red
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_redLimit := "redLimit"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_yellowLimit
//
// Purpose:
// To specify the value range of the limit statistic for which the statusLED shall be yellow
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_yellowLimit := "yellowLimit"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_greenLimit
//
// Purpose:
// To specify the value range of the limit statistic for which the statusLED shall be green
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_greenLimit := "greenLimit"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_defaultColor
//
// Purpose:
// Specifies the default color of the statusLED
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_defaultColor := "defaultColor"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_enableValueInLEDText
//
// Purpose:
// Enables value indication in the label of the statusLED
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_enableValueInLEDText := "enableValueInLEDText"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_varId
//
// Purpose:
// Variable for the limit stat
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_VarId := "VarId"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_referenceVarId
//
// Purpose:
// Reference variable for the limit stat
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_referenceVarId := "refVarId"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_varId
//
// Purpose:
// Value for the limit stat
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_value := "value"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_referenceVarId
//
// Purpose:
// Reference value for the limit stat
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_referenceValue := "refValue"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_SuccessVarId
//
// Purpose:
// Variable for the GoS stat that contains the number of Success counter
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_SuccessVarId := "SuccessVarName"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_FailVarId
//
// Purpose:
// Variable for the GoS stat that contains the number of Fail counter
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_FailVarId := "FailVarName"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_TimeoutVarId
//
// Purpose:
// Variable for the GoS stat that contains the number of Timeout counter
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_TimeoutVarId := "TimeoutVarName"
///////////////////////////////////////////////////////////////////////////////
// Constant: c_StatManager_paramName_ErrorVarId
//
// Purpose:
// Variable for the GoS stat that contains the number of Error counter
//
///////////////////////////////////////////////////////////////////////////////
const charstring c_StatManager_paramName_ErrorVarId := "ErrorVarName"
///////////////////////////////////////////////////////////
// Constant: c_EPTF_StatManager_loggingEventClasses
//
// Purpose:
// list of logging event class names used on the StatManager
//
// Detailed Comments:
// <EPTF_Logging_EventClassPrefixList> { "Warning", "Debug" }
///////////////////////////////////////////////////////////
const EPTF_Logging_EventClassPrefixList c_EPTF_StatManager_loggingEventClasses := { "Warning", "Debug" };
///////////////////////////////////////////////////////////
// Constant: c_EPTF_StatManager_loggingClassIdx_Warning
//
// Purpose:
// logging class index for Warning
//
// Detailed Comments:
// *0*
///////////////////////////////////////////////////////////
const integer c_EPTF_StatManager_loggingClassIdx_Warning := 0;
///////////////////////////////////////////////////////////
// Constant: c_EPTF_StatManager_loggingClassIdx_Debug
//
// Purpose:
// logging class index for Debug
//
// Detailed Comments:
// *1*
///////////////////////////////////////////////////////////
const integer c_EPTF_StatManager_loggingClassIdx_Debug := 1;
const charstring c_EPTF_StatManager_floatNumber := "[+-]#(0,1)[0-9]#(1,)[.]#(1,1)[0-9]#(1,)"; // float number: "12.354", "-1.23", "+1.254"
const charstring c_EPTF_StatManager_integerNumber := "[+-]#(0,1)[0-9]#(1,)";
// the datasource help database for StatManager
const EPTF_DataSource_Help_DataElementChildren c_EPTF_StatManager_help := {
{
dataElement := c_EPTF_StatManager_Help_dataElement_help
},
{
dataElement := c_StatManager_Help_dataElementLEDlimit
},
{
dataElement := c_StatManager_Help_dataElementGoS
}
}
}//Constants
} // module