smart scanner metrics
This commit is contained in:
parent
803f946c7e
commit
ebd8b36d13
@ -2,9 +2,9 @@ Compile function Lot_Services(@Service, @Params)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
Declare function TEST_WAFER_PROD_SERVICES, SRP_Datetime, Datetime, Database_Services, Lot_Services, Error_Services, RTI_CREATEGUID
|
||||
Declare function SRP_Array, SRP_Json, Environment_Services, Logging_Services, MemberOf, Lot_Event_Services
|
||||
Declare function SRP_Array, SRP_Json, Environment_Services, Logging_Services, MemberOf, Lot_Event_Services, GetTickCount
|
||||
Declare subroutine Database_Services, Btree.Extract, Lot_Services, Error_Services, Labeling_Services, SRP_Json, Logging_Services
|
||||
Declare subroutine SRP_Run_Command, Service_Services, obj_notes, Lot_Event_Services
|
||||
Declare subroutine SRP_Run_Command, Service_Services, obj_notes, Lot_Event_Services, Mona_Services
|
||||
$insert APP_INSERTS
|
||||
$Insert LOT_EQUATES
|
||||
$Insert TEST_WAFER_PROD_EQUATES
|
||||
@ -38,6 +38,13 @@ objLotClosureLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',',
|
||||
Options EVENT_TYPES = 'MOVE_IN', 'MOVE_OUT', 'HOLD_ON', 'HOLD_OFF', 'REDUCE_WAFER_QTY', 'BONUS_WAFER_QTY', 'COMMENT', 'LOCATION', 'LOAD', 'UNSIGN_LOAD', 'TW_USE', 'CLOSE'
|
||||
Options LOT_TYPES = 'TW', 'RDS', 'WM_OUT', 'WM_IN', 'WO_MAT', 'LOT'
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_LOTSERVICES'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_LOTSERVICES'
|
||||
end
|
||||
|
||||
GoToService
|
||||
|
||||
Return Response or ""
|
||||
@ -113,6 +120,9 @@ Service GenerateNewLotId(LotType)
|
||||
end service
|
||||
|
||||
Service GetLotIdByLegacyLotIdAndType(LegacyLotId, LegacyLotType)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'GetLotIdByLegacyLotIdAndType'
|
||||
|
||||
Open 'DICT.LOT' to DictLot then
|
||||
|
||||
SearchString = ''
|
||||
@ -130,10 +140,16 @@ Service GetLotIdByLegacyLotIdAndType(LegacyLotId, LegacyLotType)
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error opening LOT dictionary.'
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
Service CreateNewLot(LotType, ProdName, LotQty, VendorPartNo, VendorLotNo, VendorCode, Username, PrinterID, LotId)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CreateNewLot'
|
||||
|
||||
CreatedLotNumber = ''
|
||||
ErrorMessage = ''
|
||||
Begin Case
|
||||
@ -279,6 +295,8 @@ Service CreateNewLot(LotType, ProdName, LotQty, VendorPartNo, VendorLotNo, Vendo
|
||||
end
|
||||
Response = CreatedLotNumber
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
End Service
|
||||
|
||||
|
||||
@ -484,6 +502,9 @@ end service
|
||||
|
||||
//Returns a @FM delimited list of operations in sequence
|
||||
Service GetLotOperationSequence(LotId)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'GetLotOperationSequence'
|
||||
|
||||
LotOperationsInSequence = ''
|
||||
If LotID NE '' then
|
||||
//Get Operations
|
||||
@ -496,9 +517,15 @@ Service GetLotOperationSequence(LotId)
|
||||
//error: lot id was null
|
||||
end
|
||||
Response = LotOperationsInSequence
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service GetLotCurrOperationId(LotId)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'GetLotCurrOperationId'
|
||||
|
||||
CurrOperation = ''
|
||||
If LotID NE '' then
|
||||
//Get them in sequence first
|
||||
@ -515,9 +542,15 @@ Service GetLotCurrOperationId(LotId)
|
||||
//error: lot id was null
|
||||
end
|
||||
Response = CurrOperation
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service GetLotCurrOperationName(LotId)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'GetLotCurrOperationName'
|
||||
|
||||
CurrOperationId = ''
|
||||
CurrOperationName = ''
|
||||
If LotID NE '' then
|
||||
@ -536,6 +569,9 @@ Service GetLotCurrOperationName(LotId)
|
||||
//error: lot id was null
|
||||
end
|
||||
Response = CurrOperationName
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service AddLotOperationIntoSequence(LotId, NewOperationId, NewSequence, Rework)
|
||||
@ -591,6 +627,9 @@ Service AddLotOperationIntoSequence(LotId, NewOperationId, NewSequence, Rework)
|
||||
end service
|
||||
|
||||
Service IsLotMovedIn(LotId)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'IsLotMovedIn'
|
||||
|
||||
Response = ''
|
||||
If RowExists('LOT', LotId) then
|
||||
CurrOperId = Lot_Services('GetLotCurrOperationId', LotId)
|
||||
@ -601,6 +640,9 @@ Service IsLotMovedIn(LotId)
|
||||
Response = False$
|
||||
end
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service IsOperationCompleted(LotOperationId)
|
||||
@ -619,6 +661,8 @@ Service IsOperationCompleted(LotOperationId)
|
||||
end service
|
||||
|
||||
Service MoveInLot(LotID, Operator)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'MoveInLot'
|
||||
|
||||
ErrorMessage = ''
|
||||
ThisLotCurrOperationID = ''
|
||||
@ -667,9 +711,15 @@ Service MoveInLot(LotID, Operator)
|
||||
Logging_Services('AppendLog', objLotMoveLog, LogData, @RM, @FM, False$)
|
||||
Error_Services('Add', ErrorMessage)
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service MoveOutLot(LotID, Operator)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'MoveOutLot'
|
||||
|
||||
ErrorMessage = ''
|
||||
ThisLotCurrOperationID = ''
|
||||
If LotId NE '' then
|
||||
@ -729,6 +779,9 @@ Service MoveOutLot(LotID, Operator)
|
||||
Logging_Services('AppendLog', objLotMoveLog, LogData, @RM, @FM, False$)
|
||||
Error_Services('Add', ErrorMessage)
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service ConvertLotRecordToJson(LotId, ItemURL, CurrUser, FullObject=BOOLEAN)
|
||||
@ -855,6 +908,9 @@ Service ConvertLotRecordToJson(LotId, ItemURL, CurrUser, FullObject=BOOLEAN)
|
||||
end service
|
||||
|
||||
Service OpenLot(LotId)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'OpenLot'
|
||||
|
||||
ErrorMessage = ''
|
||||
If RowExists('LOT', LotId) then
|
||||
LotRec = Database_Services('ReadDataRow', 'LOT', LotId, True$, 0, False$)
|
||||
@ -871,9 +927,15 @@ Service OpenLot(LotId)
|
||||
If ErrorMessage NE '' then
|
||||
Error_Services('Add', ErrorMessage)
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service CloseLot(LotId)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CloseLot'
|
||||
|
||||
ErrorMessage = ''
|
||||
If RowExists('LOT', LotId) then
|
||||
LotRec = Database_Services('ReadDataRow', 'LOT', LotId, True$, 0, False$)
|
||||
@ -890,6 +952,9 @@ Service CloseLot(LotId)
|
||||
If ErrorMessage NE '' then
|
||||
Error_Services('Add', ErrorMessage)
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service AutoCloseTestWaferLot(LotId, CloseUserId)
|
||||
@ -989,15 +1054,26 @@ Service AutoCloseTestWaferLot(LotId, CloseUserId)
|
||||
end service
|
||||
|
||||
Service HoldLot(LotId, OperatorId)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'HoldLot'
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service UnholdLot(LotId, OperatorId)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'UnholdLot'
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
Service ReduceLotWaferCount(LotId, ReductionQty, OperatorId)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'ReduceLotWaferCount'
|
||||
|
||||
ErrorMessage = ''
|
||||
If RowExists('LOT', LotId) then
|
||||
LotRec = Database_Services('ReadDataRow', 'LOT', LotId, True$, 0, False$)
|
||||
@ -1043,9 +1119,15 @@ Service ReduceLotWaferCount(LotId, ReductionQty, OperatorId)
|
||||
if ErrorMessage NE '' then
|
||||
Error_Services('Add', ErrorMessage)
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service IncreaseLotWaferCount(LotId, IncreaseQty, OperatorId)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'IncreaseLotWaferCount'
|
||||
|
||||
ErrorMessage = ''
|
||||
If RowExists('LOT', LotId) then
|
||||
LotRec = Database_Services('ReadDataRow', 'LOT', LotId, True$, 0, False$)
|
||||
@ -1087,6 +1169,8 @@ Service IncreaseLotWaferCount(LotId, IncreaseQty, OperatorId)
|
||||
Error_Services('Add', ErrorMessage)
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service OpenOIWizardCreateTWLotInBrowser()
|
||||
@ -1095,6 +1179,9 @@ Service OpenOIWizardCreateTWLotInBrowser()
|
||||
end service
|
||||
|
||||
Service CreateNewVoidedLotRecord(LotId, LegacyLotId, LotType=LOT_TYPES, Username)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CreateNewVoidedLotRecord'
|
||||
|
||||
ErrorMessage = ''
|
||||
If RowExists('LSL_USERS', Username) then
|
||||
If LotType NE '' then
|
||||
@ -1165,16 +1252,8 @@ Service CreateNewVoidedLotRecord(LotId, LegacyLotId, LotType=LOT_TYPES, Username
|
||||
If ErrorMessage NE '' then
|
||||
//Todo Log Error Message
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -178,6 +178,11 @@ Service SendBufferedAverageMetric(MonaResource, MetricName, MetricValue)
|
||||
|
||||
end service
|
||||
|
||||
Service QueueLatencyAndCountMetrics(MonaResource, MetricName, StartTick, EndTick)
|
||||
Diff = EndTick - StartTick
|
||||
Mona_Services('SendMetric', MonaResource, MetricName:'_LATENCY', Diff)
|
||||
Mona_Services('SendMetric', MonaResource, MetricName:'_COUNT', 1)
|
||||
end service
|
||||
|
||||
SwapResourceNames:
|
||||
|
||||
@ -201,4 +206,3 @@ SwapResourceNames:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
@ -20,7 +20,7 @@ COMPILE FUNCTION obj_Post_Log(Method,Parms)
|
||||
|
||||
|
||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Get_Property, obj_RDS, Database_Services, Environment_Services
|
||||
DECLARE FUNCTION Logging_Services, Datetime, SRP_DateTime
|
||||
DECLARE FUNCTION Logging_Services, Datetime, SRP_DateTime, GetTickCount
|
||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, Send_Dyn, RList, obj_WO_Log, Send_Event, obj_RDS
|
||||
DECLARE SUBROUTINE obj_WO_Mat, Send_Info, obj_Notes, ErrMsg, Logging_Services, Mona_Services
|
||||
|
||||
@ -42,6 +42,13 @@ Headers = 'Logging DTM' : @FM : 'WOMatKey' : @FM : ' SAPBatchNo' : @FM : 'Fa
|
||||
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJPOSTLOG'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJPOSTLOG'
|
||||
end
|
||||
|
||||
ErrTitle = 'Error in Stored Procedure "obj_Post_Log"'
|
||||
ErrorMsg = ''
|
||||
|
||||
@ -116,6 +123,9 @@ RETURN
|
||||
Post:
|
||||
* * * * * * *
|
||||
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'Post'
|
||||
|
||||
hSysLists = Database_Services('GetTableHandle', 'SYSLISTS')
|
||||
ServiceKeyID = 'Obj_Post_Log*Post'
|
||||
Lock hSysLists, ServiceKeyID then
|
||||
@ -229,5 +239,9 @@ Post:
|
||||
Unlock hSysLists, ServiceKeyID else Null
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
@ -18,8 +18,8 @@ COMPILE FUNCTION obj_Reactor(Method,Parms)
|
||||
|
||||
|
||||
|
||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg
|
||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables
|
||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg, Mona_Services
|
||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Environment_Services, GetTickCount
|
||||
|
||||
|
||||
$INSERT REACTOR_EQUATES
|
||||
@ -28,6 +28,14 @@ $INSERT REACT_STATE_EQUATES
|
||||
$INSERT REACT_ITEM_EQUATES
|
||||
$INSERT MSG_EQUATES
|
||||
$insert REACTOR_CHILD_KEY_IDS_EQUATES
|
||||
$Insert LOGICAL
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJREACTOR'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJREACTOR'
|
||||
end
|
||||
|
||||
ErrTitle = 'Error in Stored Procedure "obj_Reactor"'
|
||||
ErrorMsg = ''
|
||||
@ -66,6 +74,9 @@ RETURN Result
|
||||
CurrItem:
|
||||
* * * * * * *
|
||||
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CurrItem'
|
||||
|
||||
ReactNo = Parms[1,@RM]
|
||||
ItemType = Parms[COL2()+1,@RM]
|
||||
ReactRec = Parms[COL2()+1,@RM]
|
||||
@ -96,6 +107,9 @@ LOCATE ItemType IN CurrInstTypes USING @VM SETTING Pos THEN
|
||||
Result = FIELD(CurrInstItems<1,Pos>,'*',2)
|
||||
END
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@ -103,6 +117,9 @@ RETURN
|
||||
CurrGraphite:
|
||||
* * * * * * *
|
||||
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CurrGraphite'
|
||||
|
||||
ReactNo = Parms[1,@RM]
|
||||
ReactRec = Parms[COL2()+1,@RM]
|
||||
|
||||
@ -135,6 +152,9 @@ FOR I = 1 TO ciCnt
|
||||
END
|
||||
NEXT I
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
@ -15,10 +15,10 @@ COMPILE FUNCTION obj_React_State(Method,Parms)
|
||||
*/
|
||||
|
||||
|
||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg, Database_Services
|
||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, ErrMsg, Database_Services, Mona_Services
|
||||
|
||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, NextKey, Send_Dyn, Database_Services, Error_Services
|
||||
|
||||
Declare function Environment_Services, GetTickCount
|
||||
|
||||
$INSERT REACT_STATE_EQUATES
|
||||
$INSERT PROD_SPEC_EQUATES
|
||||
@ -28,6 +28,12 @@ $INSERT LOGICAL
|
||||
EQU CRLF$ TO \0D0A\
|
||||
EQU TAB$ TO \09\
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJREACTSTATE'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJREACTSTATE'
|
||||
end
|
||||
|
||||
ErrTitle = 'Error in Stored Procedure "obj_React_State"'
|
||||
ErrorMsg = ''
|
||||
@ -62,6 +68,9 @@ RETURN Result
|
||||
ReactRunUnload:
|
||||
* * * * * * *
|
||||
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'ReactRunUnload'
|
||||
|
||||
* Upadate all parameters set at Reactor Unload signature *
|
||||
|
||||
ReactNo = Parms[1,@RM]
|
||||
@ -115,6 +124,9 @@ end
|
||||
* otParms = FieldStore(otParms,@RM,4,0,RSRec)
|
||||
* obj_Tables('WriteRec',otParms)
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
@ -20,9 +20,9 @@ COMPILE FUNCTION obj_React_Status(Method,Parms)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Dialog_Box,NextKey, Popup, Get_Property, Database_Services
|
||||
DECLARE FUNCTION Error_Services, Environment_Services, Logging_Services, Override_Log_Services
|
||||
DECLARE FUNCTION Error_Services, Environment_Services, Logging_Services, Override_Log_Services, GetTickCount
|
||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, Btree.Extract, ErrMsg, Database_Services, Rlist
|
||||
DECLARE SUBROUTINE Logging_Services
|
||||
DECLARE SUBROUTINE Logging_Services, Mona_Services
|
||||
|
||||
$INSERT LOGICAL
|
||||
$INSERT MSG_EQUATES
|
||||
@ -43,6 +43,13 @@ LogFilename = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] :
|
||||
Headers = 'Logging DTM' : @FM : 'User' : @FM : 'CassNo' : @FM : 'RDSNo' : @FM : 'Load DTM' : @FM : 'Service' : @FM : 'Notes'
|
||||
objReactStatusLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJREACTSTATUS'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJREACTSTATUS'
|
||||
end
|
||||
|
||||
ErrTitle = 'Error in Stored Procedure "obj_React_Status"'
|
||||
ErrorMsg = ''
|
||||
|
||||
@ -125,6 +132,9 @@ RETURN
|
||||
CassLoad:
|
||||
* * * * * * *
|
||||
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CassLoad'
|
||||
|
||||
ReactNo = Parms[1,@RM]
|
||||
WONo = Parms[COL2()+1,@RM]
|
||||
CassNo = Parms[COL2()+1,@RM]
|
||||
@ -203,12 +213,17 @@ CassLoad:
|
||||
|
||||
Result = IdleTime
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
CassUnload:
|
||||
* * * * * * *
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CassUnload'
|
||||
|
||||
ReactNo = Parms[1,@RM]
|
||||
WONo = Parms[COL2()+1,@RM]
|
||||
@ -271,12 +286,17 @@ CassUnload:
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
ReactorLoad:
|
||||
* * * * * * *
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'ReactorLoad'
|
||||
|
||||
* EpiPro Reactor Load
|
||||
|
||||
@ -362,11 +382,16 @@ ReactorLoad:
|
||||
ErrorMsg = 'Unable to read REACT_STATUS record ':ReactNo:' for update (':Method:').'
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
RETURN
|
||||
|
||||
* * * * * * *
|
||||
ReactorUnload:
|
||||
* * * * * * *
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'ReactorUnload'
|
||||
|
||||
* EpiPro Reactor Unload
|
||||
|
||||
@ -432,6 +457,9 @@ ReactorUnload:
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
@ -28,11 +28,12 @@ Compile Function obj_WO_Mat(Method,Parms)
|
||||
Declare Function Get_Status, Msg, Utility, obj_Tables, Dialog_Box,NextKey, Popup, Get_Property, obj_RDS, RetStack
|
||||
Declare Function Database_Services, GaN_Services, Logging_Services, Environment_Services, Signature_Services
|
||||
Declare Function obj_WO_Mat, obj_WM_In, obj_WM_Out, obj_Prod_Spec, obj_Clean_Insp, obj_Calendar, obj_Popup
|
||||
Declare Function Error_Services, Memberof, Datetime
|
||||
Declare Function Error_Services, Memberof, Datetime, GetTickCount
|
||||
Declare Subroutine Set_Status, Msg, obj_Tables, Send_Dyn, Btree.Extract, ErrMsg, Send_Dyn, RList, obj_WO_Log, Send_Event
|
||||
Declare Subroutine obj_RDS, Extract_SI_Keys, obj_Pend_Ship_Labels, obj_WO_Mat_QA, Work_Order_Services, Service_Services
|
||||
Declare Subroutine obj_notes, obj_Clean_Insp, obj_Post_Log, Send_Info, obj_WO_Mat_Log, obj_SAP, obj_WO_Mat, obj_WO_Wfr
|
||||
Declare Subroutine Logging_Services, Set_Property, Delete, Database_Services, SRP_Stopwatch, Material_Services
|
||||
Declare subroutine Mona_Services
|
||||
|
||||
$Insert MSG_EQUATES
|
||||
$Insert WO_MAT_EQUATES
|
||||
@ -120,6 +121,13 @@ SAPFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' SetS
|
||||
SAPHeaders = 'Logging DTM' : @FM : 'WOMatKey' : @FM : 'SAPBatchNo'
|
||||
objSAPLog = Logging_Services('NewLog', SAPLogPath, SAPFileName, CRLF$, Comma$, SAPHeaders, '', False$, False$)
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJWOMAT'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJWOMAT'
|
||||
end
|
||||
|
||||
IF NOT(ASSIGNED(Method)) THEN ErrorMsg = 'Unassigned parameter "Method" passed to subroutine'
|
||||
IF NOT(ASSIGNED(Parms)) THEN Parms = ''
|
||||
|
||||
@ -634,6 +642,9 @@ RETURN
|
||||
CurrStatus:
|
||||
* * * * * * *
|
||||
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CurrStatus'
|
||||
|
||||
IF NOT(ASSIGNED(WOMatKey)) THEN WOMatKey = Parms[1,@RM]
|
||||
IF NOT(ASSIGNED(WOMatRec)) THEN WOMatRec = Parms[COL2()+1,@RM]
|
||||
|
||||
@ -894,6 +905,9 @@ CurrStatus:
|
||||
|
||||
IF Result = 'RTS' AND WOMatRec<WO_MAT_SHIP_HOLD$> = 1 THEN Result = 'SHOLD'
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@ -5566,3 +5580,4 @@ ExpCOA:
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
@ -17,9 +17,9 @@ COMPILE FUNCTION obj_WO_Mat_Log(Method,Parms)
|
||||
|
||||
|
||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Dialog_Box, NextKey, Popup, Get_Property, obj_RDS, Database_Services
|
||||
Declare function Logging_Services, Environment_Services, RTI_CreateGUID, Error_Services, Datetime
|
||||
Declare function Logging_Services, Environment_Services, RTI_CreateGUID, Error_Services, Datetime, GetTickCount
|
||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn, Btree.Extract, ErrMsg, Send_Dyn, RList, obj_WO_Log, Send_Event, obj_RDS
|
||||
DECLARE SUBROUTINE obj_WO_Mat, Send_Info, obj_Notes, Logging_Services, Database_Services, Lot_Event_Services
|
||||
DECLARE SUBROUTINE obj_WO_Mat, Send_Info, obj_Notes, Logging_Services, Database_Services, Lot_Event_Services, Mona_Services
|
||||
|
||||
$INSERT MSG_EQUATES
|
||||
$INSERT WO_MAT_LOG_EQUATES
|
||||
@ -49,6 +49,13 @@ Headers = 'Logging DTM'
|
||||
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJWOMATLOG'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJWOMATLOG'
|
||||
end
|
||||
|
||||
ErrTitle = 'Error in Stored Procedure "obj_WO_Mat_Log"'
|
||||
ErrorMsg = ''
|
||||
|
||||
@ -77,6 +84,8 @@ RETURN Result
|
||||
* * * * * * *
|
||||
Create:
|
||||
* * * * * * *
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'Create'
|
||||
|
||||
LogFile = Parms[1,@RM]
|
||||
TransDTM = Parms[COL2()+1,@RM]
|
||||
@ -233,6 +242,8 @@ Create:
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
RETURN
|
||||
|
||||
|
||||
@ -364,3 +375,4 @@ Post:
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
@ -15,8 +15,9 @@ COMPILE FUNCTION obj_WO_React(Method,Parms)
|
||||
*/
|
||||
|
||||
|
||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, NextKey, obj_Prod_Spec, obj_WO_Mat_QA
|
||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, RList, ErrMsg, Btree.Extract, obj_WO_Mat_QA
|
||||
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, NextKey, obj_Prod_Spec, obj_WO_Mat_QA, GetTickCount
|
||||
Declare function Environment_Services
|
||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, RList, ErrMsg, Btree.Extract, obj_WO_Mat_QA, Mona_Services
|
||||
|
||||
$INSERT MSG_EQUATES
|
||||
$INSERT WO_REACT_EQUATES
|
||||
@ -24,6 +25,7 @@ $INSERT PRS_STAGE_EQUATES
|
||||
$INSERT WO_MAT_EQUATES
|
||||
$INSERT RDS_EQUATES
|
||||
$INSERT QA_MET_EQUATES ;* Used in GetQAMet data structure return variable
|
||||
$Insert LOGICAL
|
||||
|
||||
|
||||
ErrTitle = 'Error in Stored Procedure "obj_PRS_Prop"'
|
||||
@ -40,6 +42,13 @@ END
|
||||
Result = ''
|
||||
Log = ''
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_OBJWOREACT'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_OBJWOREACT'
|
||||
end
|
||||
|
||||
BEGIN CASE
|
||||
CASE Method = 'AddRdsNo' ; GOSUB AddRdsNo
|
||||
CASE Method = 'RemRdsNo' ; GOSUB RemRdsNo
|
||||
@ -61,6 +70,9 @@ RETURN Result
|
||||
AddRdsNo:
|
||||
* * * * * * *
|
||||
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'AddRdsNo'
|
||||
|
||||
WONo = Parms[1,@RM]
|
||||
StepNo = Parms[COL2()+1,@RM]
|
||||
ReactNo = Parms[COL2()+1,@RM]
|
||||
@ -135,6 +147,9 @@ obj_Tables('WriteOnlyRec',otParms) ;* Done with updates to the WO_REA
|
||||
|
||||
Result = Log
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@ -143,6 +158,9 @@ RETURN
|
||||
RemRDSNo:
|
||||
* * * * * * *
|
||||
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'RemRDSNo'
|
||||
|
||||
WONo = Parms[1,@RM]
|
||||
StepNo = Parms[COL2()+1,@RM]
|
||||
ReactNo = Parms[COL2()+1,@RM]
|
||||
@ -218,6 +236,9 @@ obj_Tables('WriteOnlyRec',otParms) ;* Done with updates to the WO_REA
|
||||
|
||||
Result = Log
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
@ -143,7 +143,7 @@ Declare subroutine RTI_Set_Debugger, Database_Services, Btree.Extract, Extract_
|
||||
Declare subroutine Set_Status, Sleepery, Winyield, Yield, SRP_COM, QA_Services, Logging_Services, Obj_RDS
|
||||
Declare subroutine Validate, obj_WO_Mat, obj_WO_Mat_Log, obj_React_Status, Record_Lock, obj_React_State, obj_Post_Log
|
||||
Declare subroutine RDS_Services, obj_WO_React, RDS_React_Run, Signature_Services, SQL_Services, SRP_Stopwatch
|
||||
Declare subroutine Override_Services, Reactor_Services, Lot_Services
|
||||
Declare subroutine Override_Services, Reactor_Services, Lot_Services, Mona_Services
|
||||
Declare function SRP_Sort_Array, Metrology_Services, obj_RDS_Test, obj_Test_Point_Map, Database_Services
|
||||
Declare function Work_Order_Services, SRP_JSON, Logging_Services, Environment_Services, SRP_Trim, Error_Services
|
||||
Declare function Min, Max, SRPSendMail, Btree.Extract, GetTickCount, HTTPClient_Services, Obj_RDS, SQL_Services
|
||||
@ -177,6 +177,13 @@ LogFilename = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] :
|
||||
Headers = 'Logging DTM' : @FM : 'User' : @FM : 'CassNo' : @FM : 'RDSNo' : @FM : 'Load DTM' : @FM : 'Service' : @FM : 'Notes'
|
||||
objReactStatusLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_QASERVICES'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_QASERVICES'
|
||||
end
|
||||
|
||||
GoToService else
|
||||
Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
||||
end
|
||||
@ -1671,6 +1678,8 @@ end service
|
||||
// False$ otherwise.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service PreEpiSignatureReady(RDSNo, Username, WaferQty, Reactor)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'PreEpiSignatureReady'
|
||||
|
||||
If (RDSNo EQ '') or (Username EQ '') or (WaferQty EQ '') or (Reactor EQ '') then
|
||||
ErrorMessage = 'RDSNo, Username, WaferQty, or Reactor not supplied in the ':Service:' service.'
|
||||
@ -1769,6 +1778,8 @@ Service PreEpiSignatureReady(RDSNo, Username, WaferQty, Reactor)
|
||||
Response = False$
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -1785,6 +1796,8 @@ end service
|
||||
// Reponse - True$ if PRE stage was successfully signed, False$ otherwise.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service SignPreEpiStage(RDSNo, Username, WaferQty, Reactor, ScanEntry)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'SignPreEpiStage'
|
||||
|
||||
Error_Services('Clear')
|
||||
If (RDSNo EQ '') or (Username EQ '') or (WaferQty EQ '') or (Reactor EQ '') then
|
||||
@ -1962,6 +1975,8 @@ Service SignPreEpiStage(RDSNo, Username, WaferQty, Reactor, ScanEntry)
|
||||
Response = False$
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -1981,6 +1996,8 @@ end service
|
||||
// False$ otherwise.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service LoadSignatureReady(RDSNo, Username, WaferQty, LLSide, PreFlag, ReactNoOpt)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'LoadSignatureReady'
|
||||
|
||||
Error_Services('Clear')
|
||||
If (RDSNo EQ '') or (Username EQ '') or (WaferQty EQ '') then
|
||||
@ -2227,6 +2244,8 @@ Service LoadSignatureReady(RDSNo, Username, WaferQty, LLSide, PreFlag, ReactNoOp
|
||||
Response = False$
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -2315,6 +2334,8 @@ end service
|
||||
// False$ otherwise.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service SignLoadStage(RDSNo, Username, WaferQty, LLSide, ScanEntry)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'SignLoadStage'
|
||||
|
||||
Error_Services('Clear')
|
||||
If (RDSNo EQ '') or (Username EQ '') or (WaferQty EQ '') then
|
||||
@ -2522,6 +2543,8 @@ Service SignLoadStage(RDSNo, Username, WaferQty, LLSide, ScanEntry)
|
||||
Response = False$
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -2537,6 +2560,8 @@ end service
|
||||
// False$ otherwise.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service UnloadSignatureReady(RDSNo, Username, Reactor)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'UnloadSignatureReady'
|
||||
|
||||
If (RDSNo EQ '') or (Username EQ '') or (Reactor EQ '') then
|
||||
ErrorMsg = 'RDSNo or Username or Reactor not supplied in the ':Service:' service.'
|
||||
@ -2683,6 +2708,8 @@ Service UnloadSignatureReady(RDSNo, Username, Reactor)
|
||||
Response = False$
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -2769,6 +2796,9 @@ end service
|
||||
// Response - True$ if UNLOAD stage was successfully signed , False$ otherwise.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service SignUnloadStage(RDSNo, Username, ScanEntry)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'SignUnloadStage'
|
||||
|
||||
If (RDSNo EQ '') or (Username EQ '') then
|
||||
ErrorMsg = 'RDSNo or Username not supplied in the ':Service:' service.'
|
||||
Error_Services('Add', ErrorMsg)
|
||||
@ -2961,6 +2991,8 @@ Service SignUnloadStage(RDSNo, Username, ScanEntry)
|
||||
Response = False$
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -3611,3 +3643,4 @@ ClearCursors:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
@ -115,7 +115,7 @@ AutoDisplayErrors = FALSE$ ; // Set this to True$ when debugging so all erro
|
||||
Declare subroutine SRP_Stopwatch, Error_Services, obj_Tables, Metrology_Services, obj_RDS_Test, SRP_JSON, Logging_Services
|
||||
Declare subroutine RTI_Set_Debugger, Database_Services, Btree.Extract, Extract_SI_Keys, Obj_WO_Mat, Obj_WO_Mat_Log
|
||||
Declare subroutine Dialog_Box, Obj_Notes, RList, Set_Status, Errmsg, Obj_React_Status , Reactor_Services
|
||||
Declare subroutine Rds_Services, Obj_Post_Log
|
||||
Declare subroutine Rds_Services, Obj_Post_Log, Mona_Services
|
||||
Declare function SRP_Sort_Array, Metrology_Services, obj_RDS_Test, obj_Test_Point_Map, Database_Services
|
||||
Declare function Work_Order_Services, SRP_JSON, Logging_Services, Environment_Services, SRP_Trim, Error_Services
|
||||
Declare function Memberof, Obj_WO_Mat, Obj_WO_Mat_Log, SRP_Array, DateTime, Dialog_Box, obj_Prod_Spec
|
||||
@ -131,6 +131,13 @@ Headers = 'Logging DTM':@FM:'Ctrl':@FM:'Load/Calculate Time'
|
||||
objCtrlLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, COMMA$, Headers, '', False$, False$)
|
||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_RDSSERVICES'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_RDSSERVICES'
|
||||
end
|
||||
|
||||
GoToService else
|
||||
Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
||||
end
|
||||
@ -226,6 +233,8 @@ End Service
|
||||
// to an RDS record.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service AddComment(RDSNo, Comment, UsernameOpt)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'AddComment'
|
||||
|
||||
RDSRow = Database_Services('ReadDataRow', 'RDS', RDSNo)
|
||||
Username = @USER4
|
||||
@ -248,6 +257,8 @@ Service AddComment(RDSNo, Comment, UsernameOpt)
|
||||
oblParms := "TOP" :@VM: "TOP" :@VM: "TOP"
|
||||
obj_Post_Log('Create',oblParms)
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
End Service
|
||||
|
||||
|
||||
@ -750,6 +761,9 @@ Service IsValidSubLot(RDSNo, RDSType, SupplierLot)
|
||||
end service
|
||||
|
||||
Service GetRDSRunHistoryByReactorAndWO(ReactorNo, WO)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'GetRDSRunHistoryByReactorAndWO'
|
||||
|
||||
table = "RDS"
|
||||
ErrorMessage = ''
|
||||
RDSRecords = ''
|
||||
@ -783,10 +797,16 @@ Service GetRDSRunHistoryByReactorAndWO(ReactorNo, WO)
|
||||
end
|
||||
Next RDS
|
||||
Response = FinalRDSSortedByAssignmentDTM<1>
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
Service IsTWLoggingReqd(RDSNo)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'IsTWLoggingReqd'
|
||||
|
||||
IsTWReqd = False$
|
||||
ExistingTWRuns = Test_Run_Services('GetTestRunKeysByRDS', RDSNo)
|
||||
If ExistingTWRuns EQ '' then
|
||||
@ -847,6 +867,9 @@ Service IsTWLoggingReqd(RDSNo)
|
||||
IsTWReqd = False$
|
||||
end
|
||||
Response = IsTWReqd
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service TestWaferRanAfterLoad(RDSNo)
|
||||
@ -1099,6 +1122,8 @@ end service
|
||||
|
||||
|
||||
Service CopyRDSLayerParameters(RDSNo)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CopyRDSLayerParameters'
|
||||
|
||||
If (RDSNo NE '') then
|
||||
RunOrderNo = Xlate('RDS', RDSNo, 'RUN_ORDER_NUM', 'X')
|
||||
@ -1151,6 +1176,8 @@ Service CopyRDSLayerParameters(RDSNo)
|
||||
Error_Services('Add', 'RDSNo not supplied in ':Service:' service.')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -1829,3 +1856,4 @@ return
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -78,7 +78,7 @@ Declare function SRP_Math, SRP_Hash, SRP_JSON, Epi_Part_Services, Schedule_Se
|
||||
Declare function Logging_Services, GetCommandLine, NextKey, Reactor_Log_Services, SRP_DateTime, ole_getwebpage
|
||||
Declare function Datetime, Reactor_Modes_Services, Work_Order_Services, React_Mode_NG_Services, Lsl_Users_Services
|
||||
Declare function SRP_Time, Rds_Services, SRP_Fastarray, Httpclient_Services, SRP_List, Utility, Memberof, Error_Services
|
||||
Declare function Nica_Orders_Services, Max, RTI_CreateGUID
|
||||
Declare function Nica_Orders_Services, Max, RTI_CreateGUID, GetTickCount
|
||||
|
||||
// Report paths for various performance report services.
|
||||
TemplatesFolder = Environment_Services('GetApplicationRootPath') : '\Reports\Scheduler\Templates\'
|
||||
@ -91,6 +91,13 @@ LogDate = Oconv(Date(), 'D4/')
|
||||
LogTime = Oconv(Time(), 'MTS')
|
||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_REACTORSERVICES'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_REACTORSERVICES'
|
||||
end
|
||||
|
||||
GoToService else
|
||||
|
||||
end
|
||||
@ -116,6 +123,8 @@ Options REACTORMETRIC = 'TUBE_BELL_JAR_THK', 'TUBE_BELL_JAR_WFR_CNT', 'SUSC_THK'
|
||||
//
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service IncrementWfrMetrics(RDSNo)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'IncrementWfrMetrics'
|
||||
|
||||
// Get Reactor and run count details
|
||||
RDSRec = Xlate('RDS', RDSNo, '', 'X', '')
|
||||
@ -217,6 +226,8 @@ Service IncrementWfrMetrics(RDSNo)
|
||||
|
||||
Database_Services('WriteDataRow', 'REACTOR', ReactorNo, NewReactorRec, 1, 0, 0)
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -3603,6 +3614,8 @@ end service
|
||||
|
||||
|
||||
Service GetReactorAvailChamberCount(ReactNo)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'GetReactorAvailChamberCount'
|
||||
|
||||
ErrMsg = 'Error in ReactorServices -> GetReactorAvailChamberCount: '
|
||||
AvailableChamberCount = 0
|
||||
@ -3622,6 +3635,8 @@ Service GetReactorAvailChamberCount(ReactNo)
|
||||
end
|
||||
Response = AvailableChamberCount
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -4340,3 +4355,4 @@ ClearCursors:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
@ -45,9 +45,9 @@ $insert RDS_EQUATES
|
||||
$insert SCAN_SETUP
|
||||
|
||||
Declare Function Scan_Services, Database_Services, QA_Services, Datetime, RDS_Services, SRP_Array, SRP_Stopwatch
|
||||
Declare function Logging_Services, Environment_Services
|
||||
Declare function Logging_Services, Environment_Services, GetTickCount
|
||||
Declare Subroutine Scan_Services, Database_Services, QA_Services, obj_WO_Mat_Log, SRP_Stopwatch
|
||||
Declare Subroutine Logging_Services
|
||||
Declare Subroutine Logging_Services, Mona_Services
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\ScanAPI\APIResponseTime'; //Define the directory where the log will be saved to. This happens the first time of the day that the log is written to.
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
@ -58,6 +58,13 @@ LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : '
|
||||
Headers = 'Logging DTM' : @FM : 'API' : @FM : 'ResponseTime' : @FM : 'ScanID' : @FM : 'ScanData' : @VM : 'StatusCode' ; //Define the column names in the log file, delimited by a Field Mark.
|
||||
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',', Headers, '', False$, False$); //Actually creates the log.
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_SCANAPI'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_SCANAPI'
|
||||
end
|
||||
|
||||
GoToAPI else
|
||||
// The specific resource endpoint doesn't have a API handler yet.
|
||||
HTTP_Services('SetResponseStatus', 200, 'This is a valid endpoint but a web API handler has not yet been created.')
|
||||
@ -72,16 +79,25 @@ Return Response OR ''
|
||||
|
||||
|
||||
API scan.POST
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'SCAN_POST'
|
||||
|
||||
SRP_Stopwatch('Reset')
|
||||
SRP_Stopwatch('Start', 'SCAN_POST_RESPONSE_TIME')
|
||||
ScanID = Scan_Services('CreateScansRow')
|
||||
If Error_Services('NoError') then
|
||||
StatusCode = 201
|
||||
GoSub CreateHALItem
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||
end else
|
||||
Message = Error_Services('GetMessage')
|
||||
HTTP_Services('SetResponseStatus', 500, Message)
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'CRITICAL')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
SRP_Stopwatch('Stop', 'SCAN_POST_RESPONSE_TIME')
|
||||
TotalPostResponseTime = SRP_Stopwatch('GetData', 'SCAN_POST_RESPONSE_TIME')
|
||||
LogData = ''
|
||||
@ -100,6 +116,9 @@ end api
|
||||
|
||||
|
||||
API scan.ID.POST
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'SCAN_ID_POST'
|
||||
|
||||
SRP_Stopwatch('Reset')
|
||||
SRP_Stopwatch('Start', 'SCAN_ID_POST_RESPONSE_TIME')
|
||||
ScanID = EndpointSegment
|
||||
@ -112,13 +131,20 @@ API scan.ID.POST
|
||||
If Error_Services('NoError') then
|
||||
StatusCode = 200
|
||||
GoSub CreateHALItem
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||
end else
|
||||
Message = Error_Services('GetMessage')
|
||||
HTTP_Services('SetResponseStatus', 400, Message)
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'CRITICAL')
|
||||
end
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 400, 'JSON object is missing from the request.')
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
SRP_Stopwatch('Stop', 'SCAN_ID_POST_RESPONSE_TIME')
|
||||
TotalPostResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_POST_RESPONSE_TIME')
|
||||
LogData = ''
|
||||
@ -143,11 +169,19 @@ end api
|
||||
|
||||
API scan.ID.HEAD
|
||||
API scan.ID.GET
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'SCAN_ID_GET'
|
||||
|
||||
SRP_Stopwatch('Reset')
|
||||
SRP_Stopwatch('Start', 'SCAN_ID_GET_RESPONSE_TIME')
|
||||
ScanID = EndpointSegment
|
||||
StatusCode = 200
|
||||
GoSub CreateHALItem
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
SRP_Stopwatch('Stop', 'SCAN_ID_POST_RESPONSE_TIME')
|
||||
TotalGetResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_GET_RESPONSE_TIME')
|
||||
LogData = ''
|
||||
@ -166,6 +200,9 @@ end api
|
||||
|
||||
|
||||
API scan.ID.DELETE
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'SCAN_ID_DELETE'
|
||||
|
||||
SRP_Stopwatch('Reset')
|
||||
SRP_Stopwatch('Start', 'SCAN_ID_DELETE_RESPONSE_TIME')
|
||||
ScanID = EndpointSegment
|
||||
@ -176,17 +213,25 @@ API scan.ID.DELETE
|
||||
Database_Services('DeleteDataRow', 'SCANS', ScanID, True$, False$)
|
||||
If Error_Services('NoError') then
|
||||
HTTP_Services('SetResponseStatus', 200)
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||
end else
|
||||
Message = Error_Services('GetMessage')
|
||||
HTTP_Services('SetResponseStatus', 500, Message)
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'CRITICAL')
|
||||
end
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 403, 'This scan is already accepted and cannot be deleted.')
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||
end
|
||||
end else
|
||||
Message = Error_Services('GetMessage')
|
||||
HTTP_Services('SetResponseStatus', 404, Message)
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
SRP_Stopwatch('Stop', 'SCAN_ID_DELETE_RESPONSE_TIME')
|
||||
TotalDeleteResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_DELETE_RESPONSE_TIME')
|
||||
LogData = ''
|
||||
@ -205,6 +250,8 @@ end api
|
||||
|
||||
|
||||
API scan.ID.PATCH
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'SCAN_ID_PATCH'
|
||||
|
||||
// This is where scans are ultimately accepted for final processing. We will need to determine which type
|
||||
// of scan this is (i.e. Location, Pre-Epi + Load, or Unload). This will be determined by the data coming in and the
|
||||
@ -232,14 +279,17 @@ API scan.ID.PATCH
|
||||
If Error_Services('NoError') then
|
||||
StatusCode = 200
|
||||
GoSub CreateHALItem
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||
end else
|
||||
Message = Error_Services('GetMessage')
|
||||
HTTP_Services('SetResponseStatus', 500, Message)
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'CRITICAL')
|
||||
end
|
||||
|
||||
SRP_JSON(hBody, 'Release')
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 400, 'JSON object is missing from the request.')
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||
end
|
||||
end else
|
||||
ScanNotAcceptableReason = SRP_JSON(objResource, 'GetValue', 'scan.notAcceptableReason')
|
||||
@ -249,11 +299,17 @@ API scan.ID.PATCH
|
||||
end else
|
||||
Message = 'Unable to parse the JSON scan resource.'
|
||||
HTTP_Services('SetResponseStatus', 400, Message)
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||
end
|
||||
end else
|
||||
Message = Error_Services('GetMessage')
|
||||
HTTP_Services('SetResponseStatus', 404, Message)
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
SRP_Stopwatch('Stop', 'SCAN_ID_PATCH_RESPONSE_TIME')
|
||||
TotalPatchResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_PATCH_RESPONSE_TIME')
|
||||
LogData = ''
|
||||
@ -272,6 +328,8 @@ end api
|
||||
|
||||
|
||||
API scan.ID.PUT
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'SCAN_ID_PUT'
|
||||
|
||||
SRP_Stopwatch('Reset')
|
||||
SRP_Stopwatch('Start', 'SCAN_ID_PUT_RESPONSE_TIME')
|
||||
@ -314,17 +372,25 @@ API scan.ID.PUT
|
||||
Database_Services('WriteDataRow', 'SCANS', ScanID, ScanRow, True$, False$, True$)
|
||||
If Error_Services('NoError') then
|
||||
GoSub CreateHALItem
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'OK')
|
||||
end else
|
||||
Message = Error_Services('GetMessage')
|
||||
HTTP_Services('SetResponseStatus', 500, Message)
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'CRITICAL')
|
||||
end
|
||||
SRP_JSON(hBody, 'Release')
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 400, 'Unable to parse the scanData JSON.')
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||
end
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 400, 'JSON object is missing from the request.')
|
||||
Mona_Services('SendStatus', MonaResource, MetricName, 'WARNING')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
|
||||
SRP_Stopwatch('Stop', 'SCAN_ID_PUT_RESPONSE_TIME')
|
||||
TotalPutResponseTime = SRP_Stopwatch('GetData', 'SCAN_ID_PUT_RESPONSE_TIME')
|
||||
LogData = ''
|
||||
@ -339,7 +405,6 @@ API scan.ID.PUT
|
||||
end
|
||||
LogData<6> = ResponseStatusCode
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM, False$)
|
||||
|
||||
end api
|
||||
|
||||
|
||||
@ -378,3 +443,4 @@ CreateHALItem:
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
|
@ -47,9 +47,10 @@ Declare Function Scan_Services, Memory_Services, Database_Services, SRP_JSON,
|
||||
Declare Function QA_Services, Error_Services, Security_Services, SRP_Array, obj_WO_Mat, Memberof, Override_Log_Services
|
||||
Declare Function Keyboard_Sim_Services, Environment_Services, Logging_Services, Reactor_Services, Supplement_Services
|
||||
Declare function Test_Run_Services, Lot_Services, WO_MAT_Services, Reactor_Log_Services, Schedule_Services
|
||||
Declare function GetTickCount
|
||||
Declare Subroutine Scan_Services, Memory_Services, Database_Services, SRP_JSON, QA_Services, Error_Services
|
||||
Declare Subroutine obj_WO_Mat_Log, Tool_Parms_Services, RDS_Services, Logging_Services, Supplement_Services
|
||||
Declare Subroutine Test_Run_Services, WO_MAT_Services, Reactor_Log_Services, Schedule_Services
|
||||
Declare Subroutine Test_Run_Services, WO_MAT_Services, Reactor_Log_Services, Schedule_Services, Mona_Services
|
||||
|
||||
Equ CRLF$ to \0D0A\
|
||||
|
||||
@ -61,6 +62,13 @@ Headers = 'Logging DTM' : @FM : 'RDS Key ID' : @FM : 'User' : @FM : 'CurrSta
|
||||
objLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_SCANSERVICES'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_SCANSERVICES'
|
||||
end
|
||||
|
||||
GoToService else
|
||||
Error_Services('Add', Service : ' is not a valid service request within the ' : ServiceModule : ' module.')
|
||||
end
|
||||
@ -200,6 +208,8 @@ end service
|
||||
// Returns the database row from the SCANS table for the indicated Scan ID. The default format is MultiValue.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service GetScansRow(ScanID, ReturnJSON)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'GetScansRow'
|
||||
|
||||
ScansRow = ''
|
||||
|
||||
@ -214,6 +224,8 @@ Service GetScansRow(ScanID, ReturnJSON)
|
||||
|
||||
Response = ScansRow
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -223,6 +235,8 @@ end service
|
||||
// Returns the database row from the SCANS table for the indicated Scan ID. The default format is MultiValue.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service SetScansRow(ScanID, ScansRow)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'SetScansRow'
|
||||
|
||||
If (ScanID NE '') AND (ScansRow NE '') then
|
||||
Database_Services('WriteDataRow', 'SCANS', ScanID, ScansRow)
|
||||
@ -230,6 +244,8 @@ Service SetScansRow(ScanID, ScansRow)
|
||||
Error_Services('Add', 'ScanID or ScansRow argument was missing in the ' : Service : ' service.')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -242,6 +258,8 @@ end service
|
||||
// evaluated on a case by case basis.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service ProcessScanData(ScanID, ScanJSON)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'ProcessScanData'
|
||||
|
||||
If ( (ScanID NE '') AND (ScanJSON NE '') ) then
|
||||
hScanJSON = ''
|
||||
@ -1287,6 +1305,8 @@ Service ProcessScanData(ScanID, ScanJSON)
|
||||
Error_Services('Add', 'ScanID or ScanJSON argument was missing in the ' : Service : ' service.')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -1295,6 +1315,9 @@ end service
|
||||
//
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service AcceptScan(ScanID, ScanJSON)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'AcceptScan'
|
||||
|
||||
If ( (ScanID NE '') and (ScanJSON NE '') ) then
|
||||
hBody = ''
|
||||
ParseResponse = SRP_JSON(hBody, 'PARSE', ScanJSON)
|
||||
@ -1649,6 +1672,8 @@ Service AcceptScan(ScanID, ScanJSON)
|
||||
Error_Services('Add', 'ScanID or ScanJSON argument was missing in the ' : Service : ' service.')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
@ -1659,6 +1684,8 @@ end service
|
||||
// HAL+JSON properties will be added to the JSON object.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'ConvertMVScanToJSON'
|
||||
|
||||
jsonScan = ''
|
||||
|
||||
@ -2160,6 +2187,8 @@ Service ConvertMVScanToJSON(ScanID, mvScan, itemURL)
|
||||
|
||||
Response = jsonScan
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
@ -2396,9 +2425,3 @@ ClearCursors:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -55,16 +55,24 @@ EQU NOTIFICATION_PERIOD$ TO 12
|
||||
|
||||
Declare subroutine Error_Services, Schedule_Services, Memory_Services, RList, Database_Services, Logging_Services
|
||||
Declare subroutine Btree.Extract, Set_Status, Reduce, FSMsg, Messaging_Services, obj_Notes, Make.List
|
||||
Declare subroutine Mona_Services
|
||||
Declare function SRP_Array, Schedule_Services, Memory_Services, Database_Services, SRP_Sort_Array, Datetime
|
||||
Declare function Epi_Part_Services, SRP_Math, SRP_Hash, obj_Prod_Spec, Logging_Services, Environment_Services
|
||||
Declare function Work_Order_Services, RTI_CreateGUID, Reactor_Services, Schedule_Services, NextKey, SRP_Datetime
|
||||
Declare function SRP_Time, Lsl_Users_Services
|
||||
Declare function SRP_Time, Lsl_Users_Services, GetTickCount
|
||||
|
||||
Date = Oconv(Date(), 'D4/')
|
||||
LogFileName = Date[7, 4] : '-' : Date[1, 2] : '-' : Date[4, 2] : ' Scheduler Log.csv'
|
||||
Headers = 'Logging DTM' : @FM : 'Service Step' : @FM : 'Service Notes'
|
||||
ColumnWidths = 20 : @FM : 30 : @FM : 150
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_SCHEDULESERVICES'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_SCHEDULESERVICES'
|
||||
end
|
||||
|
||||
GoToService else
|
||||
Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
||||
end
|
||||
@ -795,6 +803,8 @@ end service
|
||||
|
||||
|
||||
Service GetCurrentEvent(ReactNo)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'GetCurrentEvent'
|
||||
|
||||
SchedDetKey = ''
|
||||
If ReactNo NE '' then
|
||||
@ -814,9 +824,14 @@ Service GetCurrentEvent(ReactNo)
|
||||
GoSub ClearCursors
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service CurrentEventIsBlock(ReactNo)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CurrentEventIsBlock'
|
||||
|
||||
If ReactNo NE '' then
|
||||
CurrentSchedDetKey = Schedule_Services('GetCurrentEvent', ReactNo)
|
||||
|
||||
@ -838,9 +853,15 @@ Service CurrentEventIsBlock(ReactNo)
|
||||
ErrorMsg = 'Error in service ':Service:' module. Invalid reactor number.'
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service GetNextEvent(ReactNo)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'GetNextEvent'
|
||||
|
||||
SchedDetKey = ''
|
||||
If ReactNo NE '' then
|
||||
CurrDTM = Datetime()
|
||||
@ -870,6 +891,9 @@ Service GetNextEvent(ReactNo)
|
||||
end
|
||||
GoSub ClearCursors
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service GetEngagedEvent(ReactNo)
|
||||
@ -919,6 +943,9 @@ Service GetLastEngagedEvent(ReactNo)
|
||||
end service
|
||||
|
||||
Service NextEventIsSamePsn(ReactNo)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'NextEventIsSamePsn'
|
||||
|
||||
Response = False$
|
||||
If ReactNo NE '' then
|
||||
CurrentSchedDetKey = Schedule_Services('GetCurrentEvent', ReactNo)
|
||||
@ -962,9 +989,15 @@ Service NextEventIsSamePsn(ReactNo)
|
||||
ErrorMsg = 'Error in service ':Service:' module. Invalid reactor number.'
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service NextEventIsBlock(ReactNo)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'NextEventIsBlock'
|
||||
|
||||
If ReactNo NE '' then
|
||||
NextSchedDetKey = Schedule_Services('GetNextEvent', ReactNo)
|
||||
|
||||
@ -986,6 +1019,9 @@ Service NextEventIsBlock(ReactNo)
|
||||
ErrorMsg = 'Error in service ':Service:' module. Invalid reactor number.'
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
@ -3561,3 +3597,4 @@ CreateScheduleChangeNotification:
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
@ -63,12 +63,20 @@ Equ COL$TOOL_ID to 10
|
||||
|
||||
Declare function obj_Prod_Spec, RDS_Services, Error_Services, Signature_Services, Memory_Services, obj_RDS_Test
|
||||
Declare function Database_Services, obj_WO_Mat, Dialog_Box, MemberOf, Msg, QA_Services, Datetime, Supplement_Services
|
||||
Declare function Environment_Services, GetTickCount
|
||||
Declare subroutine Error_Services, Popup, Memory_Services, SRP_Stopwatch, Set_Status, Database_Services, obj_WO_Mat
|
||||
Declare subroutine Obj_Notes, Signature_Services, Obj_WO_Mat_Log, ErrMsg
|
||||
Declare subroutine Obj_Notes, Signature_Services, Obj_WO_Mat_Log, ErrMsg, Mona_Services
|
||||
|
||||
PSNKey = ServiceKeyID
|
||||
ReactorKey = ServiceKeyID
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_SIGNATURESERVICES'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_SIGNATURESERVICES'
|
||||
end
|
||||
|
||||
GoToService
|
||||
|
||||
Return Response or ""
|
||||
@ -135,6 +143,8 @@ end service
|
||||
|
||||
|
||||
Service GetSigProfile(WOMatKey, UseCaching, RDSNo)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'GetSigProfile'
|
||||
|
||||
If UseCaching EQ '' then UseCaching = True$
|
||||
|
||||
@ -175,6 +185,8 @@ Service GetSigProfile(WOMatKey, UseCaching, RDSNo)
|
||||
SigDTMs = OCONV(SigDTMs,'DT4/^S')
|
||||
Response = SigProfile:@FM:Signatures:@FM:SigDTMs
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -211,6 +223,9 @@ end service
|
||||
|
||||
|
||||
Service CheckSigOrder(WOMatKey, CurrStage, UseCaching, RDSNo)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CheckSigOrder'
|
||||
|
||||
If UseCaching EQ '' then UseCachine = True$
|
||||
Response = False$
|
||||
If RDSNo NE '' then
|
||||
@ -264,6 +279,8 @@ Service CheckSigOrder(WOMatKey, CurrStage, UseCaching, RDSNo)
|
||||
Response = True$
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
End Service
|
||||
|
||||
|
||||
|
@ -56,9 +56,16 @@ $Insert NOTIFICATION_EQUATES
|
||||
Equ COMMA$ to ','
|
||||
|
||||
Declare function Database_Services, Supplement_Services, Rti_Createguid, SRP_Array, Datetime, Signature_Services
|
||||
Declare function Environment_Services, Logging_Services, Select_Into
|
||||
Declare function Environment_Services, Logging_Services, Select_Into, GetTickCount
|
||||
Declare subroutine Database_Services, Rds_Services, Supplement_Services, Logging_Services, Set_Status, SRP_Stopwatch
|
||||
Declare subroutine Btree.Extract, obj_Notes
|
||||
Declare subroutine Btree.Extract, obj_Notes, Mona_Services
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_SUPPLEMENTSERVICES'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_SUPPLEMENTSERVICES'
|
||||
end
|
||||
|
||||
GoToService else
|
||||
Error_Services('Add', Service : ' is not a valid service request within the ' : ServiceModule : ' module.')
|
||||
@ -408,6 +415,8 @@ end service
|
||||
//
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service AcknowledgeSupplement(SupplID, EntryUser)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'AcknowledgeSupplement'
|
||||
|
||||
If ( (SupplID NE '') and (EntryUser NE '') ) then
|
||||
OldRec = Xlate('SUPPLEMENTS', SupplID, '', 'X', '')
|
||||
@ -433,6 +442,8 @@ Service AcknowledgeSupplement(SupplID, EntryUser)
|
||||
Error_Services('Add', 'SupplID or EntryUser was missing in the ' : Service : ' service.')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -447,6 +458,8 @@ end service
|
||||
//
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service UnacknowledgedSupplementCheck(LotType=LOTTYPES, LotID, Stage=STAGES)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'UnacknowledgedSupplementCheck'
|
||||
|
||||
UnackList = ''
|
||||
Response = False$
|
||||
@ -482,6 +495,8 @@ Service UnacknowledgedSupplementCheck(LotType=LOTTYPES, LotID, Stage=STAGES)
|
||||
|
||||
If UnackList NE '' then Response = UnackList
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -496,6 +511,8 @@ end service
|
||||
//
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service LogSupplementChange(SupplementRec, EditEvent, EntryUser)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'LogSupplementChange'
|
||||
|
||||
If ( (SupplementRec NE '') and (EditEvent NE '') and (EntryUser NE '') ) then
|
||||
SupplementText = SupplementRec<SUPPLEMENTS_SUPPL_TEXT$>
|
||||
@ -513,6 +530,8 @@ Service LogSupplementChange(SupplementRec, EditEvent, EntryUser)
|
||||
Error_Services('Add', 'LotType, LotID, or Stage was missing in the ' : Service : ' service.')
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
|
||||
@ -613,3 +632,4 @@ Service SendNotifications(RDSList, EditEvent, Instructions, EntryUser)
|
||||
|
||||
end service
|
||||
|
||||
|
||||
|
@ -10,9 +10,10 @@ $Insert TEST_RUN_OBJ_EQUATES
|
||||
$Insert LOT_EQUATES
|
||||
$Insert LOT_OPERATION_EQUATES
|
||||
|
||||
Declare function Nextkey, Error_Services, Environment_Services, OConv, Logging_Services, SRP_Hashtable, Lot_Services
|
||||
Declare function Nextkey, Error_Services, Environment_Services, OConv, Logging_Services, SRP_Hashtable, Lot_Services, GetTickCount
|
||||
Declare function SRP_Datetime, Database_Services, Test_Run_Services, File_Services, Status, delete, Insert, Datetime, SRP_Json, MemberOf
|
||||
Declare subroutine Database_Services, Btree.Extract, Error_Services, Logging_Services, Rlist, Test_Run_Services, Lot_Services, SRP_Json
|
||||
Declare subroutine Mona_Services
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\TEST_RUN_SERVICES\TestWaferProduct'
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
@ -30,6 +31,13 @@ objLogTR = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, He
|
||||
|
||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_TESTRUNSERVICES'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_TESTRUNSERVICES'
|
||||
end
|
||||
|
||||
GoToService
|
||||
|
||||
Return Response or ""
|
||||
@ -280,6 +288,9 @@ Service UpdateTWProdSortOrder(TWProdKey, NewOrder)
|
||||
end service
|
||||
|
||||
Service GetAllTestRunTypes()
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'GetAllTestRunTypes'
|
||||
|
||||
keylist = ''
|
||||
rtList = ''
|
||||
RList('SELECT TEST_RUN_TYPE BY RUN_TYPE', 5, '', '', '')
|
||||
@ -297,6 +308,9 @@ Service GetAllTestRunTypes()
|
||||
end
|
||||
Next ProdKey
|
||||
Response = rtList
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service GetTestWaferLots(ShowOnlyOpenLots)
|
||||
@ -318,6 +332,9 @@ Service GetTestWaferLots(ShowOnlyOpenLots)
|
||||
end service
|
||||
|
||||
Service CreateTestRunRecord(RunTypeID, EqpType, EqpID, PSNo, RDSNo, UserID, TWLotIds, TWLotQtys)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CreateTestRunRecord'
|
||||
|
||||
TWRunKey = ''
|
||||
Response = ''
|
||||
ErrorMessage = ''
|
||||
@ -490,9 +507,15 @@ Service CreateTestRunRecord(RunTypeID, EqpType, EqpID, PSNo, RDSNo, UserID, TWLo
|
||||
Error_Services('Add', ErrorMessage)
|
||||
Response = ''
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service CreateTestRunWaferRecord(TestRunID, TWPartID, TWUsageTypeID, SourceLotId, Username)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CreateTestRunWaferRecord'
|
||||
|
||||
ErrorMessage = ''
|
||||
If TestRunID NE '' AND TWPartID NE '' then
|
||||
If RowExists('TEST_RUN', TestRunID) then
|
||||
@ -537,6 +560,9 @@ Service CreateTestRunWaferRecord(TestRunID, TWPartID, TWUsageTypeID, SourceLotId
|
||||
Logging_Services('AppendLog', objLogTR, LogData, @FM, @VM)
|
||||
Error_Services('Add', 'Error creating new test run record: ' : ErrorMessage)
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service UseTWFromLot(LotId, UsageQty, Username)
|
||||
@ -706,6 +732,9 @@ Service GetTestRunKeysByPSN(PSNo)
|
||||
end service
|
||||
|
||||
Service GetTestRunKeysByRDS(RDSNo)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'GetTestRunKeysByRDS'
|
||||
|
||||
table = "TEST_RUN"
|
||||
Open "DICT ":table To @DICT Else
|
||||
Error_Services('Add', 'Error opening TEST_RUN dictionary')
|
||||
@ -718,6 +747,9 @@ Service GetTestRunKeysByRDS(RDSNo)
|
||||
Btree.Extract(srch_strng, table, @DICT, keylist, option, flag)
|
||||
Response = keylist
|
||||
end
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service GetTestRunWaferByID(TRWaferID)
|
||||
@ -799,3 +831,4 @@ end service
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -2,9 +2,9 @@ Compile function WO_MAT_Services(@Service, @Params)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
Declare function Database_Services, Error_Services, SRP_Json, SRP_Com, Environment_Services, Logging_Services
|
||||
Declare function Datetime
|
||||
Declare function Datetime, GetTickCount
|
||||
Declare subroutine Error_Services, SRP_Json, SRP_Com, Wo_Mat_Services, Database_Services, Logging_Services
|
||||
Declare subroutine obj_wo_mat_log, Set_Status
|
||||
Declare subroutine obj_wo_mat_log, Set_Status, Mona_Services
|
||||
|
||||
$insert LOGICAL
|
||||
$Insert APP_INSERTS
|
||||
@ -20,6 +20,13 @@ Headers = 'Logging DTM' : @FM : 'WOMatKey' : @FM : 'Missing Signature' : @FM :
|
||||
objSyncLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',', Headers, '', False$, False$)
|
||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||
|
||||
IsProd = Environment_Services('IsProd')
|
||||
If IsProd EQ True$ then
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_WOMATSERVICES'
|
||||
end else
|
||||
MonaResource = 'GRP_OPENINSIGHT_MES_OP_FE_DEV_WOMATSERVICES'
|
||||
end
|
||||
|
||||
GoToService else
|
||||
Error_Services('Set', Service : ' is not a valid service request within the ' : ServiceModule : ' services module.')
|
||||
end
|
||||
@ -379,6 +386,9 @@ Service SyncWOMatInvActionsAndSigProfile(WOMatKey)
|
||||
end service
|
||||
|
||||
Service CassetteIsLastInWo(WoMatKey)
|
||||
StartTick = GetTickCount()
|
||||
MetricName = 'CassetteIsLastInWo'
|
||||
|
||||
IsLastInWo = False$
|
||||
|
||||
If Unassigned(WoMatKey) or WoMatKey EQ '' or RowExists('WO_MAT', WoMatKey) NE True$ then
|
||||
@ -424,6 +434,9 @@ Service CassetteIsLastInWo(WoMatKey)
|
||||
end
|
||||
|
||||
Response = IsLastInWo
|
||||
|
||||
EndTick = GetTickCount()
|
||||
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
|
||||
end service
|
||||
|
||||
Service SetWoMatVoidFlag(WoMatKey, Username)
|
||||
@ -473,3 +486,4 @@ Service SetWoMatVoidFlag(WoMatKey, Username)
|
||||
end service
|
||||
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user