groundnuty
7/30/2018 - 9:05 PM

Gantt for k8s pods

Gantt for k8s pods

Data from pods

Script:

JSONPATH='{range .items[*]};{@.metadata.name}:{@.status.conditions[?(@.type=="PodScheduled")].lastTransitionTime},{@.status.conditions[?(@.type=="Ready")].lastTransitionTime}{end}'; kubectl get pods -o jsonpath="$JSONPATH" | tr ';' '\n'

Example:

gantt
        dateFormat  YYYY-MM-DDTHH:mm:ssZ
         axisFormat %Y-%m-%d:%H-%M-%S
        title Adding GANTT diagram functionality to mermaid
        section A section
metadata-cross-support-job-3p-groups-qv7hw:2018-07-30T19:39:13Z,2018-07-30T20:01:16Z
metadata-cross-support-job-3p-luma-2xfch:2018-07-30T19:39:13Z,2018-07-30T20:03:30Z
metadata-cross-support-job-3p-spaces-nqmw6:2018-07-30T19:39:13Z,2018-07-30T20:02:38Z
metadata-cross-support-job-3p-supports-grqfw:2018-07-30T19:39:13Z,2018-07-30T20:09:46Z
metadata-cross-support-job-3p-users-7q98r:2018-07-30T19:39:13Z,2018-07-30T19:57:14Z
metadata-keycloak-0:2018-07-30T19:39:13Z,2018-07-30T19:40:09Z
metadata-keycloak-init-kcmrf:2018-07-30T19:39:13Z,2018-07-30T19:42:10Z
metadata-luma-krakow-744996c5d9-86qpd:2018-07-30T19:39:12Z,2018-07-30T19:39:29Z
metadata-luma-lisbon-56dc96bc6f-s9gk8:2018-07-30T19:39:12Z,2018-07-30T19:39:35Z
metadata-luma-paris-74cdfdd49c-zj57g:2018-07-30T19:39:13Z,2018-07-30T19:41:11Z
metadata-oneclient-krakow-57f4776bc-sl2vw:2018-07-30T19:39:12Z,2018-07-30T19:46:02Z
metadata-oneclient-lisbon-fff476795-gml7m:2018-07-30T19:39:12Z,2018-07-30T19:57:09Z
metadata-oneclient-paris-7bd847fc79-qsqtx:2018-07-30T19:39:13Z,2018-07-30T19:47:49Z
metadata-onedata-cli-krakow-c5b456885-ggl7k:2018-07-30T19:39:12Z,2018-07-30T19:45:11Z
metadata-onedata-cli-lisbon-555f4fd55c-r2ptk:2018-07-30T19:39:12Z,2018-07-30T19:45:09Z
metadata-onedata-cli-paris-7c9f7b8669-57kwt:2018-07-30T19:39:14Z,2018-07-30T19:45:11Z
metadata-oneprovider-krakow-0:2018-07-30T19:39:12Z,2018-07-30T19:43:30Z
metadata-oneprovider-krakow-ready-check-zjdgg:2018-07-30T19:39:13Z,2018-07-30T19:39:17Z
metadata-oneprovider-lisbon-0:2018-07-30T19:53:55Z,2018-07-30T19:55:42Z
metadata-oneprovider-lisbon-ready-check-8dx4g:2018-07-30T19:39:13Z,2018-07-30T19:39:17Z
metadata-oneprovider-paris-0:2018-07-30T19:39:13Z,2018-07-30T19:43:44Z
metadata-oneprovider-paris-ready-check-7rwsz:2018-07-30T19:39:13Z,2018-07-30T19:39:17Z
metadata-onezone-0:2018-07-30T19:39:13Z,2018-07-30T20:07:50Z
metadata-onezone-ready-check-qm564:2018-07-30T19:39:13Z,2018-07-30T19:44:51Z
metadata-token-dispenser-b65dd7986-bmn2k:2018-07-30T19:39:15Z,2018-07-30T19:40:53Z
metadata-volume-ceph-krakow-6587544d9d-bztg9:2018-07-30T19:39:12Z,2018-07-30T19:39:50Z
metadata-volume-ceph-lisbon-596cfd8b8b-wlxrd:2018-07-30T19:39:12Z,2018-07-30T19:41:15Z
metadata-volume-ceph-paris-56c4545856-nlb2k:2018-07-30T19:39:14Z,2018-07-30T19:39:57Z
metadata-volume-gluster-krakow-5665b69c87-scfxs:2018-07-30T19:39:12Z,2018-07-30T19:40:29Z
metadata-volume-gluster-lisbon-55fcb759-25xn9:2018-07-30T19:39:13Z,2018-07-30T19:42:07Z
metadata-volume-gluster-paris-85b454f595-m6n8k:2018-07-30T19:39:14Z,2018-07-30T19:41:36Z
metadata-volume-nfs-krakow-59d4769f4c-ls7j5:2018-07-30T19:39:12Z,2018-07-30T19:39:33Z
metadata-volume-nfs-lisbon-85bcd9dcc9-rpb6h:2018-07-30T19:39:13Z,2018-07-30T19:40:53Z
metadata-volume-nfs-paris-5f5c6df7b9-xccmm:2018-07-30T19:39:14Z,2018-07-30T19:40:53Z
metadata-volume-s3-krakow-7df45494d6-mtw62:2018-07-30T19:39:12Z,2018-07-30T19:40:54Z
metadata-volume-s3-krakow-init-9ppz8:2018-07-30T19:39:13Z,2018-07-30T19:39:17Z
metadata-volume-s3-lisbon-755678654b-4hhkj:2018-07-30T19:39:13Z,2018-07-30T19:41:19Z
metadata-volume-s3-lisbon-init-ghwzq:2018-07-30T19:39:13Z,2018-07-30T19:41:27Z
metadata-volume-s3-paris-5c67d9dcc8-xfrwp:2018-07-30T19:39:15Z,2018-07-30T19:40:59Z
metadata-volume-s3-paris-init-wq8sp:2018-07-30T19:39:13Z,2018-07-30T19:39:17Z

Data from Deployments etc.

Script:

JSONPATH='{range .items[*]};{@.metadata.name}:{@.metadata.creationTimestamp},{@.status.completionTime}{end}'; kubectl get job -o jsonpath="$JSONPATH" | tr ';' '\n'
JSONPATH='{range .items[*]};{@.metadata.name}:{@.metadata.creationTimestamp},{@.status.conditions[0].lastTransitionTime}{end}'; kubectl get deploy -o jsonpath="$JSONPATH" | tr ';' '\n'
JSONPATH='{range .items[*]};{@.metadata.name}:{@.metadata.creationTimestamp},{@.status.conditions[?(@.type=="Ready")].lastTransitionTime}{end}' ; while read i ; do kubectl get po -lapp=$i -o jsonpath="$JSONPATH"  ; done < <(kubectl get  statefulset   -o name | cut -d '/' -f 2) | tr ';' '\n'```

Example:
```gantt
gantt
        dateFormat  YYYY-MM-DDTHH:mm:ssZ
         axisFormat %Y-%m-%d:%H-%M-%S
        title Adding GANTT diagram functionality to mermaid
        section A section
metadata-cross-support-job-3p-groups-qv7hw:2018-07-30T19:39:13Z,2018-07-30T20:01:16Z
metadata-cross-support-job-3p-luma-2xfch:2018-07-30T19:39:13Z,2018-07-30T20:03:30Z
metadata-cross-support-job-3p-spaces-nqmw6:2018-07-30T19:39:13Z,2018-07-30T20:02:38Z
metadata-cross-support-job-3p-supports-grqfw:2018-07-30T19:39:13Z,2018-07-30T20:09:46Z
metadata-cross-support-job-3p-users-7q98r:2018-07-30T19:39:13Z,2018-07-30T19:57:14Z
metadata-keycloak-0:2018-07-30T19:39:13Z,2018-07-30T19:40:09Z
metadata-keycloak-init-kcmrf:2018-07-30T19:39:13Z,2018-07-30T19:42:10Z
metadata-luma-krakow-744996c5d9-86qpd:2018-07-30T19:39:12Z,2018-07-30T19:39:29Z
metadata-luma-lisbon-56dc96bc6f-s9gk8:2018-07-30T19:39:12Z,2018-07-30T19:39:35Z
metadata-luma-paris-74cdfdd49c-zj57g:2018-07-30T19:39:13Z,2018-07-30T19:41:11Z
metadata-oneclient-krakow-57f4776bc-sl2vw:2018-07-30T19:39:12Z,2018-07-30T19:46:02Z
metadata-oneclient-lisbon-fff476795-gml7m:2018-07-30T19:39:12Z,2018-07-30T19:57:09Z
metadata-oneclient-paris-7bd847fc79-qsqtx:2018-07-30T19:39:13Z,2018-07-30T19:47:49Z
metadata-onedata-cli-krakow-c5b456885-ggl7k:2018-07-30T19:39:12Z,2018-07-30T19:45:11Z
metadata-onedata-cli-lisbon-555f4fd55c-r2ptk:2018-07-30T19:39:12Z,2018-07-30T19:45:09Z
metadata-onedata-cli-paris-7c9f7b8669-57kwt:2018-07-30T19:39:14Z,2018-07-30T19:45:11Z
metadata-oneprovider-krakow-0:2018-07-30T19:39:12Z,2018-07-30T19:43:30Z
metadata-oneprovider-krakow-ready-check-zjdgg:2018-07-30T19:39:13Z,2018-07-30T19:39:17Z
metadata-oneprovider-lisbon-0:2018-07-30T19:53:55Z,2018-07-30T19:55:42Z
metadata-oneprovider-lisbon-ready-check-8dx4g:2018-07-30T19:39:13Z,2018-07-30T19:39:17Z
metadata-oneprovider-paris-0:2018-07-30T19:39:13Z,2018-07-30T19:43:44Z
metadata-oneprovider-paris-ready-check-7rwsz:2018-07-30T19:39:13Z,2018-07-30T19:39:17Z
metadata-onezone-0:2018-07-30T19:39:13Z,2018-07-30T20:07:50Z
metadata-onezone-ready-check-qm564:2018-07-30T19:39:13Z,2018-07-30T19:44:51Z
metadata-token-dispenser-b65dd7986-bmn2k:2018-07-30T19:39:15Z,2018-07-30T19:40:53Z
metadata-volume-ceph-krakow-6587544d9d-bztg9:2018-07-30T19:39:12Z,2018-07-30T19:39:50Z
metadata-volume-ceph-lisbon-596cfd8b8b-wlxrd:2018-07-30T19:39:12Z,2018-07-30T19:41:15Z
metadata-volume-ceph-paris-56c4545856-nlb2k:2018-07-30T19:39:14Z,2018-07-30T19:39:57Z
metadata-volume-gluster-krakow-5665b69c87-scfxs:2018-07-30T19:39:12Z,2018-07-30T19:40:29Z
metadata-volume-gluster-lisbon-55fcb759-25xn9:2018-07-30T19:39:13Z,2018-07-30T19:42:07Z
metadata-volume-gluster-paris-85b454f595-m6n8k:2018-07-30T19:39:14Z,2018-07-30T19:41:36Z
metadata-volume-nfs-krakow-59d4769f4c-ls7j5:2018-07-30T19:39:12Z,2018-07-30T19:39:33Z
metadata-volume-nfs-lisbon-85bcd9dcc9-rpb6h:2018-07-30T19:39:13Z,2018-07-30T19:40:53Z
metadata-volume-nfs-paris-5f5c6df7b9-xccmm:2018-07-30T19:39:14Z,2018-07-30T19:40:53Z
metadata-volume-s3-krakow-7df45494d6-mtw62:2018-07-30T19:39:12Z,2018-07-30T19:40:54Z
metadata-volume-s3-krakow-init-9ppz8:2018-07-30T19:39:13Z,2018-07-30T19:39:17Z
metadata-volume-s3-lisbon-755678654b-4hhkj:2018-07-30T19:39:13Z,2018-07-30T19:41:19Z
metadata-volume-s3-lisbon-init-ghwzq:2018-07-30T19:39:13Z,2018-07-30T19:41:27Z
metadata-volume-s3-paris-5c67d9dcc8-xfrwp:2018-07-30T19:39:15Z,2018-07-30T19:40:59Z
metadata-volume-s3-paris-init-wq8sp:2018-07-30T19:39:13Z,2018-07-30T19:39:17Z