ESXi integration metrics

The official Datadog integration for monitoring ESXi. It collects 215 metrics.

Official summary

Monitor the health of your ESXi machines and VMs

Metric types

  • gauge (value at a point in time): 215

Metrics

Descriptions are the official definitions, unedited.

MetricTypeUnit
esxi.cpu.coreUtilization.avgCPU utilization of the corresponding core (if hyper-threading is enabled) as a percentagegaugepercent
esxi.cpu.costop.sumTime the virtual machine is ready to run, but is unable to run due to co-scheduling constraintsgaugemillisecond
esxi.cpu.demand.avgThe amount of CPU resources a virtual machine would use if there were no CPU contention or CPU limitgaugemegahertz
esxi.cpu.demandEntitlementRatio.latestCPU resource entitlement to CPU demand ratio (in percents)gaugepercent
esxi.cpu.entitlement.latestCPU resources devoted by the ESXi schedulergaugemegahertz
esxi.cpu.idle.sumTotal time that the CPU spent in an idle stategaugemillisecond
esxi.cpu.latency.avgPercent of time the virtual machine is unable to run because it is contending for access to the physical CPU(s)gaugepercent
esxi.cpu.maxlimited.sumTime the virtual machine is ready to run, but is not running because it has reached its maximum CPU limit settinggaugemillisecond
esxi.cpu.overlap.sumTime the virtual machine was interrupted to perform system services on behalf of itself or other virtual machines.gaugemillisecond
esxi.cpu.readiness.avgPercentage of time that the virtual machine was ready, but could not get scheduled to run on the physical CPU.gaugepercent
esxi.cpu.ready.sumMilliseconds of CPU time spent in ready stategaugemillisecond
esxi.cpu.reservedCapacity.avgTotal CPU capacity reserved by virtual machinesgaugemegahertz
esxi.cpu.run.sumTime the virtual machine is scheduled to rungaugemillisecond
esxi.cpu.swapwait.sumCPU time spent waiting for swap-ingaugemillisecond
esxi.cpu.system.sumAmount of time spent on system processes on each virtual CPU in the virtual machine. This is the host view of the CPU usage, not the guest operating system view.gaugemillisecond
esxi.cpu.totalCapacity.avgTotal CPU capacity reserved by and available for virtual machinesgaugemegahertz
esxi.cpu.usage.avgPercentage of CPU capacity being usedgaugepercent
esxi.cpu.used.sumTime accounted to the virtual machine. If a system service runs on behalf of this virtual machine, the time spent by that service (represented by cpu.system) should be charged to this virtual machine. If not, the time spent (represented by cpu.overlap) should not be charged against this virtual machine.gaugemillisecond
esxi.cpu.utilization.avgCPU utilization as a percentage during the interval (CPU usage and CPU utilization might be different due to power management technologies or hyper-threading)gaugepercent
esxi.cpu.wait.sumTotal CPU time spent in wait state.The wait total includes time spent the CPU Idle, CPU Swap Wait, and CPU I/O Wait states.gaugemillisecond
esxi.datastore.datastoreIops.avgStorage I/O Control aggregated IOPSgaugeoperation/second
esxi.datastore.datastoreMaxQueueDepth.latestStorage I/O Control datastore maximum queue depthgaugecommand
esxi.datastore.datastoreNormalReadLatency.latestStorage DRS datastore normalized read latencygaugemillisecond
esxi.datastore.datastoreNormalWriteLatency.latestStorage DRS datastore normalized write latencygaugemillisecond
esxi.datastore.datastoreReadBytes.latestStorage DRS datastore bytes readgaugemillisecond
esxi.datastore.datastoreReadIops.latestStorage DRS datastore read I/O rategaugeoperation/second
esxi.datastore.datastoreReadLoadMetric.latestStorage DRS datastore metric for read workload modelgauge-
esxi.datastore.datastoreReadOIO.latestStorage DRS datastore outstanding read requestsgaugerequest
esxi.datastore.datastoreVMObservedLatency.latestThe average datastore latency as seen by virtual machinesgaugemicrosecond
esxi.datastore.datastoreWriteBytes.latestStorage DRS datastore bytes writtengaugemillisecond
esxi.datastore.datastoreWriteIops.latestStorage DRS datastore write I/O rategaugeoperation/second
esxi.datastore.datastoreWriteLoadMetric.latestStorage DRS datastore metric for write workload modelgauge-
esxi.datastore.datastoreWriteOIO.latestStorage DRS datastore outstanding write requestsgaugerequest
esxi.datastore.maxTotalLatency.latestHighest latency value across all datastores used by the hostgaugemillisecond
esxi.datastore.numberReadAveraged.avgAverage number of read commands issued per second to the datastoregaugecommand
esxi.datastore.numberWriteAveraged.avgAverage number of write commands issued per second to the datastore during the collection intervalgauge-
esxi.datastore.read.avgRate of reading data from the datastoregaugekibibyte/second
esxi.datastore.siocActiveTimePercentage.avgPercentage of time Storage I/O Control actively controlled datastore latencygaugepercent
esxi.datastore.sizeNormalizedDatastoreLatency.avgStorage I/O Control size-normalized I/O latencygaugemicrosecond
esxi.datastore.totalReadLatency.avgAverage amount of time for a read operation from the datastoregaugemillisecond
esxi.datastore.totalWriteLatency.avgAverage amount of time for a write operation from the datastoregaugemillisecond
esxi.datastore.write.avgRate of writing data to the datastoregaugekibibyte/second
esxi.disk.busResets.sumNumber of SCSI-bus reset commands issuedgaugecommand
esxi.disk.commands.sumNumber of SCSI commands issuedgaugecommand
esxi.disk.commandsAborted.sumNumber of SCSI commands abortedgaugecommand
esxi.disk.commandsAveraged.avgAverage number of SCSI commands issued per secondgaugecommand/second
esxi.disk.deviceLatency.avgAverage amount of time it takes to complete an SCSI command from physical devicegaugemillisecond
esxi.disk.deviceReadLatency.avgAverage amount of time to read from the physical devicegaugemillisecond
esxi.disk.deviceWriteLatency.avgAverage amount of time to write from the physical devicegaugemillisecond
esxi.disk.kernelLatency.avgAverage amount of time spent by VMkernel to process each SCSI commandgaugemillisecond
esxi.disk.kernelReadLatency.avgAverage amount of time spent by VMkernel to process each SCSI read commandgaugemillisecond
esxi.disk.kernelWriteLatency.avgAverage amount of time spent by VMkernel to process each SCSI write commandgaugemillisecond
esxi.disk.maxQueueDepth.avgMaximum queue depthgaugecommand
esxi.disk.maxTotalLatency.latestHighest latency value across all disks used by the hostgaugemillisecond
esxi.disk.numberRead.sumNumber of disk reads during the collection interval.gauge-
esxi.disk.numberReadAveraged.avgAverage number of read commands issued per second to the datastoregaugecommand
esxi.disk.numberWrite.sumNumber of disk writes during the collection interval.gauge-
esxi.disk.numberWriteAveraged.avgAverage number of write commands issued per second to the datastoregaugecommand
esxi.disk.queueLatency.avgAverage amount of time spent in the VMkernel queue per SCSI commandgaugemillisecond/command
esxi.disk.queueReadLatency.avgAverage amount of time spent in the VMkernel queue per SCSI read commandgaugemillisecond/command
esxi.disk.queueWriteLatency.avgAverage amount of time spent in the VMkernel queue per SCSI write commandgaugemillisecond/command
esxi.disk.read.avgAverage number of kilobytes read from the disk each secondgaugekibibyte/second
esxi.disk.totalLatency.avgAverage amount of time taken during the collection interval to process a SCSI command issued by the guest OS to the virtual machine.gaugemillisecond
esxi.disk.totalReadLatency.avgAverage amount of time taken to process a SCSI read command issued from the guest OS to the virtual machinegaugemillisecond/command
esxi.disk.totalWriteLatency.avgAverage amount of time taken to process a SCSI write command issued by the guest OS to the virtual machinegaugemillisecond/command
esxi.disk.usage.avgAggregated disk I/O rategaugekibibyte/second
esxi.disk.write.avgAverage number of kilobytes written to the disk each secondgaugekibibyte/second
esxi.hbr.hbrNetRx.avgKilobytes per second of outgoing host-based replication network traffic (for this virtual machine or host).gaugekibibyte/second
esxi.hbr.hbrNetTx.avgAverage amount of data transmitted per secondgaugekibibyte/second
esxi.hbr.hbrNumVms.avgNumber of powered-on virtual machines running on this host that currently have host-based replication protection enabled.gauge-
esxi.host.can_connectWhether the check can connect to the ESXi host or not.gauge-
esxi.host.countTimeseries with value 1 for each ESXi Host. Make 'sum by {X}' queries to count all the Hosts with the tag X.gauge-
esxi.mem.active.avgAmount of memory that is actively used, as estimated by VMkernel based on recently touched memory pagesgaugekibibyte
esxi.mem.activewrite.avgEstimate for the amount of memory actively being written to by the virtual machinegaugekibibyte
esxi.mem.compressed.avgAmount of memory reserved by userworldsgaugekibibyte
esxi.mem.compressionRate.avgRate of memory compression for the virtual machinegaugekibibyte/second
esxi.mem.consumed.avgAmount of host physical memory consumed by a virtual machine, host, or clustergaugekibibyte
esxi.mem.decompressionRate.avgRate of memory decompression for the virtual machinegaugekibibyte/second
esxi.mem.entitlement.avgAmount of host physical memory the virtual machine is entitled to, as determined by the ESX schedulergaugekibibyte
esxi.mem.granted.avgAmount of host physical memory or physical memory that is mapped for a virtual machine or a hostgaugekibibyte
esxi.mem.heap.avgVMkernel virtual address space dedicated to VMkernel main heap and related datagaugekibibyte
esxi.mem.heapfree.avgFree address space in the VMkernel main heap.Varies based on number of physical devices and configuration options. There is no direct way for the user to increase or decrease this statistic. For informational purposes only: not useful for performance monitoring.gaugekibibyte
esxi.mem.latency.avgPercentage of time the virtual machine is waiting to access swapped or compressed memorygaugepercent
esxi.mem.llSwapIn.avgAmount of memory swapped-in from host cachegaugekibibyte
esxi.mem.llSwapInRate.avgRate at which memory is being swapped from host cache into active memorygaugekibibyte/second
esxi.mem.llSwapOut.avgAmount of memory swapped-out to host cachegaugekibibyte
esxi.mem.llSwapOutRate.avgRate at which memory is being swapped from active memory to host cachegaugekibibyte/second
esxi.mem.llSwapUsed.avgSpace used for caching swapped pages in the host cachegaugekibibyte
esxi.mem.lowfreethreshold.avgThreshold of free host physical memory below which ESX/ESXi will begin reclaiming memory from virtual machines through ballooning and swappinggaugekibibyte
esxi.mem.overhead.avgHost physical memory consumed by the virtualization infrastructure for running the virtual machinegaugekibibyte
esxi.mem.overheadMax.avgHost physical memory reserved for use as the virtualization overhead for the virtual machinegaugekibibyte
esxi.mem.overheadTouched.avgActively touched overhead host physical memory (KB) reserved for use as the virtualization overhead for the virtual machinegaugekibibyte
esxi.mem.reservedCapacity.avgTotal amount of memory reservation used by powered-on virtual machines and vSphere services on the hostgaugemebibyte
esxi.mem.shared.avgAmount of guest physical memory that is shared with other virtual machines, relative to a single virtual machine or to all powered-on virtual machines on a hostgaugekibibyte
esxi.mem.sharedcommon.avgAmount of machine memory that is shared by all powered-on virtual machines and vSphere services on the hostgaugekibibyte
esxi.mem.state.latestOne of four threshold levels representing the percentage of free memory on the host. The counter value determines swapping and ballooning behavior for memory reclamationgaugekibibyte
esxi.mem.swapin.avgAmount of memory swapped-in from diskgaugekibibyte
esxi.mem.swapinRate.avgRate at which memory is swapped from disk into active memorygaugekibibyte/second
esxi.mem.swapout.avgAmount of memory swapped-out to diskgaugekibibyte
esxi.mem.swapoutRate.avgRate at which memory is being swapped from active memory to diskgaugekibibyte/second
esxi.mem.swapped.avgCurrent amount of guest physical memory swapped out to the virtual machine swap file by the VMkernel. Swapped memory stays on disk until the virtual machine needs it. This statistic refers to VMkernel swapping and not to guest OS swappinggaugekibibyte
esxi.mem.swaptarget.avgTarget size for the virtual machine swap file. The VMkernel manages swapping by comparing swaptarget against swappedgaugekibibyte
esxi.mem.swapused.avgAmount of memory that is used by swap. Sum of memory swapped of all powered on VMs and vSphere services on the hostgaugekibibyte
esxi.mem.sysUsage.avgAmount of host physical memory used by VMkernel for core functionality, such as device drivers and other internal uses. Does not include memory used by virtual machines or vSphere servicesgaugekibibyte
esxi.mem.totalCapacity.avgTotal amount of memory reservation used by and available for powered-on virtual machines and vSphere services on the hostgaugemebibyte
esxi.mem.unreserved.avgAmount of memory that is unreserved. Memory reservation not used by the Service Console, VMkernel, vSphere services and other powered on VMs user-specified memory reservations and overhead memorygaugekibibyte
esxi.mem.usage.avgMemory usage as percent of total configured or available memorygaugepercent
esxi.mem.vmfs.pbc.capMissRatio.latestTrailing average of the ratio of capacity misses to compulsory misses for the VMFS PB Cachegaugepercent
esxi.mem.vmfs.pbc.overhead.latestAmount of VMFS heap used by the VMFS PB Cachegaugekibibyte
esxi.mem.vmfs.pbc.size.latestSpace used for holding VMFS Pointer Blocks in memorygaugemebibyte
esxi.mem.vmfs.pbc.sizeMax.latestMaximum size the VMFS Pointer Block Cache can grow togaugemebibyte
esxi.mem.vmfs.pbc.workingSet.latestAmount of file blocks whose addresses are cached in the VMFS PB Cachegaugetebibyte
esxi.mem.vmfs.pbc.workingSetMax.latestMaximum amount of file blocks whose addresses are cached in the VMFS PB Cachegaugetebibyte
esxi.mem.vmmemctl.avgAmount of memory allocated by the virtual machine memory control driver (vmmemctl)gaugekibibyte
esxi.mem.vmmemctltarget.avgTarget value set by VMkernal for the virtual machine's memory balloon size. In conjunction with vmmemctl metric, this metric is used by VMkernel to inflate and deflate the balloon for a virtual machinegaugekibibyte
esxi.mem.zero.avgMemory that contains 0s only. Included in shared amount. Through transparent page sharing, zero memory pages can be shared among virtual machines that run the same operating systemgaugekibibyte
esxi.mem.zipSaved.latestMemory saved due to memory zippinggaugekibibyte
esxi.mem.zipped.latestMemory zippedgaugekibibyte
esxi.net.broadcastRx.sumNumber of broadcast packets receivedgaugepacket
esxi.net.broadcastTx.sumNumber of broadcast packets transmittedgaugepacket
esxi.net.bytesRx.avgAverage amount of data received per secondgaugekibibyte/second
esxi.net.bytesTx.avgAverage amount of data transmitted per secondgaugekibibyte/second
esxi.net.droppedRx.sumNumber of received packets droppedgaugepacket
esxi.net.droppedTx.sumNumber of transmitted packets droppedgaugepacket
esxi.net.errorsRx.sumNumber of packets with errors receivedgaugepacket
esxi.net.errorsTx.sumNumber of packets with errors transmittedgaugepacket
esxi.net.multicastRx.sumNumber of multicast packets receivedgaugepacket
esxi.net.multicastTx.sumNumber of multicast packets transmittedgaugepacket
esxi.net.packetsRx.sumNumber of packets receivedgaugepacket
esxi.net.packetsTx.sumNumber of packets transmittedgaugepacket
esxi.net.pnicBytesRx.avggauge-
esxi.net.pnicBytesTx.avggauge-
esxi.net.received.avgAverage rate at which data was received during the interval. This represents the bandwidth of the networkgaugekibibyte/second
esxi.net.transmitted.avgAverage rate at which data was transmitted during the interval. This represents the bandwidth of the networkgaugekibibyte/second
esxi.net.unknownProtos.sumNumber of frames with unknown protocol receivedgaugekibibyte/second
esxi.net.usage.avgNetwork utilization (combined transmit- and receive-rates)gaugekibibyte/second
esxi.power.energy.sumTotal energy (in joule) used since last stats reset.gauge-
esxi.power.power.avgCurrent power usagegaugewatt
esxi.power.powerCap.avgMaximum allowed power usage.gaugewatt
esxi.rescpu.actav1.latestCPU active average over 1 minutegaugepercent
esxi.rescpu.actav15.latestCPU active average over 15 minutesgaugepercent
esxi.rescpu.actav5.latestCPU active average over 5 minutesgaugepercent
esxi.rescpu.actpk1.latestCPU active peak over 1 minutegaugepercent
esxi.rescpu.actpk15.latestCPU active peak over 15 minutesgaugepercent
esxi.rescpu.actpk5.latestCPU active peak over 5 minutesgaugepercent
esxi.rescpu.maxLimited1.latestAmount of CPU resources over the limit that were refused, average over 1 minutegaugepercent
esxi.rescpu.maxLimited15.latestAmount of CPU resources over the limit that were refused, average over 15 minutesgaugepercent
esxi.rescpu.maxLimited5.latestAmount of CPU resources over the limit that were refused, average over 5 minutesgaugepercent
esxi.rescpu.runav1.latestCPU running average over 1 minutegaugepercent
esxi.rescpu.runav15.latestCPU running average over 15 minutesgaugepercent
esxi.rescpu.runav5.latestCPU running average over 5 minutesgaugepercent
esxi.rescpu.runpk1.latestCPU running peak over 1 minutegaugepercent
esxi.rescpu.runpk15.latestCPU running peak over 15 minutesgaugepercent
esxi.rescpu.runpk5.latestCPU running peak over 5 minutesgaugepercent
esxi.rescpu.sampleCount.latestGroup CPU sample count.gauge-
esxi.rescpu.samplePeriod.latestGroup CPU sample period.gaugemillisecond
esxi.storageAdapter.commandsAveraged.avgAverage number of commands issued per second by the storage adaptergaugecommand/second
esxi.storageAdapter.maxTotalLatency.latestHighest latency value across all storage adapters used by the hostgaugemillisecond
esxi.storageAdapter.numberReadAveraged.avgAverage number of read commands issued per second by the storage adaptergaugecommand/second
esxi.storageAdapter.numberWriteAveraged.avgAverage number of write commands issued per second by the storage adaptergaugecommand/second
esxi.storageAdapter.read.avgRate of reading data by the storage adaptergaugekibibyte/second
esxi.storageAdapter.totalReadLatency.avgAverage amount of time for a read operation by the storage adaptergaugemillisecond
esxi.storageAdapter.totalWriteLatency.avgAverage amount of time for a write operation by the storage adaptergaugemillisecond
esxi.storageAdapter.write.avgRate of writing data by the storage adaptergaugekibibyte/second
esxi.storagePath.commandsAveraged.avgAverage number of commands issued per second on the storage path during the collection intervalgaugecommand
esxi.storagePath.maxTotalLatency.latestHighest latency value across all storage paths used by the hostgaugemillisecond
esxi.storagePath.numberReadAveraged.avgAverage number of read commands issued per second on the storage path during the collection intervalgauge-
esxi.storagePath.numberWriteAveraged.avgAverage number of write commands issued per second on the storage path during the collection intervalgauge-
esxi.storagePath.read.avgRate of reading data on the storage pathgaugekibibyte/second
esxi.storagePath.totalReadLatency.avgAverage amount of time for a read issued on the storage path. Total latency = kernel latency + device latency.gaugemillisecond
esxi.storagePath.totalWriteLatency.avgAverage amount of time for a write issued on the storage path. Total latency = kernel latency + device latency.gaugemillisecond
esxi.storagePath.write.avgRate of writing data on the storage pathgaugekibibyte/second
esxi.sys.heartbeat.latestNumber of heartbeats issued per virtual machinegauge-
esxi.sys.osUptime.latestTotal time elapsed, in seconds, since last operating system boot-upgaugesecond
esxi.sys.resourceCpuAct1.latestCPU active average over 1 minute of the system resource groupgaugepercent
esxi.sys.resourceCpuAct5.latestCPU active average over 5 minutes of the system resource groupgaugepercent
esxi.sys.resourceCpuAllocMax.latestCPU allocation limit (in MHz) of the system resource groupgaugemegahertz
esxi.sys.resourceCpuAllocMin.latestCPU allocation reservation (in MHz) of the system resource groupgaugemegahertz
esxi.sys.resourceCpuAllocShares.latestCPU allocation shares of the system resource groupgauge-
esxi.sys.resourceCpuMaxLimited1.latestCPU maximum limited over 1 minute of the system resource groupgaugepercent
esxi.sys.resourceCpuMaxLimited5.latestCPU maximum limited over 5 minutes of the system resource groupgaugepercent
esxi.sys.resourceCpuRun1.latestCPU running average over 1 minute of the system resource groupgaugepercent
esxi.sys.resourceCpuRun5.latestCPU running average over 5 minutes of the system resource groupgaugepercent
esxi.sys.resourceCpuUsage.avgAmount of CPU used by the Service Console and other applications during the interval by the Service Console and other applications.gaugemegahertz
esxi.sys.resourceFdUsage.latestNumber of file descriptors used by the system resource groupgauge-
esxi.sys.resourceMemAllocMax.latestMemory allocation limit (in KB) of the system resource groupgaugekibibyte
esxi.sys.resourceMemAllocMin.latestMemory allocation reservation (in KB) of the system resource groupgaugekibibyte
esxi.sys.resourceMemAllocShares.latestMemory allocation shares of the system resource groupgauge-
esxi.sys.resourceMemConsumed.latestMemory consumed by the system resource groupgaugekibibyte
esxi.sys.resourceMemCow.latestMemory shared by the system resource groupgaugekibibyte
esxi.sys.resourceMemMapped.latestMemory mapped by the system resource groupgaugekibibyte
esxi.sys.resourceMemOverhead.latestOverhead memory consumed by the system resource groupgaugekibibyte
esxi.sys.resourceMemShared.latestMemory saved due to sharing by the system resource groupgaugekibibyte
esxi.sys.resourceMemSwapped.latestMemory swapped out by the system resource groupgaugekibibyte
esxi.sys.resourceMemTouched.latestMemory touched by the system resource groupgaugekibibyte
esxi.sys.resourceMemZero.latestZero filled memory used by the system resource groupgaugekibibyte
esxi.sys.uptime.latestTotal time elapsed since last system startupgaugesecond
esxi.virtualDisk.largeSeeks.latestNumber of seeks during the interval that were greater than 8192 LBNs apartgauge-
esxi.virtualDisk.mediumSeeks.latestNumber of seeks during the interval that were between 64 and 8192 LBNs apartgauge-
esxi.virtualDisk.numberReadAveraged.avgAverage number of read commands issued per second to the virtual diskgaugecommand
esxi.virtualDisk.numberWriteAveraged.avgAverage number of write commands issued per second to the virtual diskgaugecommand
esxi.virtualDisk.read.avgAverage number of kilobytes read from the virtual disk each secondgaugekibibyte/second
esxi.virtualDisk.readIOSize.latestAverage read request size in bytesgauge-
esxi.virtualDisk.readLatencyUS.latestRead latency in microsecondsgaugemicrosecond
esxi.virtualDisk.readLoadMetric.latestStorage DRS virtual disk metric for the read workload modelgauge-
esxi.virtualDisk.readOIO.latestAverage number of outstanding read requests to the virtual diskgaugerequest
esxi.virtualDisk.smallSeeks.latestNumber of seeks during the interval that were less than 64 LBNs apartgauge-
esxi.virtualDisk.totalReadLatency.avgAverage amount of time for a read operation from the virtual diskgaugemillisecond
esxi.virtualDisk.totalWriteLatency.avgAverage amount of time for a write operation from the virtual diskgaugemillisecond
esxi.virtualDisk.write.avgAverage number of kilobytes written to the virtual disk each secondgaugekibibyte/second
esxi.virtualDisk.writeIOSize.latestAverage write request size in bytesgauge-
esxi.virtualDisk.writeLatencyUS.latestWrite latency in microsecondsgaugemicrosecond
esxi.virtualDisk.writeLoadMetric.latestStorage DRS virtual disk metric for the write workload modelgauge-
esxi.virtualDisk.writeOIO.latestAverage number of outstanding write requests to the virtual diskgaugerequest
esxi.vm.countTimeseries with value 1 for each VM. Make 'sum by {X}' queries to count all the VMs with the tag X.gauge-

Official documentation

Official documentation for the ESXi integration

Metric names and descriptions are the official Datadog integration definitions (Copyright Datadog, Inc., BSD-3-Clause), reproduced unedited. The full license terms are on the About page.