---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://www.servicenow.com/docs/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# OCTimer - グローバル

# OCTimer - グローバル {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：13分

OCTimer スクリプトインクルードは、関数の完了に要する時間を追跡するメソッドを提供します。
このスクリプトインクルードでは、オンコールスケジューリング (com.snc.on_call_rotation) プラグインをアクティブ化する必要があります。詳細については、トピック「 [オンコールスケジューリングのアクティブ化](https://www.servicenow.com/docs/access?context=t_ActivateOnCallScheduling&version=xanadu&pubname=xanadu-it-service-management&ft:locale=en-US)」を参照してください。

## OCTimer - log (文字列 name, 文字列 entry) {#ariaid-title2}

関数名に基づいてエントリーをログに記録します。
{#r_OCTimer-log_S_S__table_kfl_p53_hx__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | 関数名。 |
| entry | 文字列 | ログの出力の一部となるテキスト。 |
[表 : 1. パラメーター]

{#r_OCTimer-log_S_S__table_kfl_p53_hx} {#r_OCTimer-log_S_S__table_lfl_p53_hx__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 2. 返される内容]

{#r_OCTimer-log_S_S__table_lfl_p53_hx}

## OCTimer - millisToTime (整数 millis) {#ariaid-title3}

ミリ秒の値を取って、書式設定済みの期間を返します。
{#r_OCTimer-millisToTime_I__table_ysh_253_hx__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| millis | 整数 | 期間 (ミリ秒単位)。 |
[表 : 3. パラメーター]

{#r_OCTimer-millisToTime_I__table_ysh_253_hx} {#r_OCTimer-millisToTime_I__table_zsh_253_hx__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 書式設定済みの期間。 |
[表 : 4. 返される内容]

{#r_OCTimer-millisToTime_I__table_zsh_253_hx}

## OCTimer - result () {#ariaid-title4}

登録された関数それぞれにかかった時間を計算します。
{#r_OCTimer-result__table_wdt_l53_hx__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 5. パラメーター]

{#r_OCTimer-result__table_wdt_l53_hx} {#r_OCTimer-result__table_xdt_l53_hx__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 登録された関数それぞれにかかった時間。 |
[表 : 6. 返される内容]

{#r_OCTimer-result__table_xdt_l53_hx}  
次のコード例は、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 - start (文字列 name) {#ariaid-title5}

指定された名前に基づいてタイマーを初期化します。
{#r_OCTimer-start_S__table_dyg_5t3_hx__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | 関数名。 |
[表 : 7. パラメーター]

{#r_OCTimer-start_S__table_dyg_5t3_hx} {#r_OCTimer-start_S__table_eyg_5t3_hx__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 8. 返される内容]

{#r_OCTimer-start_S__table_eyg_5t3_hx}  
次のコード例は、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 - stop (文字列 name) {#ariaid-title6}

指定された名前に対するタイマーの終了時間を登録します。
{#r_OCTimer-stop_S__table_drh_153_hx__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | 関数名。 |
[表 : 9. パラメーター]

{#r_OCTimer-stop_S__table_drh_153_hx} {#r_OCTimer-stop_S__table_erh_153_hx__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 10. 返される内容]

{#r_OCTimer-stop_S__table_erh_153_hx}  
次のコード例は、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


