用于读取rum信息的简单pingdom api接口
pyngdom的Python项目详细描述
针对pingdom的简单python api,它具有rum提取功能。
结果
请在https://gitter.im/Epi10/pyngdom的gitter上免费提供一个消息(如果安装失败,或者有什么不起作用) 或者发邮件给我aleivag@gmail.com
安装
一如既往
python setup.py install
或者是不那么性感的
pip install pyngdom
或者不如平常那样
pip install git+https://github.com/Epi10/pyngdom
获取朗姆酒
如果你来这里是为了喝朗姆酒(这不是坏海盗的双关语)。
我们为pingdom rum提供了两个接口,第一个接口只使用python,这只会给您提供 今天的rum信息,如果您不想安装额外的依赖项或不喜欢/不想要selenium,这是很好的。第二次 方法您需要selenium和webbrowser,对于测试来说,firefox很好,但是如果您真的想利用脚本 你真的应该使用phantomjs(默认)。
示例将放在示例文件夹中,您可以随意使用。我真的建议检查git存储库 以获取最新的示例。
仅限python的方法
免责声明,rum搜索不是pingdom api的一部分,pingdom不支持它,因此它可以随时停止工作, 风险自负。此外,这种方法比selenium方法更难维护,因此如果pingdom更改了任何内容,则需要更长的时间来修复。
如何使用:
frompyngdomimportPyngdomRumpingdom=Pyngdom(username='user@epi10.cl',password='super-secret-password',apikey='6dz4mqdms0qaxrjstntf6myt6wz5vseg',account='owner@epi10.cl')pingdom.login()
现在您需要知道rum测试id,这很简单,您只需要登录到pingdom,然后查找rum链接 在“报告”页中,rum链接的格式为https://my.pingdom.com/rum/XXXXXXXXXXX
下面是一个示例
获得链接后,您所需做的就是
>>>rum=pingdom.today_rum('XXXXXXXXXXX')>>>printrum{u'allow_subdomains':False,u'total':{u'average':2557,u'count':40305,u'median':1971.4791994493,u'p90':4623.1101804124,u'p95':5853.3586753731,u'p99':10089.605}........'url':'http://epi10.cl'}#Get Total RUM>>printrum['total']{u'average':2557,u'count':40305,u'median':1971.4791994493,u'p90':4623.1101804124,u'p95':5853.3586753731,u'p99':10089.605}#Get RUM per geolocation that exist>>printrum['geo'].get('us',{}){u'average':6657,u'count':27,u'median':5875.0625,u'p90':9700.0416666667,u'p95':10175.125,u'p99':13435.125}# Get geographic zone (remember not all geographic zone exists)>>printrum['geo'].get('jp',{}){}
同时也有很多可用的信息。
如果你有硒(你应该),使用它。
如果你有硒(甚至更好的幻影[http://phantomjs.org/]),你应该使用它。 这将为实时朗姆酒的开发打开一扇新的大门。 pyndomdriver比普通的rum,从用户的角度来看,两种方法都应该是 可互换,但这实际上会给你实时朗姆酒。
我怎么用?
首先安装selenium
pip install selenium
现在您可以使用它了
frompyngdomimportPyngdomDriver# If you want to use your native firefox (no extra install other than having your own firefox)pingdom=PyngdomDriver(username='user@epi10.cl',password='super-secret-password',base_driver='Firefox')#if you have phantomjs installedpingdom=PyngdomDriver(username='user@epi10.cl',password='super-secret-password')#then loginpingdom.login()
然后很简单,您只需获取rum的checkid(参见上一节),然后调用相同的函数
>>>rum=pingdom.today_rum('XXXXXXXXXXX'){u'allow_subdomains':False,u'total':{u'average':2557,u'count':40305,u'median':1971.4791994493,u'p90':4623.1101804124,u'p95':5853.3586753731,u'p99':10089.605}........'url':'http://epi10.cl'}
现在有趣的是,要获得实时朗姆酒,您只需选择一个采样间隔(即30秒),然后您就可以
>>>rum=pingdom.realtime_rum('XXXXXXXXXXX',30)#30 seconds later{u'allow_subdomains':False,u'total':{u'average':2456,u'count':15,u'median':1971.4791994493,u'p90':4623.1101804124,u'p95':5853.3586753731,u'p99':10089.605}........'url':'http://epi10.cl'}
您可以与语句一起使用
withPyngdomDriver(username='user@epi10.cl',password='super-secret-password')aspingdom:realtime=pingdom.realtime_rum('XXXXXXXXXXX',30)
就这么简单…我们再次强烈建议使用phantomjs,installit在linux和mac中是如此简单。
额外的API
如果您需要标准的pingom api,我建议您使用https://pypi.python.org/pypi/PingdomLib,它是成熟的 使用起来真的很简单。我们还提供了一些额外的功能,使用标准的pingdom api,仅此而已 因为有些项目我们确实需要它们。
frompprintimportpprintfrompyngdomimportPyngdompingdom=Pyngdom(username='user@epi10.cl',password='super-secret-password',apikey='6dz4mqdms0qaxrjstntf6myt6wz5vseg',account='owner@epi10.cl')check_list=pingdom.get_check_list()#print the check listspprint(check_list)#get only the check for api.epi10.clapi_epi10_check=filter(lambdax:x.get('hostname')=='api.epi10.cl',check_list.get('checks',[]))[0]#print detailed informationprintpingdom.get_detailed_check_information(api_epi10_check['id'])
你会很容易使用它。
更改日志
0.1.2 2014-06-04
- 在安装时修复(愚蠢的)pypi错误(我们阅读了setup.py中的readme.rst,但在python setup.py sdist时我们从不包含)。
0.1.1 2014-06-04
- 修复文档以包括登录。
- 添加示例文件夹。
0.1.0 2014-06-03
- 初始提交