---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# OCTimer - Global

# OCTimer - Global {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 minutes de lecture

L'include de script OCTimer fournit des méthodes permettant de suivre le temps nécessaire à l'exécution d'une fonction.
Cet include de script nécessite l'activation du module d'extension Planification d'astreinte (com.snc.on_call_rotation). Pour plus d'informations, consultez la rubrique [Activer la planification d'astreinte](https://www.servicenow.com/docs/access?context=t_ActivateOnCallScheduling&version=xanadu&pubname=xanadu-it-service-management&ft:locale=en-US).

## OCTimer - log (nom de chaîne, entrée de chaîne) {#ariaid-title2}

Consigne l'entrée en fonction du nom de la fonction.
{#r_OCTimer-log_S_S__table_kfl_p53_hx__entry__3}

| Nom | Type | Description |
|-|-|-|
| nom | Chaîne | Nom de la fonction. |
| entry | Chaîne | Texte qui fera partie de la sortie dans le journal. |
[Tableau 1. Paramètres]

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

| Type | Description |
|-|-|
| nul |   |
[Tableau 2. Renvoie]

{#r_OCTimer-log_S_S__table_lfl_p53_hx}

## OCTimer : millisToTime (Entier millis) {#ariaid-title3}

Prend une valeur de l'ordre de la milliseconde et renvoie une durée formatée.
{#r_OCTimer-millisToTime_I__table_ysh_253_hx__entry__3}

| Nom | Type | Description |
|-|-|-|
| millis | Entier | Durée en millisecondes. |
[Tableau 3. Paramètres]

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

| Type | Description |
|-|-|
| Chaîne | Durée formatée. |
[Tableau 4. Renvoie]

{#r_OCTimer-millisToTime_I__table_zsh_253_hx}

## OCTimer - résultat () {#ariaid-title4}

Calcule le temps nécessaire pour chaque fonction enregistrée.
{#r_OCTimer-result__table_wdt_l53_hx__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 5. Paramètres]

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

| Type | Description |
|-|-|
| Chaîne | Temps nécessaire pour chaque fonction enregistrée. |
[Tableau 6. Renvoie]

{#r_OCTimer-result__table_xdt_l53_hx}  
L'exemple de code suivant évalue le temps nécessaire à une API REST pour extraire les adresses IP des appareils dans l'équipement réseau, puis les insère dans la table Adresse IP. Le traitement des appels d'API peut nécessiter un certain temps, il est donc conseillé de comparer le temps d'exécution avant de les exécuter en production.

    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

Sortie :

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

## OCTimer - début (nom de chaîne) {#ariaid-title5}

Initialise un minuteur en fonction du nom fourni.
{#r_OCTimer-start_S__table_dyg_5t3_hx__entry__3}

| Nom | Type | Description |
|-|-|-|
| nom | Chaîne | Nom de la fonction. |
[Tableau 7. Paramètres]

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

| Type | Description |
|-|-|
| nul |   |
[Tableau 8. Renvoie]

{#r_OCTimer-start_S__table_eyg_5t3_hx}  
L'exemple de code suivant évalue le temps nécessaire à une API REST pour extraire les adresses IP des appareils dans l'équipement réseau, puis les insère dans la table Adresse IP. Le traitement des appels d'API peut nécessiter un certain temps, il est donc conseillé de comparer le temps d'exécution avant de les exécuter en production.

    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

Sortie :

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

## OCTimer - stop (nom de chaîne) {#ariaid-title6}

Enregistre la fin du minuteur pour le nom fourni.
{#r_OCTimer-stop_S__table_drh_153_hx__entry__3}

| Nom | Type | Description |
|-|-|-|
| nom | Chaîne | Nom de la fonction. |
[Tableau 9. Paramètres]

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

| Type | Description |
|-|-|
| nul |   |
[Tableau 10. Renvoie]

{#r_OCTimer-stop_S__table_erh_153_hx}  
L'exemple de code suivant évalue le temps nécessaire à une API REST pour extraire les adresses IP des appareils dans l'équipement réseau, puis les insère dans la table Adresse IP. Le traitement des appels d'API peut nécessiter un certain temps, il est donc conseillé de comparer le temps d'exécution avant de les exécuter en production.

    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

Sortie :

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


