{ "info": { "author": "Hugo Dias", "author_email": "hdias@synchlabs.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7" ], "description": "*****************************************************************\nApache Replay: Replay Apache log in real time.\n*****************************************************************\n\nApache Replay is a command line tool that reads Apache log files and replays it on a remote server in real time. It's goal it's to load test HTTP/HTTPS servers with the same traffic that is received on another server.\n\nThis tool is written in Python and it uses `apache-log-parser `_, `requests `_ and `gevent `_ libraries.\n\n\n=============\nMain Features\n=============\n\n* Real time replay load testing\n* Accept any Apache log format\n* Support Basic Authentication\n* URL match and ignore filters\n\n============\nInstallation\n============\n\nOn **Linux**, first install python development and libevent packages using system package manager:\n\n.. code-block:: bash\n\n # Debian-based distributions (eg Ubuntu, ...):\n $ sudo apt-get install python-dev libevent-dev\n\n # RPM-based distributions:\n $ yum install python-devel libevent-* \n\n\nThen it can be installed from PyPi using `pip `_\n:\n\n.. code-block:: bash\n\n $ pip install areplay\n\n\n===========\nBasic usage\n===========\n\n.. code-block:: bash\n\n $ areplay http://test.example.com /var/log/apache2/access.log\n\n\nSynopsis:\n\n.. code-block:: bash\n\n $ areplay --help\n\n\n usage: areplay [-h] [-v] [-a AUTH] [-w WORKERS] [-m MATCH] [-i IGNORE]\n [-d] [-f FORMAT] [-sv] [-iu IGNORE_URL]\n server log_file\n\n positional arguments:\n\n server Remote Server\n log_file Apache log file path\n\n optional arguments:\n\n -h, --help Show this help message and exit\n -v, --version Show program's version number and exit\n -a AUTH, --auth AUTH Basic authentication user:password\n -w NUM, --workers NUM Workers pool size\n -d, --dry-run Only prints URLs\n -f FORMAT, --format FORMAT Apache log format\n -i IGNORE, --ignore IGNORE Ignore matching requests\n -iu URL, --ignore-url URL URL to hit when URL from log is ignored\n -m MATCH, --match MATCH Only process matching requests\n -sv, --skip-verify Skip SSL certificate verify\n \n\n========\nExamples\n========\n\n**Basic auth:**\n\n.. code-block:: bash\n\n $ areplay -a username:password http://test.example.com access.log\n\n\n**URL filtering - ignore js and css** - use | (pipe) to separate keywords:\n\n.. code-block:: bash\n\n $ areplay -i '.css|.js' http://test.example.com access.log\n\n\n**URL filtering - process only js and css** - use | (pipe) to separate keywords:\n\n.. code-block:: bash\n\n $ areplay -m '.css|.js' http://test.example.com access.log\n\n\n**Custom Apache Log format** - get LogFormat for Apache configuration file:\n\n.. code-block:: bash\n\n $ cat /etc/apache2/apache2.conf | grep LogFormat | grep combined\n LogFormat \"%h %l %u %t \\\"%r\\\" %>s %O \\\"%{Referer}i\\\" \\\"%{User-Agent}i\\\"\" combined\n\n $ areplay -f \"%h %l %u %t \\\"%r\\\" %>s %O \\\"%{Referer}i\\\" \\\"%{User-Agent}i\\\"\" http://test.example.com access.log\n\n\n==========\nChange Log\n==========\n\nPlease see `CHANGELOG `_.\n\n\n=======\nLicence\n=======\n\nPlease see `LICENSE `_.\n\n===============\nAcknowledgments\n===============\n\nThank you to the people from `Boom! `_ for inspiration and Dinko Korunic for snippet (`GeventTail `_).\n\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/ssynchron/areplay/tarball/0.6", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ssynchron/areplay", "keywords": "testing,logging", "license": "", "maintainer": "", "maintainer_email": "", "name": "areplay", "package_url": "https://pypi.org/project/areplay/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/areplay/", "project_urls": { "Download": "https://github.com/ssynchron/areplay/tarball/0.6", "Homepage": "https://github.com/ssynchron/areplay" }, "release_url": "https://pypi.org/project/areplay/0.6/", "requires_dist": null, "requires_python": "", "summary": "Apache Log live replicator", "version": "0.6" }, "last_serial": 2015521, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "aae6c7efce4157eb6759f8c6ca35559d", "sha256": "da457535d250277e0b717ba68a86b5424a31cc9af5f12a47d55cd49d3eb4b625" }, "downloads": -1, "filename": "areplay-0.2-py2.7.egg", "has_sig": false, "md5_digest": "aae6c7efce4157eb6759f8c6ca35559d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 5798, "upload_time": "2016-02-20T20:01:34", "url": "https://files.pythonhosted.org/packages/57/9e/77efc1b19f7861ae9c301b1aa2e634c424ab36873299cb69874645ef60a5/areplay-0.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "9c645d2c9a343cc5f88ef6db99e2797f", "sha256": "8f89ed96c0222d46792a57f02aba3c0ea5b898da4eb62bd31886d58569631995" }, "downloads": -1, "filename": "areplay-0.2.tar.gz", "has_sig": false, "md5_digest": "9c645d2c9a343cc5f88ef6db99e2797f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3451, "upload_time": "2016-02-20T19:31:55", "url": "https://files.pythonhosted.org/packages/2e/2d/c328be9e8024ee73250742b1c56002e62f448888061aeab88727ef65ec5f/areplay-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "90cbb3c1b4dd587c4b6e0b01086ffc52", "sha256": "e266554be993fdd5d6994852807e07acaa18eba8a17da411693b1545f90a5bec" }, "downloads": -1, "filename": "areplay-0.3.tar.gz", "has_sig": false, "md5_digest": "90cbb3c1b4dd587c4b6e0b01086ffc52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3527, "upload_time": "2016-02-20T20:05:57", "url": "https://files.pythonhosted.org/packages/0a/85/1bcdafc53bcd85d1a1465fc3cac05aea9fb33b069250ddc4f98968e785ba/areplay-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "a87608fb75772ab5a739781ca2922fc6", "sha256": "415634ccc135b37f27196b351f2563c47ef0c666c3e4babb0052939c02472588" }, "downloads": -1, "filename": "areplay-0.4.tar.gz", "has_sig": false, "md5_digest": "a87608fb75772ab5a739781ca2922fc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4624, "upload_time": "2016-02-21T08:58:24", "url": "https://files.pythonhosted.org/packages/04/db/177a60474310d5cd554cacf1692ba1a17ecbb70a9a61b09cf6997b3add94/areplay-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "2de1f15f9ec1f34cf2e9cb2dc2fc5dca", "sha256": "1a7b6486eb42526a511317f3a4e63ebf349bbc4fc881c6a451dad2b65455cbd6" }, "downloads": -1, "filename": "areplay-0.5.tar.gz", "has_sig": false, "md5_digest": "2de1f15f9ec1f34cf2e9cb2dc2fc5dca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4925, "upload_time": "2016-02-22T18:56:49", "url": "https://files.pythonhosted.org/packages/5e/6d/44d37b1c45340ecef7d78a1eea228c2710803f31bf5ecfd0992a89345ea1/areplay-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "51b22bb8791bb00294d4698c9dd6aaba", "sha256": "fbaa0ea0e4540848bd6de2c0c280fb3fc48bbc5fb2d1ae7aec5ef3e09a378822" }, "downloads": -1, "filename": "areplay-0.6.tar.gz", "has_sig": false, "md5_digest": "51b22bb8791bb00294d4698c9dd6aaba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4984, "upload_time": "2016-03-19T05:45:03", "url": "https://files.pythonhosted.org/packages/b7/17/4524c6da58f98736f5a7564da47a67a5a34a89e95e105eec5674c4af08d2/areplay-0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "51b22bb8791bb00294d4698c9dd6aaba", "sha256": "fbaa0ea0e4540848bd6de2c0c280fb3fc48bbc5fb2d1ae7aec5ef3e09a378822" }, "downloads": -1, "filename": "areplay-0.6.tar.gz", "has_sig": false, "md5_digest": "51b22bb8791bb00294d4698c9dd6aaba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4984, "upload_time": "2016-03-19T05:45:03", "url": "https://files.pythonhosted.org/packages/b7/17/4524c6da58f98736f5a7564da47a67a5a34a89e95e105eec5674c4af08d2/areplay-0.6.tar.gz" } ] }