{ "info": { "author": "Rao Mengnan", "author_email": "raomengnan@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Customer Service", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "# oscillo\n\n\u8bb0\u5f55\u547d\u4ee4\u6267\u884c\u8fc7\u7a0b\u4e2d\u5bf9\u7cfb\u7edf\u4ea7\u751f\u7684\u8d1f\u8f7d\uff0c\u4ee5\u56fe\u7247\u7684\u5f62\u5f0f\u5c55\u73b0\u51fa\u6765\n\nRecord the system load at the execution of the command line and display it graphically\n\n![demo](https://raw.githubusercontent.com/raomuyang/cmd-oscillo/master/demo/metrix.log.png)\n\n![demo](https://raw.githubusercontent.com/raomuyang/cmd-oscillo/master/demo/cli.png)\n\n## \u5b89\u88c5\u65b9\u5f0f / Installation\n* Install from pypi\n```shell\npip install oscillo\n```\n\n* Install from local\n```shell\npython setup.py install\n```\n\n\n## \u4f7f\u7528\u65b9\u5f0f / Usage\n\n\n### \u901a\u8fc7\u547d\u4ee4\u884c\u53c2\u6570\u542f\u52a8 / Boot start by command line parameter\n\n\u547d\u4ee4\u884c\u53c2\u6570\u7684\u683c\u5f0f\u662f `\": \"`\uff1a\n\n* `name`: \u547d\u4ee4\u884c\u7684\u522b\u540d/id (\u4efb\u610f\u5b57\u7b26\u4e32)\uff0c\u5f53`--commands/-c`\u53c2\u6570\u6307\u5b9a\u591a\u4e2a\u547d\u4ee4\u65f6\uff0c\u8be5\u503c\u5c06\u4f5c\u4e3a\u547d\u4ee4\u7684\u552f\u4e00\u6807\u8bc6\uff0c\u4e0d\u53ef\u91cd\u590d\n* `command [args]`: \u9700\u8981\u6d4b\u8bd5\u8d44\u6e90\u6d88\u8017\u7684\u547d\u4ee4\uff0c\u6bd4\u5982 `gzip file.ext`\n\n\u793a\u4f8b\u5982\u4e0b\uff0c\u76d1\u63a7gzip\u538b\u7f29\u4e00\u4e2a\u6587\u4ef6\u65f6\u8017\u8d39\u7684cpu\u3001memory\u548c\u65f6\u95f4\uff1a\n\n``` \noscillo -c 'gzip: gzip file.ext' -o output-file\n```\n\n* -c \u4ee3\u8868\u5c06\u6267\u884c\u4e00\u4e2alinux cmd \u547d\u4ee4\u3002\u53c2\u6570\u540e\u9762\u53ef\u4ee5\u8ddf\u4ee5\u7a7a\u683c\u9694\u5f00\u7684\u591a\u4e2a\u53c2\u6570\n\n* -o \u7ed3\u679c\u8f93\u51fa\u6587\u4ef6:\n\n\u547d\u4ee4\u6267\u884c\u5b8c\u6210\u540e\uff0c\u4f1a\u5728\u5f53\u524d\u76ee\u5f55\u4e0b\u751f\u6210\u4e00\u4e2a`.log` \u6587\u4ef6\u3002\u6587\u672c\u7ed3\u6784\u662fjson \u683c\u5f0f. \u6570\u636e\u7ed3\u6784\u5982\u4e0b\n```\n{\n \"test\": {\n \"elapsed\": 0.022143125534057617, //\u603b\u6267\u884c\u65f6\u95f4\n \"cpu\": [], \n \"memory\": []\n }\n}\n\n```\n\u540c\u65f6\u4f1a\u4ea7\u751f\u4e00\u4e2a`.png`\u6587\u4ef6\uff0c``\u7531`-o`\u53c2\u6570\u6307\u5b9a\uff0c\u9ed8\u8ba4\u503c\u4e3a`metrix`\n\n`-c/--commands` \u53ef\u4ee5\u63a5\u53d7\u591a\u4e2a\u53c2\u6570\uff0c\u4ee5\u7a7a\u683c\u9694\u5f00\uff0c\u4efb\u52a1\u4f1a\u7ebf\u6027\u6267\u884c\u3002\u4f7f\u7528\u573a\u666f\uff1a\u5bf9\u6bd4\u591a\u4e2a\u547d\u4ee4\u5bf9\u8d44\u6e90\u7684\u6d88\u8017\n\ne.g.:\n\u5bf9\u6bd4`gzip`\u548c`tar`\u547d\u4ee4\u5bf9\u8d44\u6e90\u7684\u6d88\u8017\uff1a\n\n```shell\noscillo -c 't1: gzip file.ext' 't2: tar czf target.tar.gz file1' -o output\n```\n\n\u5728\u63a7\u5236\u53f0\u4e0a\uff0c`oscillo`\u4f1a\u6253\u5370summary\u4fe1\u606f\uff0c\u5176\u4e2d\u5305\u542b\b\u547d\u4ee4\u7684\u8017\u65f6\u3001\u6700\u5927\u5185\u5b58\u4f7f\u7528\u3001\u6700\u5927cpu\u4f7f\u7528\u3001\u9000\u51fa\u7801\u7b49\uff0c\u6548\u679c\u5982\u4e0b\uff1a\n\n![demo](https://raw.githubusercontent.com/raomuyang/cmd-oscillo/master/demo/metrix.log.png)\n\n![demo](https://raw.githubusercontent.com/raomuyang/cmd-oscillo/master/demo/compare-gzip.png)\n\n### \u901a\u8fc7\u914d\u7f6e\u6587\u4ef6\u542f\u52a8 / Boot start by config file\n\n\u5f53\u547d\u4ee4\u5f88\u957f\u6216\u8005\u5f88\u591a\u65f6\uff0c\u53ef\u4ee5\u4f7f\u7528\u914d\u7f6e\u6587\u4ef6\u542f\u52a8\nWhe the commands is too many, you can boot start by config file\n\n```shell\noscillo --config [-g]\n```\n\n## \u914d\u7f6e\u6587\u4ef6\u6a21\u677f / Config file\n\n\n\nThe command line in commands will be executed in order\n\n```yml\n# Demo\ncommands:\n -\n name: gzip\n cmd: gzip big-file\n\n -\n name: tar\n cmd: tar -zcf tmp.tar.gz big-file\n\noutput: gzip-and-tar-gz\n```\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/raomuyang/cmd-oscillo", "keywords": "", "license": "", "maintainer": "Rao Mengnan", "maintainer_email": "raomengnan@gmail.com", "name": "oscillo", "package_url": "https://pypi.org/project/oscillo/", "platform": "Independent", "project_url": "https://pypi.org/project/oscillo/", "project_urls": { "Homepage": "https://github.com/raomuyang/cmd-oscillo" }, "release_url": "https://pypi.org/project/oscillo/1.0.0/", "requires_dist": [ "psutil (>=5.2.2)", "numpy (>=1.13.1)", "PyYAML (==3.13)", "terminaltables (==3.1.0)", "futures (==3.2.0)", "matplotlib" ], "requires_python": "", "summary": "Record the system load at the execution of the command line and display it graphically", "version": "1.0.0" }, "last_serial": 5306669, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "bd93c5bdfe917445ad96f122bcb9c44a", "sha256": "33a07aa3fb6a95a35b092875f956acfb98e464dc991ff10e0e6c5a54314e8399" }, "downloads": -1, "filename": "oscillo-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bd93c5bdfe917445ad96f122bcb9c44a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13025, "upload_time": "2019-03-09T02:54:59", "url": "https://files.pythonhosted.org/packages/16/f9/10f275328ef00b92e5a802c124e8cde696c44fdbd00e1915e83970ea03e1/oscillo-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e3e002ed14d57b16a9b391448738dcef", "sha256": "21aaa69111095baba661b32e7ad9cbee0857801aff5b80b9d75a8f730dc897bb" }, "downloads": -1, "filename": "oscillo-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e3e002ed14d57b16a9b391448738dcef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3445, "upload_time": "2019-03-09T02:55:02", "url": "https://files.pythonhosted.org/packages/3f/18/4f53881e851374c7763daf45bc46166d7ad240626603f7d6fa860b6390c7/oscillo-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "53aba612f9e170eb5b6486c98f35f2b2", "sha256": "14a6a31e9398fa9b892be9e1465eeb760c7198f7ffb828803632befd0fa4a268" }, "downloads": -1, "filename": "oscillo-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "53aba612f9e170eb5b6486c98f35f2b2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9033, "upload_time": "2019-03-09T03:00:09", "url": "https://files.pythonhosted.org/packages/20/83/9795d2e9629c85543deafe3e521fd63fc753b213f3c28ddfe7ce663904b6/oscillo-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "328f3ba00487b5c0039e373f9d310987", "sha256": "ac86abb08dc5c5bed58516e9df608c44901f7f0bac1dedd10a52048dea439eb0" }, "downloads": -1, "filename": "oscillo-0.1.1.tar.gz", "has_sig": false, "md5_digest": "328f3ba00487b5c0039e373f9d310987", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3408, "upload_time": "2019-03-09T03:00:10", "url": "https://files.pythonhosted.org/packages/da/a9/6db403e98d4e86c45c22c8b0982e264a82472fb0efcf1181a169cb78a9cf/oscillo-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "41aeac300b3e2e11adf19737b18b98a1", "sha256": "6222fa6827f0ae4f274def32d4b38826648db4ece188927fe03c7a6f722c2da2" }, "downloads": -1, "filename": "oscillo-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "41aeac300b3e2e11adf19737b18b98a1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9705, "upload_time": "2019-03-14T15:57:33", "url": "https://files.pythonhosted.org/packages/19/05/f1c4503f3b89ad7fcc349d34f07f9865e66593436aa932d6d69ac52c6c01/oscillo-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "587cadf59dc4d59aafdf4bf185139c03", "sha256": "9ea45fbaaa151c5d5e1d81e16dd4033556d86f4886d6d8acccf6455d94a1bbcf" }, "downloads": -1, "filename": "oscillo-0.2.0.tar.gz", "has_sig": false, "md5_digest": "587cadf59dc4d59aafdf4bf185139c03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5056, "upload_time": "2019-03-14T15:57:35", "url": "https://files.pythonhosted.org/packages/cb/cf/4403ec64b773fc40ac683bd33751cfa244c26cbf72e603dbc72a1b2b5423/oscillo-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "94ee945aa089940b779405e87365d1ab", "sha256": "07172bec02fb80fae1de90033a47c58fc7142123d2ab1f81ca439d9dbf15a867" }, "downloads": -1, "filename": "oscillo-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "94ee945aa089940b779405e87365d1ab", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11745, "upload_time": "2019-03-31T03:58:31", "url": "https://files.pythonhosted.org/packages/d5/c0/554763a7933995615be5781705349bb56bdc8ad86d073d75ac6541a2aba7/oscillo-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa7d26c6941d15338a245b146b2119ab", "sha256": "ee5912ce350dccc0c95a62ea20c8221f70a21558a074689b80852982d18f3bae" }, "downloads": -1, "filename": "oscillo-0.2.1.tar.gz", "has_sig": false, "md5_digest": "fa7d26c6941d15338a245b146b2119ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9400, "upload_time": "2019-03-31T03:58:35", "url": "https://files.pythonhosted.org/packages/1c/e7/e54187d6b74e55cff57782021903668b4705a306557823e21b5e33d4cd92/oscillo-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "25e51e5c67700a99ebfa7838979c6837", "sha256": "748c3a0936c5a822cc352cf4fc8aab4480cb95bbdc421908ec71e4c4c64954cb" }, "downloads": -1, "filename": "oscillo-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "25e51e5c67700a99ebfa7838979c6837", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11765, "upload_time": "2019-03-31T04:01:12", "url": "https://files.pythonhosted.org/packages/aa/51/6918183d042527c2f9058776636c444890fbc8c69c4bf54af5b49a12ac14/oscillo-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "189cdf7377e4e2d46010a4c008e45555", "sha256": "a5521477d182336dfb6f1bcf42427807ff38e7410bc282068f8340154e2c2df6" }, "downloads": -1, "filename": "oscillo-0.2.2.tar.gz", "has_sig": false, "md5_digest": "189cdf7377e4e2d46010a4c008e45555", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9415, "upload_time": "2019-03-31T04:01:23", "url": "https://files.pythonhosted.org/packages/2d/67/57c0d01f21901f75293ff9b1e899af53eefe54e9a0081bff62c46dffd213/oscillo-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "a1ccd9dfd92e86b3294b905719ed0190", "sha256": "df71c411c83187432ccddd01bde5715271d78ce4049cad10828f59e09df6e769" }, "downloads": -1, "filename": "oscillo-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a1ccd9dfd92e86b3294b905719ed0190", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10300, "upload_time": "2019-03-31T07:35:53", "url": "https://files.pythonhosted.org/packages/61/4b/647825312e8a09cb549271d07cdea6aac4c35e80f7e7d86837f73f191823/oscillo-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eed28c56576228c89ab0a8c9911a3cc7", "sha256": "688f2594d120382b3a413cadd4b1554a25176605689525c5e6e701b7f8789426" }, "downloads": -1, "filename": "oscillo-0.2.3.tar.gz", "has_sig": false, "md5_digest": "eed28c56576228c89ab0a8c9911a3cc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10078, "upload_time": "2019-03-31T07:35:55", "url": "https://files.pythonhosted.org/packages/4a/11/bbfc8301b8e0c8245c26bccb39d56f989129c4453af52c03718f0cb0815e/oscillo-0.2.3.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "9c9c079dcc28a0f6d6562932262b7f8a", "sha256": "756846817fd7eddefe559df2a317ebeaf8c5a789ee308f6ed0f7f863f9dbb5b4" }, "downloads": -1, "filename": "oscillo-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9c9c079dcc28a0f6d6562932262b7f8a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10680, "upload_time": "2019-05-23T09:11:16", "url": "https://files.pythonhosted.org/packages/ae/73/bfbabdd22b0a1304d91c3cbe496b7f8238c0e7f21c83115d9f88a59277e0/oscillo-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a70b34b2c2832deb6a30fd392d628388", "sha256": "b9910d57cf99339bc093cba477e50242db5db2bb9d195ca6428f477623d3b10e" }, "downloads": -1, "filename": "oscillo-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a70b34b2c2832deb6a30fd392d628388", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10429, "upload_time": "2019-05-23T09:11:18", "url": "https://files.pythonhosted.org/packages/c9/fa/8ad951eebd437376fa581cb1a6e3c7fe455bf52daed444b941c1eebecd90/oscillo-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9c9c079dcc28a0f6d6562932262b7f8a", "sha256": "756846817fd7eddefe559df2a317ebeaf8c5a789ee308f6ed0f7f863f9dbb5b4" }, "downloads": -1, "filename": "oscillo-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9c9c079dcc28a0f6d6562932262b7f8a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10680, "upload_time": "2019-05-23T09:11:16", "url": "https://files.pythonhosted.org/packages/ae/73/bfbabdd22b0a1304d91c3cbe496b7f8238c0e7f21c83115d9f88a59277e0/oscillo-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a70b34b2c2832deb6a30fd392d628388", "sha256": "b9910d57cf99339bc093cba477e50242db5db2bb9d195ca6428f477623d3b10e" }, "downloads": -1, "filename": "oscillo-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a70b34b2c2832deb6a30fd392d628388", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10429, "upload_time": "2019-05-23T09:11:18", "url": "https://files.pythonhosted.org/packages/c9/fa/8ad951eebd437376fa581cb1a6e3c7fe455bf52daed444b941c1eebecd90/oscillo-1.0.0.tar.gz" } ] }