OCTimer - Global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 5 min. de leitura
  • . OCTimer a inclusão de script 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 Programação de plantão (com.snc.on_call_rotation) seja ativado. Para obter mais informações, consulte o tópico Ativar Programação de plantão .

    OCTimer - log (nome da cadeia de caracteres, entrada da cadeia de caracteres)

    Registra a entrada com base no nome da função.

    Tabela 1. Parâmetros
    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 2. Retornos
    Tipo Descrição
    vazio

    OCTimer - milissegundos ToTime (número inteiro em millis)

    Usa um valor de milissegundos e retorna uma duração formatada.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    milissegundos Inteiro Duração em milissegundos.
    Tabela 4. Retornos
    Tipo Descrição
    Cadeia de caracteres Uma duração formatada.

    OCTimer - Resultado ()

    Calcula o tempo necessário para cada função registrada.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 6. Retorna
    Tipo Descrição
    Cadeia de caracteres Tempo necessário para cada função registrada.

    O exemplo de código a seguir faz benchmarks do tempo gasto por uma REST API para buscar endereços IP de dispositivos no Mecanismo de rede e, em seguida, os insere na tabela de endereços IP. As chamadas de API podem exigir algum tempo para serem processadas, portanto, é aconselhável fazer o benchmark do 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)

    Inicializa um temporizador com base no nome fornecido.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome da função.
    Tabela 8. Retornos
    Tipo Descrição
    vazio

    O exemplo de código a seguir faz benchmarks do tempo gasto por uma REST API para buscar endereços IP de dispositivos no Mecanismo de rede e, em seguida, os insere na tabela de endereços IP. As chamadas de API podem exigir algum tempo para serem processadas, portanto, é aconselhável fazer o benchmark do 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)

    Registra o fim do temporizador para o nome fornecido.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome da função.
    Tabela 10. Retornos
    Tipo Descrição
    vazio

    O exemplo de código a seguir faz benchmarks do tempo gasto por uma REST API para buscar endereços IP de dispositivos no Mecanismo de rede e, em seguida, os insere na tabela de endereços IP. As chamadas de API podem exigir algum tempo para serem processadas, portanto, é aconselhável fazer o benchmark do 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