diff --git a/docs/README.md b/docs/README.md index 9dd7561..3471c26 100644 --- a/docs/README.md +++ b/docs/README.md @@ -16,6 +16,37 @@ MegaMon provides granular merics about when a JobSet is Down. This allows for ca ![Downness Metrics](./diagrams/downness-metrics.excalidraw.png) +![Example 1 - Job completes](./diagrams/jobcomplete.excalidraw.png) + +| Metric | Megamon Name | Calculation | +|-----------------------------------|-------------------------------------------------------------------------------|------------------| +| Jobset Up time | jobset_up_time_seconds_total | u0 + u1 + u2 | +| Jobset Interruption time | jobset_down_time_between_recovery_seconds | d1 + d2 | +| Down time | jobset_down_time_seconds | d0 + d1 + d2 | +| Time between/around interruptions | Jobset_up_time_between_interruption_seconds | u0 + u1 | +| Interruption count | jobset_interruption_count_total | count(d1,d2) = 2 | +| Provisioning time | jobset_down_time_intital_seconds | d0 | +| Recovery time | jobset_recovery_time_seconds | d1 + d2 | +| Recovery count | jobset_recovery_count_total | count(u1,u2) = 2 | +| Jobset MTTR | jobset_down_time_between_recovery_seconds / jobset_recovery_count_total | (d1 + d2) / 2 | +| Jobset MTBI | Jobset_up_time_between_interruption_seconds / jobset_interruption_count_total | (u0 + u1) / 2 | + + +![Example 2 - Job completes](./diagrams/job_incomplete.excalidraw.png) + +| Metric | Megamon Name | Calculation | +|-----------------------------------|-------------------------------------------------------------------------------|---------------| +| Jobset Up time | jobset_up_time_seconds_total | u0 + u1 | +| Jobset Interruption time | jobset_down_time_between_recovery_seconds | d1 + d2 | +| Down time | jobset_down_time_seconds | d0 + d1 + d2 | +| Time between/around interruptions | Jobset_up_time_between_interruption_seconds | u0 + u1 | +| Interruption count | jobset_interruption_count_total | count(d1) = 1 | +| Provisioning time | jobset_down_time_intital_seconds | d0 | +| Recovery time | jobset_recovery_time_seconds | d1 | +| Recovery count | jobset_recovery_count_total | count(u1) = 2 | +| Jobset MTTR | jobset_down_time_between_recovery_seconds / jobset_recovery_count_total | d1 / 1 | +| Jobset MTBI | Jobset_up_time_between_interruption_seconds / jobset_interruption_count_total | (u0 + u1) / 2 | + ## TODO * Make sure to always emit the final summaries for a completed/failed jobset. diff --git a/docs/diagrams/job_incomplete.excalidraw.png b/docs/diagrams/job_incomplete.excalidraw.png new file mode 100644 index 0000000..9a3b91f Binary files /dev/null and b/docs/diagrams/job_incomplete.excalidraw.png differ diff --git a/docs/diagrams/jobcomplete.excalidraw copy.png b/docs/diagrams/jobcomplete.excalidraw copy.png new file mode 100644 index 0000000..c95bd7e Binary files /dev/null and b/docs/diagrams/jobcomplete.excalidraw copy.png differ diff --git a/docs/diagrams/jobcomplete.excalidraw.png b/docs/diagrams/jobcomplete.excalidraw.png new file mode 100644 index 0000000..99edc1f Binary files /dev/null and b/docs/diagrams/jobcomplete.excalidraw.png differ