From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20746 invoked by alias); 5 Oct 2015 11:24:00 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 36778 Received: (qmail 2607 invoked from network); 5 Oct 2015 11:23:58 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=0A+nYHutyo4V4fCidrGo88w7E87bi9WM4rJheWVbFT4=; b=Rn5fQvkkOnbausq7qx3qGzOZk2xSuH7H+zpe/AXWRs7agIEC9KeVYxoivOQsRF3vAB f7ZNyuQ0q42FMBdukXFvShnYc+2mkiThU3ge6i9CsFynN7fq35w/AecXRMuptdDf4fMz GnjqEjvtd0MqnXYbURLYjVaozSPyjn8uk4damIgmgvLw+b9PY7BYp3u13AuGpW1y5mUI LwI9ToRmab4IJcNZt8tgRqkYnlcfAEv+2iXDn4zEda+v363BREwo8MT4ffjHI/shSHfZ dRCBRtUMep4UN3oC8Rebpmatqq8fo6PLhPckteIanQovkT9dVfkLJmPB21ykto8xBG99 zKMQ== X-Received: by 10.112.157.99 with SMTP id wl3mr10978642lbb.98.1444044234553; Mon, 05 Oct 2015 04:23:54 -0700 (PDT) MIME-Version: 1.0 From: Slava Barinov Date: Mon, 5 Oct 2015 14:23:34 +0300 Message-ID: Subject: Exporting REPORTTIME data to ENVVARs instead of printing. To: zsh-workers@zsh.org Content-Type: multipart/mixed; boundary=001a11c342eea432ef052159bf1f --001a11c342eea432ef052159bf1f Content-Type: text/plain; charset=UTF-8 Hello, A while ago I tried to add process timing reports to my ZSH and found that REPORTTIME feature only can print timings to terminal but I have a great prompt with much information embedded and still having some space to add this info. My suggestion is to add possibility of exporting timings to envvars instead of printing them to terminal. My straightforward implementation is attached: while REPORTTIME is switched on if REPORTTIME_TO_VAR is defined then four variables are set up: REPORTTIME_USER, REPORTTIME_SYSTEM, REPORTTIME_TOTAL and REPORTTIME_CPU. The numbers are just summed up for all procs over the job. Don't know if it's a good idea to extract timing computation to a new function, so I just copied it from `printtime'. Will this feature be useful for someone else? Best Regards, Slava Barinov. --001a11c342eea432ef052159bf1f Content-Type: text/x-diff; charset=US-ASCII; name="reporttime_value.patch" Content-Disposition: attachment; filename="reporttime_value.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ifdull8k0 ZGlmZiAtLWdpdCBhL0RvYy9ac2gvcGFyYW1zLnlvIGIvRG9jL1pzaC9wYXJhbXMueW8KaW5kZXgg YmEyODU2Yi4uYjlmYWZhYiAxMDA2NDQKLS0tIGEvRG9jL1pzaC9wYXJhbXMueW8KKysrIGIvRG9j L1pzaC9wYXJhbXMueW8KQEAgLTEzNzMsNiArMTM3MywxMiBAQCBleGVjdXRlZCB3aXRoaW4gdGhl IGxpbmUgZWRpdG9yLCBpbmNsdWRpbmcgY29tcGxldGlvbjsgY29tbWFuZHMKIGV4cGxpY2l0bHkg bWFya2VkIHdpdGggdGhlIHR0KHRpbWUpIGtleXdvcmQgc3RpbGwgY2F1c2UgdGhlIHN1bW1hcnkK IHRvIGJlIHByaW50ZWQgaW4gdGhpcyBjYXNlLgogKQordmluZGV4KFJFUE9SVFRJTUVfVE9fVkFS KQoraXRlbSh0dChSRVBPUlRUSU1FX1RPX1ZBUikpKAorSWYgZGVmaW5lZCwgdGhlIHZhbHVlcyBv ZiB0dChSRVBPUlRUSU1FKSBhcmUgbm90IHByaW50ZWQgZm9yIHByb2Nlc3NlcworYnV0IHBsYWNl ZCBpbnRvIHR0KFJFUE9SVFRJTUVfVVNFUiksIHR0KFJFUE9SVFRJTUVfU1lTVEVNKSwKK3R0KFJF UE9SVFRJTUVfVE9UQUwpIGFuZCB0dChSRVBPUlRUSU1FX0NQVSkgZm9yIHRoZSBqb2IuCispCiB2 aW5kZXgoUkVQTFkpCiBpdGVtKHR0KFJFUExZKSkoCiBUaGlzIHBhcmFtZXRlciBpcyByZXNlcnZl ZCBieSBjb252ZW50aW9uIHRvIHBhc3Mgc3RyaW5nIHZhbHVlcyBiZXR3ZWVuCmRpZmYgLS1naXQg YS9TcmMvam9icy5jIGIvU3JjL2pvYnMuYwppbmRleCBiNDdiYThjLi43MmM3MWRjIDEwMDY0NAot LS0gYS9TcmMvam9icy5jCisrKyBiL1NyYy9qb2JzLmMKQEAgLTg2NCwxMiArODY0LDUyIEBAIGR1 bXB0aW1lKEpvYiBqbikKIHsKICAgICBQcm9jZXNzIHBuOwogICAgIHN0cnVjdCB0aW1ldmFsIGR0 aW1ldmFsOworICAgIGNoYXIgKnMgPSAiUkVQT1JUVElNRV9UT19WQVIiOwogCiAgICAgaWYgKCFq bi0+cHJvY3MpCiAJcmV0dXJuOwotICAgIGZvciAocG4gPSBqbi0+cHJvY3M7IHBuOyBwbiA9IHBu LT5uZXh0KQorICAgIGlmIChOVUxMID09IGdldHNwYXJhbShzKSkKKyAgICAgIGZvciAocG4gPSBq bi0+cHJvY3M7IHBuOyBwbiA9IHBuLT5uZXh0KQogCXByaW50dGltZShkdGltZSgmZHRpbWV2YWws ICZwbi0+Ymd0aW1lLCAmcG4tPmVuZHRpbWUpLCAmcG4tPnRpLAogCQkgIHBuLT50ZXh0KTsKKyAg ICBlbHNlCisgICAgICB7CisJZG91YmxlIHVzZXJfdGltZSA9IDAuMCwgc3lzdGVtX3RpbWUgPSAw LjA7CisJZG91YmxlIHBlcmNlbnQgPSAwLjAsIHRvdGFsX3RpbWUgPSAwLjA7CisJbW51bWJlciBt bnZhbDsKKwltbnZhbC50eXBlID0gTU5fRkxPQVQ7CisKKwlmb3IgKHBuID0gam4tPnByb2NzOyBw bjsgcG4gPSBwbi0+bmV4dCkKKwkgIHsKKwkgICAgY29uc3QgY2hpbGRfdGltZXNfdCAqdGkgPSAm cG4tPnRpOworCSAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVhbCA9IGR0aW1lKCZkdGltZXZh bCwgJnBuLT5iZ3RpbWUsCisJCQkJCSAgICAgICAmcG4tPmVuZHRpbWUpOworI2lmZGVmIEhBVkVf R0VUUlVTQUdFCisJICB1c2VyX3RpbWUgKz0gdGktPnJ1X3V0aW1lLnR2X3NlYyArIHRpLT5ydV91 dGltZS50dl91c2VjIC8gMTAwMDAwMC4wOworCSAgc3lzdGVtX3RpbWUgKz0gdGktPnJ1X3N0aW1l LnR2X3NlYyArIHRpLT5ydV9zdGltZS50dl91c2VjIC8gMTAwMDAwMC4wOworCSAgdG90YWxfdGlt ZSArPSB1c2VyX3RpbWUgKyBzeXN0ZW1fdGltZTsKKwkgIHBlcmNlbnQgKz0gMTAwLjAgKiB0b3Rh bF90aW1lCisJICAgIC8gKHJlYWwtPnR2X3NlYyArIHJlYWwtPnR2X3VzZWMgLyAxMDAwMDAwLjAp OworI2Vsc2UKKwkgIHsKKwkgICAgbG9uZyBjbGt0Y2sgPSBnZXRfY2xrdGNrKCk7CisJICAgIHVz ZXJfdGltZSAgICArPSB0aS0+dXQgLyAoZG91YmxlKSBjbGt0Y2s7CisJICAgIHN5c3RlbV90aW1l ICArPSB0aS0+c3QgLyAoZG91YmxlKSBjbGt0Y2s7CisJICAgIHRvdGFsX3RpbWUgICArPSB1c2Vy X3RpbWUgKyBzeXN0ZW1fdGltZTsKKwkgICAgcGVyY2VudCAgICAgICs9IDEwMC4wICogKHRpLT51 dCArIHRpLT5zdCkKKwkgICAgICAvIChjbGt0Y2sgKiByZWFsLT50dl9zZWMgKyBjbGt0Y2sgKiBy ZWFsLT50dl91c2VjIC8gMTAwMDAwMC4wKTsKKwkgIH0KKyNlbmRpZgorCSAgfQorCW1udmFsLnUu ZCA9IHVzZXJfdGltZTsKKwlzZXRucGFyYW0oIlJFUE9SVFRJTUVfVVNFUiIsIG1udmFsKTsKKwlt bnZhbC51LmQgPSBzeXN0ZW1fdGltZTsKKwlzZXRucGFyYW0oIlJFUE9SVFRJTUVfU1lTVEVNIiwg bW52YWwpOworCW1udmFsLnUuZCA9IHRvdGFsX3RpbWU7CisJc2V0bnBhcmFtKCJSRVBPUlRUSU1F X1RPVEFMIiwgbW52YWwpOworCW1udmFsLnUuZCA9IHBlcmNlbnQ7CisJc2V0bnBhcmFtKCJSRVBP UlRUSU1FX0NQVSIsIG1udmFsKTsKKyAgICAgIH0KIH0KIAogLyogQ2hlY2sgd2hldGhlciBzaGVs bCBzaG91bGQgcmVwb3J0IHRoZSBhbW91bnQgb2YgdGltZSBjb25zdW1lZCAgICoK --001a11c342eea432ef052159bf1f--