---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# OCTimer : Global

# OCTimer : Global {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 Minuten Lesedauer

Die OCTimer-Skripteinbindung bietet Methoden zum Nachverfolgen der Zeit, die eine Funktion zum Abschließen benötigt.
Für diese Skripteinbindung muss das Plugin „Bereitschaftsplanung" (com.snc.on_call_rotation) aktiviert sein. Weitere Informationen finden Sie unter [Bereitschaftsplanung aktivieren](https://www.servicenow.com/docs/access?context=t_ActivateOnCallScheduling&version=xanadu&pubname=xanadu-it-service-management&ft:locale=en-US).

## OCTimer -- log (String name, String entry) {#ariaid-title2}

Protokolliert den Eintrag basierend auf dem Funktionsnamen.
{#r_OCTimer-log_S_S__table_kfl_p53_hx__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Name | Zeichenfolge | Funktionsname. |
| entry | Zeichenfolge | Text, der Teil der Ausgabe im Protokoll sein wird. |
[Tabelle : 1. Parameter]

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

| Typ | Beschreibung |
|-|-|
| void |   |
[Tabelle : 2. Ergebnisse]

{#r_OCTimer-log_S_S__table_lfl_p53_hx}

## OCTimer -- millisToTime (Integer millis) {#ariaid-title3}

Akzeptiert einen Millisekundenwert und gibt eine formatierte Dauer zurück.
{#r_OCTimer-millisToTime_I__table_ysh_253_hx__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| millis | Ganzzahl | Dauer in Millisekunden. |
[Tabelle : 3. Parameter]

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

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Eine formatierte Dauer. |
[Tabelle : 4. Ergebnisse]

{#r_OCTimer-millisToTime_I__table_zsh_253_hx}

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

Berechnet die für jede registrierte Funktion benötigte Zeit.
{#r_OCTimer-result__table_wdt_l53_hx__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 5. Parameter]

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

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Die für jede registrierte Funktion benötigte Zeit. |
[Tabelle : 6. Ergebnisse]

{#r_OCTimer-result__table_xdt_l53_hx}  
Das folgende Codebeispiel misst die Zeit, die eine REST API benötigt, um IP-Adressen von Geräten in Netzwerkgeräten abzurufen und sie dann in die IP-Adresstabelle einzufügen. Die Verarbeitung von API-Aufrufen kann einige Zeit in Anspruch nehmen. Daher wird empfohlen, die Ausführungszeit zu vergleichen, bevor Sie sie in der Produktion ausführen.

    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

Ausgabe:

    getIPAddresses method was invoked 1 time and took 00.288 seconds
    insertIPAddress method was invoked 37 times and took 02.352 seconds

## OCTimer -- start(String name) {#ariaid-title5}

Initialisiert einen Timer basierend auf dem angegebenen Namen.
{#r_OCTimer-start_S__table_dyg_5t3_hx__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Name | Zeichenfolge | Funktionsname. |
[Tabelle : 7. Parameter]

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

| Typ | Beschreibung |
|-|-|
| void |   |
[Tabelle : 8. Ergebnisse]

{#r_OCTimer-start_S__table_eyg_5t3_hx}  
Das folgende Codebeispiel misst die Zeit, die eine REST API benötigt, um IP-Adressen von Geräten in Netzwerkgeräten abzurufen und sie dann in die IP-Adresstabelle einzufügen. Die Verarbeitung von API-Aufrufen kann einige Zeit in Anspruch nehmen. Daher wird empfohlen, die Ausführungszeit zu vergleichen, bevor Sie sie in der Produktion ausführen.

    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

Ausgabe:

    getIPAddresses method was invoked 1 time and took 00.288 seconds
    insertIPAddress method was invoked 37 times and took 02.352 seconds

## OCTimer -- stop (String name) {#ariaid-title6}

Registriert das Ende des Timers für den angegebenen Namen.
{#r_OCTimer-stop_S__table_drh_153_hx__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Name | Zeichenfolge | Funktionsname. |
[Tabelle : 9. Parameter]

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

| Typ | Beschreibung |
|-|-|
| void |   |
[Tabelle : 10. Ergebnisse]

{#r_OCTimer-stop_S__table_erh_153_hx}  
Das folgende Codebeispiel misst die Zeit, die eine REST API benötigt, um IP-Adressen von Geräten in Netzwerkgeräten abzurufen und sie dann in die IP-Adresstabelle einzufügen. Die Verarbeitung von API-Aufrufen kann einige Zeit in Anspruch nehmen. Daher wird empfohlen, die Ausführungszeit zu vergleichen, bevor Sie sie in der Produktion ausführen.

    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

Ausgabe:

    getIPAddresses method was invoked 1 time and took 00.288 seconds
    insertIPAddress method was invoked 37 times and took 02.352 seconds


