OCTimer - 전역
OCTimer 스크립트 포함은 함수가 완료되는 데 걸리는 시간을 추적하는 메서드를 제공합니다.
이 스크립트 포함을 사용하려면 com.snc.on_call_rotation(On-Call Scheduling) 플러그인을 활성화해야 합니다. 자세한 내용은 당직 일정 관리 활성화 주제를 참조하십시오.
OCTimer - 로그(문자열 이름, 문자열 항목)
함수 이름을 기준으로 항목을 로그에 기록합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 이름 | 문자열 | 함수 이름입니다. |
| 항목 | 문자열 | 로그에서 출력의 일부가 될 텍스트입니다. |
| 유형 | 설명 |
|---|---|
| void |
OCTimer - millisToTime(정수, 밀리초)
밀리초 값을 사용하고 형식이 지정된 기간을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 밀리초 | 정수 | 기간(밀리초)입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 형식이 지정된 기간입니다. |
OCTimer - 결과 ()
등록된 각 기능에 소요된 시간을 계산합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 등록된 각 기능에 소요된 시간입니다. |
다음 코드 예시는 REST API가 네트워크 기어의 장치에서 IP 주소를 가져와 IP 주소 테이블에 삽입하는 데 걸리는 시간을 벤치마킹합니다. API 호출을 처리하는 데 약간의 시간이 필요할 수 있으므로 프로덕션에서 실행하기 전에 실행 시간을 벤치마킹하는 것이 좋습니다.
var user = "<user name>"; // ServiceNow login user name
var password = "<password>"; // ServiceNow login password
var instance = "<instance name>"; // ServiceNow instance name
// Insert new IP address to IP address table using REST API
function insertIPAddress(ip_address) {
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('https://' + instance + '.service-now.com/api/now/table/cmdb_ci_ip_address');
request.setHttpMethod('POST');
request.setBasicAuth(user,password);
request.setRequestHeader("Accept","application/json");
request.setRequestHeader('Content-Type','application/json');request.setRequestBody("{\"ip_address\":\"" + ip_address + "\"}");
var response = request.execute();
}
// Retrieve IP address from devices in Network gear
function getIPAddresses() {
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('https://' + instance + '.service-now.com/api/now/table/cmdb_ci_netgear?sysparm_fields=ip_address');
request.setHttpMethod('GET');
request.setBasicAuth(user,password);
request.setRequestHeader("Accept","application/json");
var response = request.execute();
return response.getBody();
}
var timer = new OCTimer(); // create OCTimer object
// get the IP addresses from Network Gear table
timer.start("getIPAddresses"); // start timer to time fetching IP addresses from Network Gear table
var ipAddressStr = getIPAddresses();
timer.stop('getIPAddresses'); // stop timer
// insert IP addresses to IP Address table
var ipAddressJson = JSON.parse(ipAddressStr); // parse result
var ipAddressList = ipAddressJson.result; // extract IP addresses to a list
for (var i=0; i<ipAddressList.length;i++) { // loop through
var ip_address = ipAddressList[i]["ip_address"].trim();
if (ip_address.length > 0) {
timer.start("insertIPAddress"); // start timer to time inserting IP address to IP Address table
insertIPAddress(ip_address); // insert IP address
timer.stop('insertIPAddress'); // end timer
}
}
var result = timer.result(); // get timer results
gs.info(result); // output timer result
출력:
getIPAddresses method was invoked 1 time and took 00.288 seconds
insertIPAddress method was invoked 37 times and took 02.352 seconds
OCTimer - 시작(문자열 이름)
제공된 이름을 기준으로 타이머를 초기화합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 이름 | 문자열 | 함수 이름입니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 코드 예시는 REST API가 네트워크 기어의 장치에서 IP 주소를 가져와 IP 주소 테이블에 삽입하는 데 걸리는 시간을 벤치마킹합니다. API 호출을 처리하는 데 약간의 시간이 필요할 수 있으므로 프로덕션에서 실행하기 전에 실행 시간을 벤치마킹하는 것이 좋습니다.
var user = "<user name>"; // ServiceNow login user name
var password = "<password>"; // ServiceNow login password
var instance = "<instance name>"; // ServiceNow instance name
// Insert new IP address to IP address table using REST API
function insertIPAddress(ip_address) {
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('https://' + instance + '.service-now.com/api/now/table/cmdb_ci_ip_address');
request.setHttpMethod('POST');
request.setBasicAuth(user,password);
request.setRequestHeader("Accept","application/json");
request.setRequestHeader('Content-Type','application/json');request.setRequestBody("{\"ip_address\":\"" + ip_address + "\"}");
var response = request.execute();
}
// Retrieve IP address from devices in Network gear
function getIPAddresses() {
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('https://' + instance + '.service-now.com/api/now/table/cmdb_ci_netgear?sysparm_fields=ip_address');
request.setHttpMethod('GET');
request.setBasicAuth(user,password);
request.setRequestHeader("Accept","application/json");
var response = request.execute();
return response.getBody();
}
var timer = new OCTimer(); // create OCTimer object
// get the IP addresses from Network Gear table
timer.start("getIPAddresses"); // start timer to time fetching IP addresses from Network Gear table
var ipAddressStr = getIPAddresses();
timer.stop('getIPAddresses'); // stop timer
// insert IP addresses to IP Address table
var ipAddressJson = JSON.parse(ipAddressStr); // parse result
var ipAddressList = ipAddressJson.result; // extract IP addresses to a list
for (var i=0; i<ipAddressList.length;i++) { // loop through
var ip_address = ipAddressList[i]["ip_address"].trim();
if (ip_address.length > 0) {
timer.start("insertIPAddress"); // start timer to time inserting IP address to IP Address table
insertIPAddress(ip_address); // insert IP address
timer.stop('insertIPAddress'); // end timer
}
}
var result = timer.result(); // get timer results
gs.info(result); // output timer result
출력:
getIPAddresses method was invoked 1 time and took 00.288 seconds
insertIPAddress method was invoked 37 times and took 02.352 seconds
OCTimer - 중지(문자열 이름)
제공된 이름에 대한 타이머의 종료를 등록합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 이름 | 문자열 | 함수 이름입니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 코드 예시는 REST API가 네트워크 기어의 장치에서 IP 주소를 가져와 IP 주소 테이블에 삽입하는 데 걸리는 시간을 벤치마킹합니다. API 호출을 처리하는 데 약간의 시간이 필요할 수 있으므로 프로덕션에서 실행하기 전에 실행 시간을 벤치마킹하는 것이 좋습니다.
var user = "<user name>"; // ServiceNow login user name
var password = "<password>"; // ServiceNow login password
var instance = "<instance name>"; // ServiceNow instance name
// Insert new IP address to IP address table using REST API
function insertIPAddress(ip_address) {
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('https://' + instance + '.service-now.com/api/now/table/cmdb_ci_ip_address');
request.setHttpMethod('POST');
request.setBasicAuth(user,password);
request.setRequestHeader("Accept","application/json");
request.setRequestHeader('Content-Type','application/json');request.setRequestBody("{\"ip_address\":\"" + ip_address + "\"}");
var response = request.execute();
}
// Retrieve IP address from devices in Network gear
function getIPAddresses() {
var request = new sn_ws.RESTMessageV2();
request.setEndpoint('https://' + instance + '.service-now.com/api/now/table/cmdb_ci_netgear?sysparm_fields=ip_address');
request.setHttpMethod('GET');
request.setBasicAuth(user,password);
request.setRequestHeader("Accept","application/json");
var response = request.execute();
return response.getBody();
}
var timer = new OCTimer(); // create OCTimer object
// get the IP addresses from Network Gear table
timer.start("getIPAddresses"); // start timer to time fetching IP addresses from Network Gear table
var ipAddressStr = getIPAddresses();
timer.stop('getIPAddresses'); // stop timer
// insert IP addresses to IP Address table
var ipAddressJson = JSON.parse(ipAddressStr); // parse result
var ipAddressList = ipAddressJson.result; // extract IP addresses to a list
for (var i=0; i<ipAddressList.length;i++) { // loop through
var ip_address = ipAddressList[i]["ip_address"].trim();
if (ip_address.length > 0) {
timer.start("insertIPAddress"); // start timer to time inserting IP address to IP Address table
insertIPAddress(ip_address); // insert IP address
timer.stop('insertIPAddress'); // end timer
}
}
var result = timer.result(); // get timer results
gs.info(result); // output timer result
출력:
getIPAddresses method was invoked 1 time and took 00.288 seconds
insertIPAddress method was invoked 37 times and took 02.352 seconds