{ "info": { "author": "yuecen", "author_email": "yuecendev+pypi@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Programming Language :: Python" ], "description": "## Elastic Funnel\n\n[![Build Status](https://travis-ci.org/yuecen/elastic_funnel.svg?branch=master)](https://travis-ci.org/yuecen/elastic_funnel)\n\nThis is an analysis tool for funnel visualization with log from Elasticsearch. Even though we have [Kibana] can display log very well, \nit can't fit our goal that to analyze series log with context. \n\n### Prerequisites\n\nIn order to run elastic_funnel, some works have to prepare.\n\n * You have to run your Elasticsearch first\n * Set the essential config file with your Elasticsearch environment \n\n### Install\n\n[Pandas] is one of core requirements and it could take a few minutes to complete.\n\n```\npip install elastic_funnel\n```\n\n#### Add Essential Config File\n\nAdd the argument file ```~/.elastic_funnel``` to your home path, with \n\n```\n[elastic]\nhost = 127.0.0.1\nport = 9200\nindex = user-behavior-*\nquery = action:state_change AND sessionid:* \n\n[fields]\ntimestamp = @timestamp\nstage = state\nidentity = sessionid\n```\n\n#### Run for a Funnel\n\n```\nelastic_funnel --stages landingpage login searchpage --start 2016-03-25T00:00:00\n```\n\nYou could get a visualization with ASCII characters looks like follows, the percentage means trend from one stage to the next one.\n\n```\nFunnel: landingpage --> login --> searchpage\n###############################################################################\n\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 27 100.0% landingpage\n\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 8 29.6% login\n\u2588 1 12.5% searchpage\n```\n\n#### Arguments\n\n```\nusage: elastic_funnel [-h] [--host HOST] [--port PORT] [--index INDEX]\n --stages STAGES [STAGES ...] [--start START] [--end END]\n [--add_query ADD_QUERY]\n\noptional arguments:\n -h, --help show this help message and exit\n --host HOST Host of Elasticsearch\n --port PORT Port of Elasticsearch\n --index INDEX Index name of Elasticsearch, e.g., user-behavior-log-*\n --stages STAGES [STAGES ...]\n Set a path of stages , e.g., index explore user\n explore\n --start START Start time of log, e.g., 2016-03-24T00:00:00\n --end END End time of log, e.g., 2016-03-28T00:00:00\n --add_query ADD_QUERY\n Additional query using syntax of Lucene, https://lucen\n e.apache.org/core/2_9_4/queryparsersyntax.html. You\n can narrow you search target by syntax, e.g.,\n country:US\n```\n\n### Quick Start with Docker\n\n```\ndocker pull yuecen/elastic_funnel\n```\n\n```\ndocker run -it --rm -v ~/.elastic_funnel:/root/.elastic_funnel:ro yuecen/elastic_funnel elastic_funnel --stages landingpage login searchpage\n```\n\n### Quick Start with Gunicorn and cRUL ( *DEVELOPING...* )\n\n[Kibana]:https://www.elastic.co/products/kibana\n[Pandas]:http://pandas.pydata.org/", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/yuecen/elastic_funnel", "keywords": "elasticsearch,log,funnel,elastic_funnel", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "elastic_funnel", "package_url": "https://pypi.org/project/elastic_funnel/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/elastic_funnel/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/yuecen/elastic_funnel" }, "release_url": "https://pypi.org/project/elastic_funnel/0.1.6/", "requires_dist": null, "requires_python": null, "summary": "Analysis tool for funnel visualization with log from Elasticsearch", "version": "0.1.6" }, "last_serial": 2315552, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "63f708c22bc2c6fd64a0873b57784aeb", "sha256": "76658182f01303a675e7a86d621ef1a2c5ede2e10b255616fe797f022c885487" }, "downloads": -1, "filename": "elastic_funnel-0.0.1.tar.gz", "has_sig": false, "md5_digest": "63f708c22bc2c6fd64a0873b57784aeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5572, "upload_time": "2016-03-29T13:16:13", "url": "https://files.pythonhosted.org/packages/4b/97/632446080b7a169c520b6ddd0b0d7e867c2d4756115c7a673c8c74472c54/elastic_funnel-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "5eca67c58e86fcda65690b3f41c51b3f", "sha256": "ba9c6706abb8807fe0cadd429efa81aa963a4ba95fe74aeead33edd126a8cd8a" }, "downloads": -1, "filename": "elastic_funnel-0.0.2.tar.gz", "has_sig": false, "md5_digest": "5eca67c58e86fcda65690b3f41c51b3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5806, "upload_time": "2016-03-29T13:27:59", "url": "https://files.pythonhosted.org/packages/de/d9/49f72e0c6551e515e394ba2679d8a64e45c8b63808ec3c9e9594c384da6a/elastic_funnel-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "5b3427e7a99f4735f63e61a9e369e81f", "sha256": "3f38fb4aa63fec478d9144a1bb9e2cc5ebd6f9986902f72f789c5f8566b0df39" }, "downloads": -1, "filename": "elastic_funnel-0.0.3.tar.gz", "has_sig": false, "md5_digest": "5b3427e7a99f4735f63e61a9e369e81f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5913, "upload_time": "2016-03-29T13:34:00", "url": "https://files.pythonhosted.org/packages/08/9a/2e16a73897376d48b19406671c148fa80046c7ba8f7f06b939e61ffae4e7/elastic_funnel-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "98bf26fdcbb95b77a9ee9ee317cf842f", "sha256": "985dfc7235c523791763284eae2864eb4faaab3aeca721289e9066b8a5a8dda1" }, "downloads": -1, "filename": "elastic_funnel-0.0.4.tar.gz", "has_sig": false, "md5_digest": "98bf26fdcbb95b77a9ee9ee317cf842f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6060, "upload_time": "2016-03-29T14:31:37", "url": "https://files.pythonhosted.org/packages/f5/95/cb73716b0176fdc729f24cf382e9ff06ad837f1a1a200437c29c6f4a7b3b/elastic_funnel-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "8f93deb696739eff54a50c350117763a", "sha256": "4d6e70a28fd4a85bd17a9be2958da248e3e4343417a969c9e491511a5e86835e" }, "downloads": -1, "filename": "elastic_funnel-0.0.5.tar.gz", "has_sig": false, "md5_digest": "8f93deb696739eff54a50c350117763a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6237, "upload_time": "2016-03-30T03:58:02", "url": "https://files.pythonhosted.org/packages/2c/7a/02865d61c5e6b00fd1e34700dc107111603090f50dd4450408597cc85f42/elastic_funnel-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "907b1e7e3cff19ad0ea7989895a98394", "sha256": "a1662fad0309a79af69f749a303d20504b9a46e5a1b46c8944635e011f8e9872" }, "downloads": -1, "filename": "elastic_funnel-0.0.6.tar.gz", "has_sig": false, "md5_digest": "907b1e7e3cff19ad0ea7989895a98394", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6277, "upload_time": "2016-03-30T08:16:52", "url": "https://files.pythonhosted.org/packages/dc/b3/29ab3a8e60e606a6614f818dfb67f13ec1371c7adae3760e4d0ec34f763d/elastic_funnel-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "110bf59e45d53f7a36dcb6557401c828", "sha256": "59b93ef89f6cbe06e986317caab1698a765670681eea2f80757b36853120469a" }, "downloads": -1, "filename": "elastic_funnel-0.0.7.tar.gz", "has_sig": false, "md5_digest": "110bf59e45d53f7a36dcb6557401c828", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6276, "upload_time": "2016-03-30T09:04:19", "url": "https://files.pythonhosted.org/packages/7c/d5/c26aefb032fcdff376f96759843b90a993f885d69bd8d2453b6fab544d05/elastic_funnel-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "4a96f1eac93a8751728df282528d7eb3", "sha256": "2a008e74264dc3c9af84d23c44ae932326f15b2657958bdf628f5d85870bd659" }, "downloads": -1, "filename": "elastic_funnel-0.0.8.tar.gz", "has_sig": false, "md5_digest": "4a96f1eac93a8751728df282528d7eb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6352, "upload_time": "2016-03-30T11:04:20", "url": "https://files.pythonhosted.org/packages/23/75/9ec331b8d42d46a038db0a555385cea548770fefa17a13a3f6613f0ea776/elastic_funnel-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "a1dff2dbb2cee475e7eaf698215f3e2e", "sha256": "909742db4f27c3fb382c9b5e63778308b034d73b65edead8f2e55c3349e3a2aa" }, "downloads": -1, "filename": "elastic_funnel-0.0.9.tar.gz", "has_sig": false, "md5_digest": "a1dff2dbb2cee475e7eaf698215f3e2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6376, "upload_time": "2016-06-13T12:50:13", "url": "https://files.pythonhosted.org/packages/d4/c1/348de94d27d863226faa9a3d29f9204e9cbd59ec16e1300083b50397bbf4/elastic_funnel-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "3e7490f4fcc193a0e6836ee52135d820", "sha256": "fbd91831ea1c6bbe668408e07bf702f428ab25cd883d3f801f2e2312a19933a8" }, "downloads": -1, "filename": "elastic_funnel-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3e7490f4fcc193a0e6836ee52135d820", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6724, "upload_time": "2016-08-31T06:10:56", "url": "https://files.pythonhosted.org/packages/4e/ec/cccd9a69779e4c4eaa9afdac77ae712b8497e311f487c7d200c9428810c8/elastic_funnel-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ad27ef2d918bcc5cf3a8be8b0e76214a", "sha256": "3f531b37b6a55418aedbe0598435a5619bcdf91e548e7d99e2503fa09d77ab6e" }, "downloads": -1, "filename": "elastic_funnel-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ad27ef2d918bcc5cf3a8be8b0e76214a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6730, "upload_time": "2016-08-31T06:26:17", "url": "https://files.pythonhosted.org/packages/63/e6/e93db88d4df51dc57dba4927e57c29e88e3071c7e7558a4c05734213aac0/elastic_funnel-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "50b2b2615e3de04a3626edbfbc88d0e3", "sha256": "6363fee58b8557677250bb94f848e589661acef8ad9c2b87d514a0291b4ce2f3" }, "downloads": -1, "filename": "elastic_funnel-0.1.2.tar.gz", "has_sig": false, "md5_digest": "50b2b2615e3de04a3626edbfbc88d0e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6938, "upload_time": "2016-08-31T10:05:16", "url": "https://files.pythonhosted.org/packages/5e/ab/ee27299676ac8db657008dc48b3d68881e198b36097ee12b7067f5c213b4/elastic_funnel-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "f753083f09f511d594c341b6362601f5", "sha256": "17c12b69429857875d30b3b5ae7e7a442c8d2f4365285f6f7e725b486583283c" }, "downloads": -1, "filename": "elastic_funnel-0.1.3.tar.gz", "has_sig": false, "md5_digest": "f753083f09f511d594c341b6362601f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6945, "upload_time": "2016-08-31T10:06:35", "url": "https://files.pythonhosted.org/packages/d5/3e/e4c24139cf00bb98cea731d5705ee756524ec914a45b8a6a8f5ce05bfe35/elastic_funnel-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "8065d57d7d36213b96627d116959e906", "sha256": "0d7abe428b5363fceffb55b12ac5e139ea7cbf77016d620c1c59d7c646a4ee5a" }, "downloads": -1, "filename": "elastic_funnel-0.1.4.tar.gz", "has_sig": false, "md5_digest": "8065d57d7d36213b96627d116959e906", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6893, "upload_time": "2016-08-31T12:16:35", "url": "https://files.pythonhosted.org/packages/d6/92/87bd3b477e73ff116969b8ef29946ce6ce75ddece7934e05fce77c7c0568/elastic_funnel-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "3e9a5abce96d45f17c5b3ac351236deb", "sha256": "5ac80773ff3232d74b15a30d4c15167860878bda7506f9529d226728f08e24ae" }, "downloads": -1, "filename": "elastic_funnel-0.1.5.tar.gz", "has_sig": false, "md5_digest": "3e9a5abce96d45f17c5b3ac351236deb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6921, "upload_time": "2016-08-31T12:41:19", "url": "https://files.pythonhosted.org/packages/fa/8b/bbc1db781e5594b011d4a793d6cf38d2092242799a8f220c1f8bbbdc9cb9/elastic_funnel-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "f2a0a46a44b2388148531064d5d9f75b", "sha256": "fe97ca5cc4fbc0b7663290481eb31e6a611f9d3860c31a34f57e6b755250f25d" }, "downloads": -1, "filename": "elastic_funnel-0.1.6.tar.gz", "has_sig": false, "md5_digest": "f2a0a46a44b2388148531064d5d9f75b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6904, "upload_time": "2016-08-31T12:46:55", "url": "https://files.pythonhosted.org/packages/a3/2d/a53b6f28fc00e16615082c5c9c374ac7e4e79336ab573232a1095febec24/elastic_funnel-0.1.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f2a0a46a44b2388148531064d5d9f75b", "sha256": "fe97ca5cc4fbc0b7663290481eb31e6a611f9d3860c31a34f57e6b755250f25d" }, "downloads": -1, "filename": "elastic_funnel-0.1.6.tar.gz", "has_sig": false, "md5_digest": "f2a0a46a44b2388148531064d5d9f75b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6904, "upload_time": "2016-08-31T12:46:55", "url": "https://files.pythonhosted.org/packages/a3/2d/a53b6f28fc00e16615082c5c9c374ac7e4e79336ab573232a1095febec24/elastic_funnel-0.1.6.tar.gz" } ] }