{"id":6678,"date":"2022-08-06T20:36:14","date_gmt":"2022-08-06T20:36:14","guid":{"rendered":"https:\/\/www.garysieling.com\/blog\/?p=6678"},"modified":"2022-08-07T18:21:06","modified_gmt":"2022-08-07T18:21:06","slug":"r-convert-docker-stats-output-into-tabular-form","status":"publish","type":"post","link":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/","title":{"rendered":"R: Convert Docker stats output into tabular form"},"content":{"rendered":"\n<p>The Docker stats command prints out entries with units and as proportions.<\/p>\n\n\n\n<p>You can choose the format, so it can be convenient to poll the command and print out periodically into jsonl:<\/p>\n\n\n\n<p>{&#8220;cpu&#8221;: &#8220;68.56%&#8221;, &#8220;memory&#8221;: &#8220;26.67MiB \/ 5.651GiB&#8221;, &#8220;netIO&#8221;: &#8220;0B \/ 0B&#8221;, &#8220;blockIO&#8221;: &#8220;0B \/ 0B&#8221;}<br>{&#8220;cpu&#8221;: &#8220;0.25%&#8221;, &#8220;memory&#8221;: &#8220;26.67MiB \/ 5.651GiB&#8221;, &#8220;netIO&#8221;: &#8220;0B \/ 0B&#8221;, &#8220;blockIO&#8221;: &#8220;0B \/ 0B&#8221;}<br>{&#8220;cpu&#8221;: &#8220;0.30%&#8221;, &#8220;memory&#8221;: &#8220;26.51MiB \/ 5.651GiB&#8221;, &#8220;netIO&#8221;: &#8220;0B \/ 0B&#8221;, &#8220;blockIO&#8221;: &#8220;0B \/ 0B&#8221;}<\/p>\n\n\n\n<p>For this jsonl format, the following R code will convert to dataframes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>library(dplyr)\nlibrary(purrr)\nlibrary(jsonlite)\nlibrary(tidyr)\nlibrary(measurements)\nlibrary(stringr)\n\nconvert_to_bytes &lt;- function(value) {\n    digits &lt;- gsub(\"&#91;^0-9.]\", \"\", value)\n    units &lt;- gsub(\"&#91;0-9.]\", \"\", value)\n    multiplier &lt;- switch (units,\n                          'GiB' = 1024^3,\n                          'MiB' = 1024^2,\n                          'KiB'= 1024,\n                          'B' = 1)\n    \n    as.double(digits) * multiplier\n}\n\nresult &lt;- files %&gt;% \n    map(function(file) { paste0(folder, \"\/\", file ) }) %&gt;%\n    map(function(file) { \n        lines &lt;- readLines(file)\n        lines &lt;- lapply(lines, fromJSON)\n        lines &lt;- lapply(lines, unlist)\n        stats &lt;- bind_rows(lines)\n        if (any(names(stats) == 'cpu')) {\n            stats$index &lt;- 1:nrow(stats)\n            stats &lt;- stats %&gt;% \n                mutate(cpu = as.numeric(gsub(\"%\", \"\", cpu))) %&gt;%\n                separate(col = memory, into = c(\"memory_timepoint\", \"max_memory\"), sep = \" \/ \") %&gt;%\n                separate(col = netIO, into = c(\"net_io_timeout\", \"max_net_io\"), sep = \" \/ \") %&gt;%\n                separate(col = blockIO, into = c(\"block_io_timepoint\", \"max_block_io\"), sep = \" \/ \") %&gt;%\n                rowwise() %&gt;%\n                mutate(memory_timepoint = convert_to_bytes(memory_timepoint)) %&gt;%\n                mutate(max_memory = convert_to_bytes(max_memory)) %&gt;%\n                mutate(net_io_timeout = convert_to_bytes(net_io_timeout)) %&gt;%\n                mutate(max_net_io = convert_to_bytes(max_net_io)) %&gt;%\n                mutate(block_io_timepoint = convert_to_bytes(block_io_timepoint)) %&gt;%\n                mutate(max_block_io = convert_to_bytes(max_block_io))\n        }\n        stats\n    })\n\n\nSome output:\n\n&#91;&#91;3]]\n# A tibble: 3 \u00d7 8\n# Rowwise: \n    cpu memory_timepoint  max_memory net_io_timeout max_net_io block_io_timepoint max_block_io index\n  &lt;dbl&gt;            &lt;dbl&gt;       &lt;dbl&gt;          &lt;dbl&gt;      &lt;dbl&gt;              &lt;dbl&gt;        &lt;dbl&gt; &lt;int&gt;\n1 68.6         27965522. 6067715047.              0          0                  0            0     1\n2  0.25        27965522. 6067715047.              0          0                  0            0     2\n3  0.3         27797750. 6067715047.              0          0                  0            0     3\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>The Docker stats command prints out entries with units and as proportions. You can choose the format, so it can be convenient to poll the command and print out periodically into jsonl: {&#8220;cpu&#8221;: &#8220;68.56%&#8221;, &#8220;memory&#8221;: &#8220;26.67MiB \/ 5.651GiB&#8221;, &#8220;netIO&#8221;: &#8220;0B \/ 0B&#8221;, &#8220;blockIO&#8221;: &#8220;0B \/ 0B&#8221;}{&#8220;cpu&#8221;: &#8220;0.25%&#8221;, &#8220;memory&#8221;: &#8220;26.67MiB \/ 5.651GiB&#8221;, &#8220;netIO&#8221;: &#8220;0B \/ 0B&#8221;, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;R: Convert Docker stats output into tabular form&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[6,8],"tags":[450],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"The Docker stats command prints out entries with units and as proportions. You can choose the format, so it can be convenient to poll the command and print out periodically into jsonl: {&quot;cpu&quot;: &quot;68.56%&quot;, &quot;memory&quot;: &quot;26.67MiB \/ 5.651GiB&quot;, &quot;netIO&quot;: &quot;0B \/ 0B&quot;, &quot;blockIO&quot;: &quot;0B \/ 0B&quot;}{&quot;cpu&quot;: &quot;0.25%&quot;, &quot;memory&quot;: &quot;26.67MiB \/ 5.651GiB&quot;, &quot;netIO&quot;: &quot;0B \/ 0B&quot;,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"gary\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Gary Sieling - Software Engineer\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"R: Convert Docker stats output into tabular form - Gary Sieling\" \/>\n\t\t<meta property=\"og:description\" content=\"The Docker stats command prints out entries with units and as proportions. You can choose the format, so it can be convenient to poll the command and print out periodically into jsonl: {&quot;cpu&quot;: &quot;68.56%&quot;, &quot;memory&quot;: &quot;26.67MiB \/ 5.651GiB&quot;, &quot;netIO&quot;: &quot;0B \/ 0B&quot;, &quot;blockIO&quot;: &quot;0B \/ 0B&quot;}{&quot;cpu&quot;: &quot;0.25%&quot;, &quot;memory&quot;: &quot;26.67MiB \/ 5.651GiB&quot;, &quot;netIO&quot;: &quot;0B \/ 0B&quot;,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-08-06T20:36:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-08-07T18:21:06+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"R: Convert Docker stats output into tabular form - Gary Sieling\" \/>\n\t\t<meta name=\"twitter:description\" content=\"The Docker stats command prints out entries with units and as proportions. You can choose the format, so it can be convenient to poll the command and print out periodically into jsonl: {&quot;cpu&quot;: &quot;68.56%&quot;, &quot;memory&quot;: &quot;26.67MiB \/ 5.651GiB&quot;, &quot;netIO&quot;: &quot;0B \/ 0B&quot;, &quot;blockIO&quot;: &quot;0B \/ 0B&quot;}{&quot;cpu&quot;: &quot;0.25%&quot;, &quot;memory&quot;: &quot;26.67MiB \/ 5.651GiB&quot;, &quot;netIO&quot;: &quot;0B \/ 0B&quot;,\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/r-convert-docker-stats-output-into-tabular-form\\\/#blogposting\",\"name\":\"R: Convert Docker stats output into tabular form - Gary Sieling\",\"headline\":\"R: Convert Docker stats output into tabular form\",\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"},\"datePublished\":\"2022-08-06T20:36:14+00:00\",\"dateModified\":\"2022-08-07T18:21:06+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/r-convert-docker-stats-output-into-tabular-form\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/r-convert-docker-stats-output-into-tabular-form\\\/#webpage\"},\"articleSection\":\"Data Science, Devops, R\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/r-convert-docker-stats-output-into-tabular-form\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/data-science\\\/#listItem\",\"name\":\"Data Science\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/data-science\\\/#listItem\",\"position\":2,\"name\":\"Data Science\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/data-science\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/r-convert-docker-stats-output-into-tabular-form\\\/#listItem\",\"name\":\"R: Convert Docker stats output into tabular form\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/r-convert-docker-stats-output-into-tabular-form\\\/#listItem\",\"position\":3,\"name\":\"R: Convert Docker stats output into tabular form\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/data-science\\\/#listItem\",\"name\":\"Data Science\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/\",\"name\":\"gary\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/r-convert-docker-stats-output-into-tabular-form\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"gary\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/r-convert-docker-stats-output-into-tabular-form\\\/#webpage\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/r-convert-docker-stats-output-into-tabular-form\\\/\",\"name\":\"R: Convert Docker stats output into tabular form - Gary Sieling\",\"description\":\"The Docker stats command prints out entries with units and as proportions. You can choose the format, so it can be convenient to poll the command and print out periodically into jsonl: {\\\"cpu\\\": \\\"68.56%\\\", \\\"memory\\\": \\\"26.67MiB \\\/ 5.651GiB\\\", \\\"netIO\\\": \\\"0B \\\/ 0B\\\", \\\"blockIO\\\": \\\"0B \\\/ 0B\\\"}{\\\"cpu\\\": \\\"0.25%\\\", \\\"memory\\\": \\\"26.67MiB \\\/ 5.651GiB\\\", \\\"netIO\\\": \\\"0B \\\/ 0B\\\",\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/r-convert-docker-stats-output-into-tabular-form\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"datePublished\":\"2022-08-06T20:36:14+00:00\",\"dateModified\":\"2022-08-07T18:21:06+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"R: Convert Docker stats output into tabular form - Gary Sieling","description":"The Docker stats command prints out entries with units and as proportions. You can choose the format, so it can be convenient to poll the command and print out periodically into jsonl: {\"cpu\": \"68.56%\", \"memory\": \"26.67MiB \/ 5.651GiB\", \"netIO\": \"0B \/ 0B\", \"blockIO\": \"0B \/ 0B\"}{\"cpu\": \"0.25%\", \"memory\": \"26.67MiB \/ 5.651GiB\", \"netIO\": \"0B \/ 0B\",","canonical_url":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/#blogposting","name":"R: Convert Docker stats output into tabular form - Gary Sieling","headline":"R: Convert Docker stats output into tabular form","author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"},"datePublished":"2022-08-06T20:36:14+00:00","dateModified":"2022-08-07T18:21:06+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/#webpage"},"isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/#webpage"},"articleSection":"Data Science, Devops, R"},{"@type":"BreadcrumbList","@id":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.garysieling.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/data-science\/#listItem","name":"Data Science"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/data-science\/#listItem","position":2,"name":"Data Science","item":"https:\/\/www.garysieling.com\/blog\/category\/data-science\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/#listItem","name":"R: Convert Docker stats output into tabular form"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/#listItem","position":3,"name":"R: Convert Docker stats output into tabular form","previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/data-science\/#listItem","name":"Data Science"}}]},{"@type":"Organization","@id":"https:\/\/www.garysieling.com\/blog\/#organization","name":"Gary Sieling","description":"Software Engineer","url":"https:\/\/www.garysieling.com\/blog\/"},{"@type":"Person","@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author","url":"https:\/\/www.garysieling.com\/blog\/author\/gary\/","name":"gary","image":{"@type":"ImageObject","@id":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g","width":96,"height":96,"caption":"gary"}},{"@type":"WebPage","@id":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/#webpage","url":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/","name":"R: Convert Docker stats output into tabular form - Gary Sieling","description":"The Docker stats command prints out entries with units and as proportions. You can choose the format, so it can be convenient to poll the command and print out periodically into jsonl: {\"cpu\": \"68.56%\", \"memory\": \"26.67MiB \/ 5.651GiB\", \"netIO\": \"0B \/ 0B\", \"blockIO\": \"0B \/ 0B\"}{\"cpu\": \"0.25%\", \"memory\": \"26.67MiB \/ 5.651GiB\", \"netIO\": \"0B \/ 0B\",","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/#breadcrumblist"},"author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"creator":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"datePublished":"2022-08-06T20:36:14+00:00","dateModified":"2022-08-07T18:21:06+00:00"},{"@type":"WebSite","@id":"https:\/\/www.garysieling.com\/blog\/#website","url":"https:\/\/www.garysieling.com\/blog\/","name":"Gary Sieling","description":"Software Engineer","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Gary Sieling - Software Engineer","og:type":"article","og:title":"R: Convert Docker stats output into tabular form - Gary Sieling","og:description":"The Docker stats command prints out entries with units and as proportions. You can choose the format, so it can be convenient to poll the command and print out periodically into jsonl: {&quot;cpu&quot;: &quot;68.56%&quot;, &quot;memory&quot;: &quot;26.67MiB \/ 5.651GiB&quot;, &quot;netIO&quot;: &quot;0B \/ 0B&quot;, &quot;blockIO&quot;: &quot;0B \/ 0B&quot;}{&quot;cpu&quot;: &quot;0.25%&quot;, &quot;memory&quot;: &quot;26.67MiB \/ 5.651GiB&quot;, &quot;netIO&quot;: &quot;0B \/ 0B&quot;,","og:url":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/","article:published_time":"2022-08-06T20:36:14+00:00","article:modified_time":"2022-08-07T18:21:06+00:00","twitter:card":"summary_large_image","twitter:title":"R: Convert Docker stats output into tabular form - Gary Sieling","twitter:description":"The Docker stats command prints out entries with units and as proportions. You can choose the format, so it can be convenient to poll the command and print out periodically into jsonl: {&quot;cpu&quot;: &quot;68.56%&quot;, &quot;memory&quot;: &quot;26.67MiB \/ 5.651GiB&quot;, &quot;netIO&quot;: &quot;0B \/ 0B&quot;, &quot;blockIO&quot;: &quot;0B \/ 0B&quot;}{&quot;cpu&quot;: &quot;0.25%&quot;, &quot;memory&quot;: &quot;26.67MiB \/ 5.651GiB&quot;, &quot;netIO&quot;: &quot;0B \/ 0B&quot;,"},"aioseo_meta_data":{"post_id":"6678","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2023-02-04 16:02:28","updated":"2026-07-06 02:37:51","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\/category\/data-science\/\" title=\"Data Science\">Data Science<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tR: Convert Docker stats output into tabular form\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.garysieling.com\/blog"},{"label":"Data Science","link":"https:\/\/www.garysieling.com\/blog\/category\/data-science\/"},{"label":"R: Convert Docker stats output into tabular form","link":"https:\/\/www.garysieling.com\/blog\/r-convert-docker-stats-output-into-tabular-form\/"}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/6678"}],"collection":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/comments?post=6678"}],"version-history":[{"count":5,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/6678\/revisions"}],"predecessor-version":[{"id":6692,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/6678\/revisions\/6692"}],"wp:attachment":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/media?parent=6678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/categories?post=6678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/tags?post=6678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}