diff --git a/docs/widgets.md b/docs/widgets.md
index 357b104e..74f3b349 100644
--- a/docs/widgets.md
+++ b/docs/widgets.md
@@ -48,6 +48,8 @@ Dashy has support for displaying dynamic content in the form of widgets. There a
- [CPU Usage History](#cpu-usage-history)
- [Memory Usage Current](#current-memory-usage)
- [Memory Usage History](#memory-usage-history)
+ - [Disk Space](#disk-space)
+ - [Disk IO](#disk-io)
- [Dynamic Widgets](#dynamic-widgets)
- [Iframe Widget](#iframe-widget)
- [HTML Embed Widget](#html-embedded-widget)
@@ -1298,6 +1300,22 @@ List connected disks, showing free / used space and other info (file system, mou
---
+### Disk IO
+
+Shows real-time read and write speeds and operations per sec for each disk
+
+

+
+##### Example
+
+```yaml
+- type: gl-disk-io
+ options:
+ hostname: http://192.168.130.2:61208
+```
+
+---
+
## Dynamic Widgets
### Iframe Widget
diff --git a/src/components/Widgets/GlDiskIo.vue b/src/components/Widgets/GlDiskIo.vue
new file mode 100644
index 00000000..75c1ab79
--- /dev/null
+++ b/src/components/Widgets/GlDiskIo.vue
@@ -0,0 +1,127 @@
+
+
+
+
{{ disk.name }}
+
+
+ Read:
+ {{ disk.readB | formatSize }}
+ {{ disk.readD | getArrow }}
+
+
+
+ Write:
+ {{ disk.writeB | formatSize }}
+ {{ disk.writeD | getArrow }}
+
+
+
+
+
+
+
+
diff --git a/src/components/Widgets/WidgetBase.vue b/src/components/Widgets/WidgetBase.vue
index 7ee6b551..25611792 100644
--- a/src/components/Widgets/WidgetBase.vue
+++ b/src/components/Widgets/WidgetBase.vue
@@ -130,6 +130,13 @@
@error="handleError"
:ref="widgetRef"
/>
+
import('@/components/Widgets/GlCpuCores.vue'),
GlCpuGauge: () => import('@/components/Widgets/GlCpuGauge.vue'),
GlCpuHistory: () => import('@/components/Widgets/GlCpuHistory.vue'),
+ GlDiskIo: () => import('@/components/Widgets/GlDiskIo.vue'),
GlDiskSpace: () => import('@/components/Widgets/GlDiskSpace.vue'),
GlMemGauge: () => import('@/components/Widgets/GlMemGauge.vue'),
GlMemHistory: () => import('@/components/Widgets/GlMemHistory.vue'),