/************* UTILITY FUNCTIONS *************/ function httpGet(theUrl){ var con = new java.net.URL(theUrl).openConnection(); con.requestMethod = "GET"; return asResponse(con); } function httpPost(theUrl, data, contentType){ contentType = contentType || "application/json"; var con = new java.net.URL(theUrl).openConnection(); con.requestMethod = "POST"; con.setRequestProperty("Content-Type", contentType); // Send post request con.doOutput=true; write(con.outputStream, data); return asResponse(con); } function asResponse(con){ var d = read(con.inputStream); return {data : d, statusCode : con.responseCode}; } function write(outputStream, data){ var wr = new java.io.DataOutputStream(outputStream); wr.writeBytes(data); wr.flush(); wr.close(); } function read(inputStream){ var inReader = new java.io.BufferedReader(new java.io.InputStreamReader(inputStream)); var inputLine; var response = new java.lang.StringBuffer(); while ((inputLine = inReader.readLine()) != null) { response.append(inputLine); } inReader.close(); return response.toString(); } var mxm_transactions = []; function mxm_start_transaction(transaction_name) { mxm_transactions[transaction_name] = {}; mxm_transactions[transaction_name]['startTime'] = new Date(); } function mxm_end_transaction(transaction_name) { if(transaction_name in mxm_transactions){ endTime = new Date(); var timeDiff = endTime - mxm_transactions[transaction_name]['startTime']; var json = { "status": "success", "response_time": timeDiff, "task_name": transaction_name }; //httpPost("http://host.docker.internal:3001/metrics/123456789/boom/1.15", JSON.stringify(json)); httpGet("http://host.docker.internal:3001/metrics/" + runId + "/" + transaction_name + "/" + timeDiff); } } /************* UTILITY FUNCTIONS *************/ function onSessionCreate(session) { // Handles connection = application.findById("/app/con[0]"); session = application.findById("/app/con[0]/ses[0]"); // Login mxm_start_transaction("Login"); session.findById("wnd[0]"); userarea.findById("txtRSYST-MANDT").text = "000"; userarea.findById("txtRSYST-BNAME").text = "DDIC"; userarea.findById("pwdRSYST-BCODE").text = "London01"; window.sendVKey(0); mxm_end_transaction("Login"); // Check if already logged in if(userarea.findById("radMULTI_LOGON_OPT2")) { mxm_start_transaction("Login_Existing"); print("User already logged in"); userarea.findById("radMULTI_LOGON_OPT2").setFocus(); userarea.findById("radMULTI_LOGON_OPT2").select(); window.findById("tbar[0]/btn[0]").press(); mxm_end_transaction("Login_Existing"); } // Exit window.findById("tbar[0]/okcd").text = "/nex"; window.sendVKey(0); } function onSessionDelete(){ print("onSessionDelete"); } function onStartRequest(){ print("onStartRequest"); } function onEndRequest(){ print("onEndRequest"); } function onHit(){ print("onHit"); } function onError(){ print("onError"); }