<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>k6/x/icmp on Grafana Labs</title><link>https://grafana.com/docs/k6/v2.3.x/javascript-api/k6-x-icmp/</link><description>Recent content in k6/x/icmp on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/k6/v2.3.x/javascript-api/k6-x-icmp/index.xml" rel="self" type="application/rss+xml"/><item><title>ping( target, [options] )</title><link>https://grafana.com/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping/</link><pubDate>Mon, 21 Sep 2026 15:16:28 +0000</pubDate><guid>https://grafana.com/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping/</guid><content><![CDATA[&lt;h1 id=&#34;ping-target-options-&#34;&gt;ping( target, [options] )&lt;/h1&gt;
&lt;p&gt;Sends ICMP echo requests (pings) to the specified target.&lt;/p&gt;
&lt;h2 id=&#34;signature&#34;&gt;Signature&lt;/h2&gt;
&lt;!-- md-k6:skipall --&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JavaScript&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-javascript&#34;&gt;ping(target, options)&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;parameters&#34;&gt;Parameters&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Parameter&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;target&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Hostname or IP address to ping.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;options&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-options/&#34;&gt;PingOptions&lt;/a&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Optional ping configuration options.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;returns&#34;&gt;Returns&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;boolean&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Returns &lt;code&gt;true&lt;/code&gt; if the number of successful pings is greater than or equal to the threshold, otherwise &lt;code&gt;false&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;
&lt;!-- md-k6:skipall --&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JavaScript&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-javascript&#34;&gt;import { ping } from &amp;#34;k6/x/icmp&amp;#34;

export default function () {
  const host = &amp;#34;8.8.8.8&amp;#34;

  console.log(`Pinging ${host}:`);

  if (ping(host)) {
    console.log(`Host ${host} is reachable`);
  } else {
    console.error(`Host ${host} is unreachable`);
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="ping-target-options-">ping( target, [options] )&lt;/h1>
&lt;p>Sends ICMP echo requests (pings) to the specified target.&lt;/p>
&lt;h2 id="signature">Signature&lt;/h2>
&lt;!-- md-k6:skipall -->
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">JavaScript&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-javascript">ping(target, options)&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;h2 id="parameters">Parameters&lt;/h2>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Parameter&lt;/th>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">target&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">Hostname or IP address to ping.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">options&lt;/td>
&lt;td style="text-align: left">
&lt;a href="/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-options/">PingOptions&lt;/a>&lt;/td>
&lt;td style="text-align: left">Optional ping configuration options.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h2 id="returns">Returns&lt;/h2>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">boolean&lt;/td>
&lt;td style="text-align: left">Returns &lt;code>true&lt;/code> if the number of successful pings is greater than or equal to the threshold, otherwise &lt;code>false&lt;/code>.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h2 id="example">Example&lt;/h2>
&lt;!-- md-k6:skipall -->
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">JavaScript&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-javascript">import { ping } from &amp;#34;k6/x/icmp&amp;#34;
export default function () {
const host = &amp;#34;8.8.8.8&amp;#34;
console.log(`Pinging ${host}:`);
if (ping(host)) {
console.log(`Host ${host} is reachable`);
} else {
console.error(`Host ${host} is unreachable`);
}
}&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div></description></item><item><title>pingAsync( target, [optsOrCallback], [callback] )</title><link>https://grafana.com/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-async/</link><pubDate>Mon, 21 Sep 2026 15:16:28 +0000</pubDate><guid>https://grafana.com/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-async/</guid><content><![CDATA[&lt;h1 id=&#34;pingasync-target-optsorcallback-callback-&#34;&gt;pingAsync( target, [optsOrCallback], [callback] )&lt;/h1&gt;
&lt;p&gt;Sends ICMP echo requests (pings) to the specified target asynchronously.&lt;/p&gt;
&lt;h2 id=&#34;signature&#34;&gt;Signature&lt;/h2&gt;
&lt;!-- md-k6:skipall --&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JavaScript&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-javascript&#34;&gt;await pingAsync(target, optsOrCallback, callback)&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;parameters&#34;&gt;Parameters&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Parameter&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;target&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Hostname or IP address to ping.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;optsOrCallback&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-options/&#34;&gt;PingOptions&lt;/a&gt; | 
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-detail/#pingcallback&#34;&gt;PingCallback&lt;/a&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Optional ping options or callback function.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;callback&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-detail/#pingcallback&#34;&gt;PingCallback&lt;/a&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Optional callback function for ping results.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;returns&#34;&gt;Returns&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Promise&amp;lt;boolean&amp;gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Promise that resolves to &lt;code&gt;true&lt;/code&gt; if the number of successful pings is greater than or equal to the threshold, otherwise &lt;code&gt;false&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;
&lt;!-- md-k6:skipall --&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JavaScript&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-javascript&#34;&gt;import { pingAsync } from &amp;#34;k6/x/icmp&amp;#34;

export default async function () {
  const host = &amp;#34;8.8.8.8&amp;#34;

  console.log(`Pinging ${host} with callback:`);

  const opts = {
    timeout: 1000,
    retries: 2,
    count: 5
  };

  const result = await pingAsync(host, opts, (err, { target, sent_at, received_at, seq, ttl, size, options }) =&amp;gt; {
    if (err) {
      console.error(`${target}: ${err}`);

      return
    }

    const rtt = received_at - sent_at;

    console.log(`${size} bytes from ${target}: icmp_seq=${seq} ttl=${ttl} time=${rtt} ms`);
  });

  if (result) {
    console.log(`Host ${host} is reachable`);
  } else {
    console.error(`Host ${host} is unreachable`);
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="pingasync-target-optsorcallback-callback-">pingAsync( target, [optsOrCallback], [callback] )&lt;/h1>
&lt;p>Sends ICMP echo requests (pings) to the specified target asynchronously.&lt;/p>
&lt;h2 id="signature">Signature&lt;/h2>
&lt;!-- md-k6:skipall -->
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">JavaScript&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-javascript">await pingAsync(target, optsOrCallback, callback)&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;h2 id="parameters">Parameters&lt;/h2>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Parameter&lt;/th>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">target&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">Hostname or IP address to ping.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">optsOrCallback&lt;/td>
&lt;td style="text-align: left">
&lt;a href="/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-options/">PingOptions&lt;/a> |
&lt;a href="/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-detail/#pingcallback">PingCallback&lt;/a>&lt;/td>
&lt;td style="text-align: left">Optional ping options or callback function.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">callback&lt;/td>
&lt;td style="text-align: left">
&lt;a href="/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-detail/#pingcallback">PingCallback&lt;/a>&lt;/td>
&lt;td style="text-align: left">Optional callback function for ping results.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h2 id="returns">Returns&lt;/h2>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">Promise&amp;lt;boolean&amp;gt;&lt;/td>
&lt;td style="text-align: left">Promise that resolves to &lt;code>true&lt;/code> if the number of successful pings is greater than or equal to the threshold, otherwise &lt;code>false&lt;/code>.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h2 id="example">Example&lt;/h2>
&lt;!-- md-k6:skipall -->
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">JavaScript&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-javascript">import { pingAsync } from &amp;#34;k6/x/icmp&amp;#34;
export default async function () {
const host = &amp;#34;8.8.8.8&amp;#34;
console.log(`Pinging ${host} with callback:`);
const opts = {
timeout: 1000,
retries: 2,
count: 5
};
const result = await pingAsync(host, opts, (err, { target, sent_at, received_at, seq, ttl, size, options }) =&amp;gt; {
if (err) {
console.error(`${target}: ${err}`);
return
}
const rtt = received_at - sent_at;
console.log(`${size} bytes from ${target}: icmp_seq=${seq} ttl=${ttl} time=${rtt} ms`);
});
if (result) {
console.log(`Host ${host} is reachable`);
} else {
console.error(`Host ${host} is unreachable`);
}
}&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div></description></item><item><title>PingOptions</title><link>https://grafana.com/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-options/</link><pubDate>Mon, 21 Sep 2026 15:16:28 +0000</pubDate><guid>https://grafana.com/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-options/</guid><content><![CDATA[&lt;h1 id=&#34;pingoptions&#34;&gt;PingOptions&lt;/h1&gt;
&lt;p&gt;Options for configuring the ping operation.&lt;/p&gt;
&lt;h2 id=&#34;properties&#34;&gt;Properties&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Property&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;id&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Identifier for the ICMP session. It is a 16-bit unsigned integer. Default is a k6 process ID plus a VU ID modulo 65536.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;seq&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Starting sequence number for the ICMP echo request. It is a 16-bit unsigned integer. Default is a random value.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;ttl&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Time to live for the ping packets. This value is decremented by each router the packet passes through.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;timeout&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number | string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Timeout for the single echo request and its response. The value is a number or string. The number value is in milliseconds, the string value contains the unit (for example, &lt;code&gt;2s&lt;/code&gt;). If the timeout is exceeded, the callback will be invoked with an error and the result will be &lt;code&gt;false&lt;/code&gt;. Default is &lt;code&gt;10s&lt;/code&gt; (10 seconds).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;deadline&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number | string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Deadline for the whole ping operation. The value is a number or string. The number value is in milliseconds, the string value contains the unit (for example, &lt;code&gt;2s&lt;/code&gt;). The deadline includes all echo requests and their responses. If the deadline is exceeded, the callback will be invoked with an error and the result will be &lt;code&gt;false&lt;/code&gt;. Default is no deadline.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;count&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Number of ping requests to send. Default is 1. If the count is set to a value greater than 1, the ping process will send multiple requests and returns &lt;code&gt;true&lt;/code&gt; if at least &lt;code&gt;threshold&lt;/code&gt; percent of the requests succeed.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;threshold&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Minimum percent of successful ping responses required for the ping operation to be considered successful. If this option is not set, the default is &lt;code&gt;100&lt;/code&gt; (%).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;size&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Size of the data to include in the ping request, in bytes. If this option is not set, 56 bytes will be used (ping command default).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;interval&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number | string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Interval between ping requests if &lt;code&gt;count&lt;/code&gt; is set to a value greater than 1. The value is a number or string. The number value is in milliseconds, the string value contains the unit (for example, &lt;code&gt;2s&lt;/code&gt;). Default is &lt;code&gt;1s&lt;/code&gt; (1 second). A very low value can be used for DoS attacks, so the allowed minimum value can be configured via the &lt;code&gt;K6_PING_MINIMUM_INTERVAL&lt;/code&gt; environment variable for safety. Default allowed minimum value is &lt;code&gt;500ms&lt;/code&gt; (0.5 seconds).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;source&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Source IP address to use for the ping request. If not set, the system&amp;rsquo;s default source address will be used.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;preferred_ip_version&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ip/&#34;&gt;IP&lt;/a&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Preferred IP protocol version to use for the ping request if the target is not an IPv4 or IPv6 address. Valid values are &lt;code&gt;&amp;quot;ip4&amp;quot;&lt;/code&gt; and &lt;code&gt;&amp;quot;ip6&amp;quot;&lt;/code&gt;. If not set, &lt;code&gt;&amp;quot;ip4&amp;quot;&lt;/code&gt; protocol will be used.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;tags&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;object&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Optional tags for metrics and logging (key-value pairs).&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="pingoptions">PingOptions&lt;/h1>
&lt;p>Options for configuring the ping operation.&lt;/p>
&lt;h2 id="properties">Properties&lt;/h2>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Property&lt;/th>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">id&lt;/td>
&lt;td style="text-align: left">number&lt;/td>
&lt;td style="text-align: left">Identifier for the ICMP session. It is a 16-bit unsigned integer. Default is a k6 process ID plus a VU ID modulo 65536.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">seq&lt;/td>
&lt;td style="text-align: left">number&lt;/td>
&lt;td style="text-align: left">Starting sequence number for the ICMP echo request. It is a 16-bit unsigned integer. Default is a random value.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">ttl&lt;/td>
&lt;td style="text-align: left">number&lt;/td>
&lt;td style="text-align: left">Time to live for the ping packets. This value is decremented by each router the packet passes through.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">timeout&lt;/td>
&lt;td style="text-align: left">number | string&lt;/td>
&lt;td style="text-align: left">Timeout for the single echo request and its response. The value is a number or string. The number value is in milliseconds, the string value contains the unit (for example, &lt;code>2s&lt;/code>). If the timeout is exceeded, the callback will be invoked with an error and the result will be &lt;code>false&lt;/code>. Default is &lt;code>10s&lt;/code> (10 seconds).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">deadline&lt;/td>
&lt;td style="text-align: left">number | string&lt;/td>
&lt;td style="text-align: left">Deadline for the whole ping operation. The value is a number or string. The number value is in milliseconds, the string value contains the unit (for example, &lt;code>2s&lt;/code>). The deadline includes all echo requests and their responses. If the deadline is exceeded, the callback will be invoked with an error and the result will be &lt;code>false&lt;/code>. Default is no deadline.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">count&lt;/td>
&lt;td style="text-align: left">number&lt;/td>
&lt;td style="text-align: left">Number of ping requests to send. Default is 1. If the count is set to a value greater than 1, the ping process will send multiple requests and returns &lt;code>true&lt;/code> if at least &lt;code>threshold&lt;/code> percent of the requests succeed.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">threshold&lt;/td>
&lt;td style="text-align: left">number&lt;/td>
&lt;td style="text-align: left">Minimum percent of successful ping responses required for the ping operation to be considered successful. If this option is not set, the default is &lt;code>100&lt;/code> (%).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">size&lt;/td>
&lt;td style="text-align: left">number&lt;/td>
&lt;td style="text-align: left">Size of the data to include in the ping request, in bytes. If this option is not set, 56 bytes will be used (ping command default).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">interval&lt;/td>
&lt;td style="text-align: left">number | string&lt;/td>
&lt;td style="text-align: left">Interval between ping requests if &lt;code>count&lt;/code> is set to a value greater than 1. The value is a number or string. The number value is in milliseconds, the string value contains the unit (for example, &lt;code>2s&lt;/code>). Default is &lt;code>1s&lt;/code> (1 second). A very low value can be used for DoS attacks, so the allowed minimum value can be configured via the &lt;code>K6_PING_MINIMUM_INTERVAL&lt;/code> environment variable for safety. Default allowed minimum value is &lt;code>500ms&lt;/code> (0.5 seconds).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">source&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">Source IP address to use for the ping request. If not set, the system&amp;rsquo;s default source address will be used.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">preferred_ip_version&lt;/td>
&lt;td style="text-align: left">
&lt;a href="/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ip/">IP&lt;/a>&lt;/td>
&lt;td style="text-align: left">Preferred IP protocol version to use for the ping request if the target is not an IPv4 or IPv6 address. Valid values are &lt;code>&amp;quot;ip4&amp;quot;&lt;/code> and &lt;code>&amp;quot;ip6&amp;quot;&lt;/code>. If not set, &lt;code>&amp;quot;ip4&amp;quot;&lt;/code> protocol will be used.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">tags&lt;/td>
&lt;td style="text-align: left">object&lt;/td>
&lt;td style="text-align: left">Optional tags for metrics and logging (key-value pairs).&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section></description></item><item><title>PingDetail</title><link>https://grafana.com/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-detail/</link><pubDate>Mon, 21 Sep 2026 15:16:28 +0000</pubDate><guid>https://grafana.com/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-detail/</guid><content><![CDATA[&lt;h1 id=&#34;pingdetail&#34;&gt;PingDetail&lt;/h1&gt;
&lt;p&gt;Data you receive as a parameter in the ping callback.&lt;/p&gt;
&lt;h2 id=&#34;properties&#34;&gt;Properties&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Property&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;alive&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;boolean&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Indicates whether the target is reachable (if an echo reply was received).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;target&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Hostname or IP address that was pinged.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;target_ip&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Target IP address that was pinged.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;target_ip_version&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ip/&#34;&gt;IP&lt;/a&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Target IP version that was used for the ping request. Valid values are &lt;code&gt;&amp;quot;ip4&amp;quot;&lt;/code&gt; and &lt;code&gt;&amp;quot;ip6&amp;quot;&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;sent_at&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Timestamp when the request was sent. Value is in UTC milliseconds since the Unix epoch.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;received_at&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Timestamp when the response was received. Value is in UTC milliseconds since the Unix epoch.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;ttl&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Time to live from the echo reply, if a response was received.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;id&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Identifier for the ICMP session from the echo reply, if a response was received.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;seq&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Sequence number for the ICMP echo request from the echo reply, if a response was received.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;size&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;number&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Size of the ICMP echo reply, if a response was received.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;options&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;
    &lt;a href=&#34;/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-options/&#34;&gt;PingOptions&lt;/a&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Ping options used for the request.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;pingcallback&#34;&gt;PingCallback&lt;/h2&gt;
&lt;p&gt;Callback function for ping results. This function is called for every echo packet sent. If the deadline is exceeded, it is not called for the remaining packets. If the echo response has been received, the error value will be null, otherwise it contains the error.&lt;/p&gt;
&lt;h3 id=&#34;signature&#34;&gt;Signature&lt;/h3&gt;
&lt;!-- md-k6:skipall --&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JavaScript&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-javascript&#34;&gt;(err, data) =&amp;gt; void&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;parameters&#34;&gt;Parameters&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Parameter&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Type&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;err&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Error | null&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Error object if an error occurred, otherwise &lt;code&gt;null&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;data&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;PingDetail&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;Data about the ping attempt, including timing and echo details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="pingdetail">PingDetail&lt;/h1>
&lt;p>Data you receive as a parameter in the ping callback.&lt;/p>
&lt;h2 id="properties">Properties&lt;/h2>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Property&lt;/th>
&lt;th style="text-align: left">Type&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">alive&lt;/td>
&lt;td style="text-align: left">boolean&lt;/td>
&lt;td style="text-align: left">Indicates whether the target is reachable (if an echo reply was received).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">target&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">Hostname or IP address that was pinged.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">target_ip&lt;/td>
&lt;td style="text-align: left">string&lt;/td>
&lt;td style="text-align: left">Target IP address that was pinged.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">target_ip_version&lt;/td>
&lt;td style="text-align: left">
&lt;a href="/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ip/">IP&lt;/a>&lt;/td>
&lt;td style="text-align: left">Target IP version that was used for the ping request. Valid values are &lt;code>&amp;quot;ip4&amp;quot;&lt;/code> and &lt;code>&amp;quot;ip6&amp;quot;&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">sent_at&lt;/td>
&lt;td style="text-align: left">number&lt;/td>
&lt;td style="text-align: left">Timestamp when the request was sent. Value is in UTC milliseconds since the Unix epoch.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">received_at&lt;/td>
&lt;td style="text-align: left">number&lt;/td>
&lt;td style="text-align: left">Timestamp when the response was received. Value is in UTC milliseconds since the Unix epoch.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">ttl&lt;/td>
&lt;td style="text-align: left">number&lt;/td>
&lt;td style="text-align: left">Time to live from the echo reply, if a response was received.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">id&lt;/td>
&lt;td style="text-align: left">number&lt;/td>
&lt;td style="text-align: left">Identifier for the ICMP session from the echo reply, if a response was received.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">seq&lt;/td>
&lt;td style="text-align: left">number&lt;/td>
&lt;td style="text-align: left">Sequence number for the ICMP echo request from the echo reply, if a response was received.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">size&lt;/td>
&lt;td style="text-align: left">number&lt;/td>
&lt;td style="text-align: left">Size of the ICMP echo reply, if a response was received.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">options&lt;/td>
&lt;td style="text-align: left">
&lt;a href="/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ping-options/">PingOptions&lt;/a>&lt;/td>
&lt;td style="text-align: left">Ping options used for the request.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section>&lt;h2 id="pingcallback">PingCallback&lt;/h2>
&lt;p>Callback function for ping results. This function is called for every echo packet sent. If the deadline is exceeded, it is not called for the remaining packets. If the echo response has been received, the error value will be null, otherwise it contains the error.&lt;/p></description></item><item><title>IP</title><link>https://grafana.com/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ip/</link><pubDate>Mon, 21 Sep 2026 15:16:28 +0000</pubDate><guid>https://grafana.com/docs/k6/v2.3.x/javascript-api/k6-x-icmp/ip/</guid><content><![CDATA[&lt;h1 id=&#34;ip&#34;&gt;IP&lt;/h1&gt;
&lt;p&gt;IP protocol version enumeration.&lt;/p&gt;
&lt;h2 id=&#34;values&#34;&gt;Values&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Value&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Name&lt;/th&gt;
              &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;&amp;quot;ip4&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;V4&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;IPv4 protocol&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;&amp;quot;ip6&amp;quot;&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;V6&lt;/td&gt;
              &lt;td style=&#34;text-align: left&#34;&gt;IPv6 protocol&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="ip">IP&lt;/h1>
&lt;p>IP protocol version enumeration.&lt;/p>
&lt;h2 id="values">Values&lt;/h2>
&lt;section class="expand-table-wrapper">&lt;div class="button-div">
&lt;button class="expand-table-btn">Expand table&lt;/button>
&lt;/div>&lt;div class="responsive-table-wrapper">
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Value&lt;/th>
&lt;th style="text-align: left">Name&lt;/th>
&lt;th style="text-align: left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">&lt;code>&amp;quot;ip4&amp;quot;&lt;/code>&lt;/td>
&lt;td style="text-align: left">V4&lt;/td>
&lt;td style="text-align: left">IPv4 protocol&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">&lt;code>&amp;quot;ip6&amp;quot;&lt;/code>&lt;/td>
&lt;td style="text-align: left">V6&lt;/td>
&lt;td style="text-align: left">IPv6 protocol&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/section></description></item></channel></rss>