From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ronald Rojas Subject: [PATCH RFC 30/59] htmlreport: Include utilization scatterplots Date: Wed, 28 Dec 2016 20:14:23 -0500 Message-ID: <1482974092-15891-30-git-send-email-ronladred@gmail.com> References: <1482974092-15891-1-git-send-email-ronladred@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1482974092-15891-1-git-send-email-ronladred@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel , Ian Jackson , Wei Liu , George Dunlap , George Dunlap List-Id: xen-devel@lists.xenproject.org RnJvbTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgoKUmVmb3JtYXQg UnVuUmF3IHNvIHRoYXQgaXQncyBhIG1vcmUgZ2VuZXJpYyBzY2F0dGVycGxvdCwgd2l0aCB0aGUK Y2FsbGVyIHNwZWNpZnlpbmcgdGhlIGphdmFzY3JpcHQgdGFnLCB0aXRsZSwgYW5kIGF4ZXMuICBL ZWVwIHRoZW0gYXMgYQpzdHJhaWdodCBsaXN0IHRvIGJlIGRpc3BsYXllZCByYXRoZXIgdGhhbiBk ZWZpbmluZyB0aGVtIG9uIGEgcGVyLXJ1bgpiYXNpcy4KCkNvbGxlY3QgYSBzbGljZSBvZiB1dGls aXphdGlvbiBwb2ludHMgYXQgdGhlIHNhbWUgdGltZSBhcyBjb2xsZWN0aW5nCnRoZSB0aHJvdWdo cHV0IG1ldHJpY3MsIGFkZCB0aGVtIGJvdGggYXQgdGhlIHNhbWUgdGltZS4KCldoaWxlIHdlJ3Jl IGhlcmUsIGFkZCAib21pdGVtcHR5IiB0byBzb21lIG9mIHRoZSBvcHRpb25zIHNvIG5vIGpzb24g aXMKZ2VuZXJhdGVkIGlmIG5vdGhpbmcgaXMgc3BlY2lmaWVkLiAgTGVhdmUgIk1pblZhbHVlIiBz byB0aGF0IHdlIGFyZQphYmxlIHRvIHNwZWNpZnkgYSB6ZXJvIG9yaWdpbiAod2hpY2ggd2lsbCBh bHNvIGJlIHRoZSBkZWZhdWx0KS4KCkZpbmFsbHksIGRvbid0IGJvdGhlciBmaW5kaW5nIG1pbmlt dW0gYW5kIG1heGltdW0gcG9pbnRzOyB0aGUgY2hhcnQKcGxvdHRlciB3aWxsIGRvIHRoYXQgYW55 d2F5LgoKU2lnbmVkLW9mZi1ieTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXgu Y29tPgotLS0KIGh0bWxyZXBvcnQuZ28gfCA4OSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQ3IGluc2Vy dGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2h0bWxyZXBvcnQuZ28gYi9o dG1scmVwb3J0LmdvCmluZGV4IDZmNjE5OTguLjU0NTU4MmQgMTAwNjQ0Ci0tLSBhL2h0bWxyZXBv cnQuZ28KKysrIGIvaHRtbHJlcG9ydC5nbwpAQCAtMjYsMTYgKzI2LDE3IEBAIGltcG9ydCAoCiAp CiAKIHR5cGUgT3B0aW9uQXhpcyBzdHJ1Y3QgewotCVRpdGxlIHN0cmluZyBganNvbjoidGl0bGUi YAorCVRpdGxlIHN0cmluZyBganNvbjoidGl0bGUsb21pdGVtcHR5ImAKKwkvLyBBbHdheXMgaW5j bHVkZSB0aGlzIG9uZSBzbyB0aGF0IHdlIGNhbiBzdGFydCBncmFwaHMgYXQgMAogCU1pblZhbHVl IGZsb2F0NjQgYGpzb246Im1pblZhbHVlImAKLQlNYXhWYWx1ZSBmbG9hdDY0IGBqc29uOiJtYXhW YWx1ZSJgCisJTWF4VmFsdWUgZmxvYXQ2NCBganNvbjoibWF4VmFsdWUsb21pdGVtcHR5ImAKIH0K IAogdHlwZSBPcHRpb25zIHN0cnVjdCB7Ci0JVGl0bGUgc3RyaW5nICAgICBganNvbjoidGl0bGUi YAorCVRpdGxlIHN0cmluZyAgICAgYGpzb246InRpdGxlLG9taXRlbXB0eSJgCiAJSEF4aXMgT3B0 aW9uQXhpcyBganNvbjoiaEF4aXMiYAogCVZBeGlzIE9wdGlvbkF4aXMgYGpzb246InZBeGlzImAK LQlMZWdlbmQgc3RyaW5nICAgIGBqc29uOiJsZWdlbmQiYAorCUxlZ2VuZCBzdHJpbmcgICAgYGpz b246ImxlZ2VuZCxvbWl0ZW1wdHkiYAogfQogCiB0eXBlIFBvaW50IHN0cnVjdCB7CkBAIC00NCwx OCArNDUsMjEgQEAgdHlwZSBQb2ludCBzdHJ1Y3QgewogfQogCiB0eXBlIFJ1blJhdyBzdHJ1Y3Qg ewotCUxhYmVsIHN0cmluZworCVRhZyBzdHJpbmcKKwlUaXRsZSBzdHJpbmcKKwloVGl0bGUgc3Ry aW5nCisJdlRpdGxlIHN0cmluZwogCVBvaW50cyBbXVtdUG9pbnQKIH0KIAotZnVuYyAob3B0aW9u cyAqT3B0aW9ucykgT3V0cHV0SmF2YXNjcmlwdCh3IGlvLldyaXRlciwgaWQgaW50KSAoZXJyIGVy cm9yKSB7CitmdW5jIChvcHRpb25zICpPcHRpb25zKSBPdXRwdXRKYXZhc2NyaXB0KHcgaW8uV3Jp dGVyLCB0YWcgc3RyaW5nKSAoZXJyIGVycm9yKSB7CiAJdmFyIG9wdGlvbnNKc29uIFtdYnl0ZQog CW9wdGlvbnNKc29uLCBlcnIgPSBqc29uLk1hcnNoYWwob3B0aW9ucykKIAlpZiBlcnIgIT0gbmls IHsKIAkJcmV0dXJuCiAJfQogCi0JZm10LkZwcmludGYodywgIiAgICAgICAgdmFyIHNwJWRvcHQg PSAiLCBpZCkKKwlmbXQuRnByaW50Zih3LCAiICAgICAgICB2YXIgJXNvcHQgPSAiLCB0YWcpCiAJ Zm10LkZwcmludCh3LCBzdHJpbmcob3B0aW9uc0pzb24pKQogCWZtdC5GcHJpbnRsbih3LCAiOyIp CiAKQEAgLTc1LDQxICs3OSwyOSBAQCBmdW5jIChwICpQb2ludCkgT3V0cHV0SnNvbih3IGlvLldy aXRlciwgaWQgaW50LCBtYXggaW50KSAoZXJyIGVycm9yKSB7CiAJcmV0dXJuCiB9CiAKLWZ1bmMg KGQgKlJ1blJhdykgT3V0cHV0SFRNTCh3IGlvLldyaXRlciwgcnVuIGludCkgKGVyciBlcnJvcikg ewotCWZtdC5GcHJpbnRmKHcsICIgICAgPGRpdiBjbGFzcz0nc2NhdHRlcnBsb3QnIGlkPSdzY2F0 dGVycGxvdCVkJz48L2Rpdj5cbiIsIHJ1bikKK2Z1bmMgKGQgKlJ1blJhdykgT3V0cHV0SFRNTCh3 IGlvLldyaXRlcikgKGVyciBlcnJvcikgeworCWZtdC5GcHJpbnRmKHcsICIgICAgPGRpdiBjbGFz cz0nc2NhdHRlcnBsb3QnIGlkPSdzY2F0dGVycGxvdCVzJz48L2Rpdj5cbiIsIGQuVGFnKQogCXJl dHVybgogfQogCi1mdW5jIChkICpSdW5SYXcpIE91dHB1dEphdmFzY3JpcHQodyBpby5Xcml0ZXIs IHJ1biBpbnQpIChlcnIgZXJyb3IpIHsKK2Z1bmMgKGQgKlJ1blJhdykgT3V0cHV0SmF2YXNjcmlw dCh3IGlvLldyaXRlcikgKGVyciBlcnJvcikgewogCXZhciBvcHRpb25zIE9wdGlvbnMKIAotCW9w dGlvbnMuVGl0bGUgPSBmbXQuU3ByaW50ZigiUnVuICVzICglZCkgSW5kaXZpZHVhbCBUaHJvdWdo cHV0IiwgZC5MYWJlbCwgcnVuKQotCW9wdGlvbnMuSEF4aXMuVGl0bGUgPSAiVGltZSIKLQlvcHRp b25zLlZBeGlzLlRpdGxlID0gIlRocm91Z2hwdXQiCisJb3B0aW9ucy5UaXRsZSA9IGQuVGl0bGUK KwlvcHRpb25zLkhBeGlzLlRpdGxlID0gZC5oVGl0bGUKKwlvcHRpb25zLlZBeGlzLlRpdGxlID0g ZC52VGl0bGUKIAotCXZhciB4bW0gTWluTWF4Ci0JdmFyIHltbSBNaW5NYXgKLQlmb3IgaSA6PSBy YW5nZSBkLlBvaW50cyB7Ci0JCWZvciBqIDo9IHJhbmdlIGQuUG9pbnRzW2ldIHsKLQkJCXhtbS5V cGRhdGUoZC5Qb2ludHNbaV1bal0ueCkKLQkJCXltbS5VcGRhdGUoZC5Qb2ludHNbaV1bal0ueSkK LQkJfQotCX0KLQotCW9wdGlvbnMuSEF4aXMuTWF4VmFsdWUgPSB4bW0uTWF4Ci0Jb3B0aW9ucy5W QXhpcy5NYXhWYWx1ZSA9IHltbS5NYXgKLQotCWVyciA9IG9wdGlvbnMuT3V0cHV0SmF2YXNjcmlw dCh3LCBydW4pCisJZXJyID0gb3B0aW9ucy5PdXRwdXRKYXZhc2NyaXB0KHcsIGQuVGFnKQogCWlm IGVyciAhPSBuaWwgewogCQlyZXR1cm4KIAl9CiAKLQlmbXQuUHJpbnRmKCIgICAgICAgIHZhciBz cCVkZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTtcbiIsIHJ1bikK LQlmbXQuUHJpbnRmKCIgICAgICAgIHNwJWRkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1RpbWUn KTtcbiIsIHJ1bikKKwlmbXQuUHJpbnRmKCIgICAgICAgIHZhciAlc2RhdGEgPSBuZXcgZ29vZ2xl LnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7XG4iLCBkLlRhZykKKwlmbXQuUHJpbnRmKCIgICAg ICAgICVzZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUaW1lJyk7XG4iLCBkLlRhZykKIAlmb3Ig aSA6PSByYW5nZSBkLlBvaW50cyB7Ci0JCWZtdC5QcmludGYoIiAgICAgICAgc3AlZGRhdGEuYWRk Q29sdW1uKCdudW1iZXInLCAnV29ya2VyICVkJyk7XG4iLCBydW4sIGkpCisJCWZtdC5QcmludGYo IiAgICAgICAgJXNkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1dvcmtlciAlZCcpO1xuIiwgZC5U YWcsIGkpCiAJfQotCWZtdC5QcmludGYoIiAgICAgICAgc3AlZGRhdGEuYWRkUm93cyhbXG4iLCBy dW4pCisJZm10LlByaW50ZigiICAgICAgICAlc2RhdGEuYWRkUm93cyhbXG4iLCBkLlRhZykKIAog CS8vIENhbid0IHVzZSBqc29uIGhlcmUgYmVjYXVzZSB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gdXNl ICdudWxsJyBmb3Igbm9uLWV4aXN0ZW50IHZhbHVlcwogCWZvciBpIDo9IHJhbmdlIGQuUG9pbnRz IHsKQEAgLTEyMiw4ICsxMTQsOCBAQCBmdW5jIChkICpSdW5SYXcpIE91dHB1dEphdmFzY3JpcHQo dyBpby5Xcml0ZXIsIHJ1biBpbnQpIChlcnIgZXJyb3IpIHsKIAl9CiAJZm10LlByaW50KCIgICAg ICAgICAgXSk7XG4iKQogCQotCWZtdC5QcmludGYoIiAgICAgICAgdmFyIHNwJWRjaGFydCA9IG5l dyBnb29nbGUudmlzdWFsaXphdGlvbi5TY2F0dGVyQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoJ3NjYXR0ZXJwbG90JWQnKSk7XG4iLCBydW4sIHJ1bik7Ci0JZm10LlByaW50ZigiICAgICAg ICBzcCVkY2hhcnQuZHJhdyhzcCVkZGF0YSwgc3AlZG9wdCk7XG5cbiIsIHJ1biwgcnVuLCBydW4p CisJZm10LlByaW50ZigiICAgICAgICB2YXIgJXNjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXph dGlvbi5TY2F0dGVyQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NjYXR0ZXJwbG90JXMn KSk7XG4iLCBkLlRhZywgZC5UYWcpOworCWZtdC5QcmludGYoIiAgICAgICAgJXNjaGFydC5kcmF3 KCVzZGF0YSwgJXNvcHQpO1xuXG4iLCBkLlRhZywgZC5UYWcsIGQuVGFnKQogCQogCXJldHVybgog fQpAQCAtMTU3LDcgKzE0OSw3IEBAIGZ1bmMgKHJwdCAqSFRNTFJlcG9ydCkgT3V0cHV0KHcgaW8u V3JpdGVyKSAoZXJyIGVycm9yKSB7CiBgKTsKIAkvLyBQcmludCBqc29uIGNoYXJ0IGNvZGUKIAlm b3IgaSA6PSByYW5nZSBycHQuUmF3IHsKLQkJZXJyID0gcnB0LlJhd1tpXS5PdXRwdXRKYXZhc2Ny aXB0KHcsIGkpCisJCWVyciA9IHJwdC5SYXdbaV0uT3V0cHV0SmF2YXNjcmlwdCh3KQogCQlpZiBl cnIgIT0gbmlsIHsKIAkJCXJldHVybgogCQl9CkBAIC0xNzEsNyArMTYzLDcgQEAgZnVuYyAocnB0 ICpIVE1MUmVwb3J0KSBPdXRwdXQodyBpby5Xcml0ZXIpIChlcnIgZXJyb3IpIHsKIGApOwogCS8v IFByaW50IGh0bWwKIAlmb3IgaSA6PSByYW5nZSBycHQuUmF3IHsKLQkJZXJyID0gcnB0LlJhd1tp XS5PdXRwdXRIVE1MKHcsIGkpCisJCWVyciA9IHJwdC5SYXdbaV0uT3V0cHV0SFRNTCh3KQogCQlp ZiBlcnIgIT0gbmlsIHsKIAkJCXJldHVybgogCQl9CkBAIC0xODUsMjUgKzE3NywzOCBAQCBmdW5j IChycHQgKkhUTUxSZXBvcnQpIE91dHB1dCh3IGlvLldyaXRlcikgKGVyciBlcnJvcikgewogfQog CiBmdW5jIChycHQgKkhUTUxSZXBvcnQpIEFkZFJ1bihydW4gKkJlbmNobWFya1J1bikgKGVyciBl cnJvcikgewotCXZhciBkIFJ1blJhdwotCi0JZC5MYWJlbCA9IHJ1bi5MYWJlbAorCXZhciB0UHV0 IFJ1blJhdworCXZhciBVdGlsIFJ1blJhdworCisJdFB1dC5UaXRsZSA9IGZtdC5TcHJpbnRmKCJS dW4gJXMgSW5kaXZpZHVhbCBUaHJvdWdocHV0IiwgcnVuLkxhYmVsKQorCXRQdXQuaFRpdGxlID0g IlRpbWUgKHMpIgorCXRQdXQudlRpdGxlID0gIlRocm91Z2hwdXQgKGtPcHMpIgorCVV0aWwuVGl0 bGUgPSBmbXQuU3ByaW50ZigiUnVuICVzIEluZGl2aWR1YWwgVXRpbGl6YXRpb24iLCBydW4uTGFi ZWwpCisJVXRpbC5oVGl0bGUgPSAiVGltZSAocykiCisJVXRpbC52VGl0bGUgPSAiVXRpbGl6YXRp b24iCiAJZm9yIHNldCA6PSByYW5nZSBydW4uUmVzdWx0cy5TdW1tYXJ5IHsKLQkJdmFyIGlkUG9p bnRzIFtdUG9pbnQKKwkJdmFyIGlkVHB1dCBbXVBvaW50CisJCXZhciBpZFV0aWwgW11Qb2ludAog CQlmb3IgaWQgOj0gcmFuZ2UgcnVuLlJlc3VsdHMuU3VtbWFyeVtzZXRdLldvcmtlcnMgewogCQkJ dmFyIGxlIFdvcmtlclJlcG9ydAogCQkJZm9yIF8sIGUgOj0gcmFuZ2UgcnVuLlJlc3VsdHMuU3Vt bWFyeVtzZXRdLldvcmtlcnNbaWRdLlJhdyB7Ci0JCQkJaWYgZS5Ob3cgPiBsZS5Ob3cgeworCQkJ CWlmIGUuS29wcyA+IDAgewogCQkJCQl0aW1lIDo9IGZsb2F0NjQoZS5Ob3cpIC8gU0VDCiAJCQkJ CXRwdXQgOj0gVGhyb3VnaHB1dChlLk5vdywgZS5Lb3BzLCBsZS5Ob3csIGxlLktvcHMpCi0JCQkJ CWlkUG9pbnRzID0gYXBwZW5kKGlkUG9pbnRzLCBQb2ludHt4OnRpbWUsIHk6dHB1dH0pCisJCQkJ CXV0aWwgOj0gVXRpbGl6YXRpb24oZS5Ob3csIGUuQ3B1dGltZSwgbGUuTm93LCBsZS5DcHV0aW1l KQorCQkJCQlpZFRwdXQgPSBhcHBlbmQoaWRUcHV0LCBQb2ludHt4OnRpbWUsIHk6dHB1dH0pCisJ CQkJCWlkVXRpbCA9IGFwcGVuZChpZFV0aWwsIFBvaW50e3g6dGltZSwgeTp1dGlsfSkKIAkJCQl9 CiAJCQkJbGUgPSBlCiAJCQl9CiAJCX0KLQkJZC5Qb2ludHMgPSBhcHBlbmQoZC5Qb2ludHMsIGlk UG9pbnRzKQorCQl0UHV0LlBvaW50cyA9IGFwcGVuZCh0UHV0LlBvaW50cywgaWRUcHV0KQorCQlV dGlsLlBvaW50cyA9IGFwcGVuZChVdGlsLlBvaW50cywgaWRVdGlsKQogCX0KLQlycHQuUmF3ID0g YXBwZW5kKHJwdC5SYXcsIGQpCisJdFB1dC5UYWcgPSBmbXQuU3ByaW50ZigicmF3JWQiLCBsZW4o cnB0LlJhdykpCisJcnB0LlJhdyA9IGFwcGVuZChycHQuUmF3LCB0UHV0KQorCVV0aWwuVGFnID0g Zm10LlNwcmludGYoInJhdyVkIiwgbGVuKHJwdC5SYXcpKQorCXJwdC5SYXcgPSBhcHBlbmQocnB0 LlJhdywgVXRpbCkKIAlyZXR1cm4KIH0KIAotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK