---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# OCTimer - Global

# OCTimer - Global {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 min. de leitura

A inclusão de script OCTimer fornece métodos para rastrear o tempo necessário para que uma função seja concluída.
Esta inclusão de script requer que o plug-in Agendamento de plantão (com.snc.on_call_rotation) seja ativado. Para obter mais informações, consulte o tópico [Como ativar o Agendamento de plantão](https://www.servicenow.com/docs/access?context=t_ActivateOnCallScheduling&version=xanadu&pubname=xanadu-it-service-management&ft:locale=en-US).

## OCTimer - log (nome da cadeia de caracteres, entrada da cadeia de caracteres) {#ariaid-title2}

Registra a entrada com base no nome da função.
{#r_OCTimer-log_S_S__table_kfl_p53_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| nome | Cadeia de caracteres | Nome da função. |
| entrada | Cadeia de caracteres | Texto que fará parte da saída no log. |
[Tabela 1. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 2. Retorna]

{#r_OCTimer-log_S_S__table_lfl_p53_hx}

## OCTimer - millisToTime (Inteiros em milissegundos) {#ariaid-title3}

Usa um valor de milissegundos e retorna uma duração formatada.
{#r_OCTimer-millisToTime_I__table_ysh_253_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| milissegundos | Inteiro | Duração em milissegundos. |
[Tabela 3. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Uma duração formatada. |
[Tabela 4. Retorna]

{#r_OCTimer-millisToTime_I__table_zsh_253_hx}

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

Calcula o tempo necessário para cada função registrada.
{#r_OCTimer-result__table_wdt_l53_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 5. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Tempo necessário para cada função registrada. |
[Tabela 6. Retorna]

{#r_OCTimer-result__table_xdt_l53_hx}  
O exemplo de código a seguir compara o tempo gasto por uma REST API para buscar endereços IP de dispositivos no mecanismo de rede e os insere na tabela de endereços IP. As chamadas de API podem exigir algum tempo para serem processadas, portanto, é aconselhável comparar o tempo de execução antes de executá-las na produção.

    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

Saída:

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

## OCTimer - início (nome da cadeia de caracteres) {#ariaid-title5}

Inicializa um temporizador com base no nome fornecido.
{#r_OCTimer-start_S__table_dyg_5t3_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| nome | Cadeia de caracteres | Nome da função. |
[Tabela 7. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 8. Retorna]

{#r_OCTimer-start_S__table_eyg_5t3_hx}  
O exemplo de código a seguir compara o tempo gasto por uma REST API para buscar endereços IP de dispositivos no mecanismo de rede e os insere na tabela de endereços IP. As chamadas de API podem exigir algum tempo para serem processadas, portanto, é aconselhável comparar o tempo de execução antes de executá-las na produção.

    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

Saída:

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

## OCTimer - parar (nome da cadeia de caracteres) {#ariaid-title6}

Registra o fim do temporizador para o nome fornecido.
{#r_OCTimer-stop_S__table_drh_153_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| nome | Cadeia de caracteres | Nome da função. |
[Tabela 9. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 10. Retorna]

{#r_OCTimer-stop_S__table_erh_153_hx}  
O exemplo de código a seguir compara o tempo gasto por uma REST API para buscar endereços IP de dispositivos no mecanismo de rede e os insere na tabela de endereços IP. As chamadas de API podem exigir algum tempo para serem processadas, portanto, é aconselhável comparar o tempo de execução antes de executá-las na produção.

    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

Saída:

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


