用于监视和分析代码性能的web应用程序

codespeed的Python项目详细描述


#码速
[![构建状态](https://travis-ci.org/tobami/codespeed.png?branch=master)(https://travis ci.org/tobami/codespeed)
[![pypi版本](https://img.shields.io/pypi/v/code speed.svg)(https://pypi.python.org/pypi/codespeed)


codespeed是一个用于监视和分析代码性能的Web应用程序。

](http://speed.twistedmatrix.com)和其他网站。

用法:

pip install codespeed


如果需要版本控制集成,则有其他要求:

*subversion需要pysvn:`python svn`
*mercurial需要包'mercurial'在本地克隆repo
*git需要'git'包来克隆repo
*对于github,isodate包是必需的,但不是git:`pip install isodate`

**注意**:对于git或mercurial repo,第一次访问changes视图时,
codespeed将尝试克隆repo,这取决于项目的大小
可能需要很长时间。请耐心等待。

*从
[github.com/tobami/codespeed/tags](https://github.com/tobami/codespeed/tags)下载最后一个稳定版本,解包后用"python setup.py install"安装。
*若要开始,可以使用"sample_project"目录作为y的起点。我们的django项目通常可以通过编辑"sample_project/settings.py"进行配置。
*为了简单起见,您可以使用默认的sqlite配置,它将
数据保存到名为"data.db"的数据库中
*通过从根目录中键入以下内容来创建数据库:

pyth在manage.py migrate上

*创建管理用户:


*出于测试目的,现在可以启动开发服务器:


o`http://localhost:8000/`.

**注意**:对于生产环境,您应该配置一个真正的服务器,比如apache或nginx(请参阅[django docs](http://docs.djangoproject.com/en/dev/howto/deployment/))。您还应该
修改"sample_project/settings.py"并设置"debug=false"。
[`sample_project/readme.md`](https://github.com/tobami/codespeed/tree/master/sample_project/readme.md)还介绍了一些生产设置。

codespeed configuration

data

如果要测试codespeed,可以使用testdata.json fixtures来设置要浏览的工作数据。

*从根目录中,键入:

./manage.py loaddata codespeed/fixtures/testdata.json

开始保存(和显示)数据,首先需要创建一个
环境并定义一个默认项目。

*转到"http://localhost:8000/admin/codespeed/environment/`
并创建一个环境。
*转到"http://localhost:8000/admin/codespeed/project/`
并创建一个项目ct.

选中"跟踪更改"字段,如果需要版本控制
集成,请配置相关字段。

**注意**:只有与选中"跟踪更改"字段的项目相关联的可执行文件才会显示在"更改"和"时间线"视图中。

**注意**:git和mercurial需要在本地克隆存储库。这意味着您的"sample_project/repos"目录将需要由服务器拥有。在典型的apache安装中,您需要键入"sudo chown www data:www data sample廑project/repos`

可以使用脚本"tools/save_single_result.py"作为指导。
保存大量数据时,建议改用json api:
`http://localhost:8000/result/add/json/`


如果可执行文件、基准、项目或
修订版尚不存在,则它们将与
实际结果条目一起自动创建。唯一不会自动创建的模型是
环境。它必须始终存在,否则数据将不会保存(这就是为什么在前面的"codespeed configuration"(代码速度配置)部分中,它被描述为一个必要的步骤)。


r/>`sample_project/settings.py`。强烈建议您只通过导入默认设置并仅替换自定义设置所需的
值来覆盖所需的
设置:

from codespeed.settings import*


def_environment="dual core 64 bits"

nges

所有页面都继承自"base.html"模板。要更改站点上的每个页面,只需编辑(`sample_project/templates/codespeed/base_site.html`)并覆盖
相应的块:

*自定义标题:可以将标题
块的默认"我的速度中心"替换为首选值:

{%块标题%}
我的项目的速度中心
{%endblock%}

*替换logo.png:将您的徽标放在"sample-project/static/images/logo.png"中
*徽标使用自定义文件名:将您的徽标放在"sample-project/static/images/"中,并添加一个类似于
的块到"base-site.html"中:

{%block logo%}
<;img src={{media_url}}images/my logo.jpg"width="120"height="48"alt="my project">;
{%endblock logo%}

n.b.对于任何高度
48px(任何宽度都可以)的图像,布局都将完全相同

*自定义javascript或css:将文件添加到"sample_project/static/js"目录
,并扩展"extra戋head"模板块:

{%block extra戋head%}
{{block.super}
<;script type="text/javascript" src="{media戋url}}static/js/my戋cool_调整.js">;
{%endblock extra廑head%}


\ge:创建"sample_project/templates/about.html":

{%extends"codespeed/base_site.html"%}
{%block title%}{{{%block.super}:关于此项目{%endblock%}
{%block body%}
<;div id="sidebar">;
<;div id="about"class="about"content clearfix">;
在时间轴视图中作为基线选项列出。
*此外,比较视图还将显示作为可执行文件跟踪的项目的最新版本的结果。

参数(文件包括带有完整示例的注释)。


*` def_environment`:定义在e更改和时间线视图。
*`Change_Threshold`
*`Trend_Threshold`

\Changes View
*`Def_Executable`:在"更改"视图中,随机可执行文件被选为默认值。如果不适合您,您可以在这里指定应选择哪个
。您需要指定它的id(因为仅名称是不唯一的)。

可能的值:
*`none`:将显示绘图缩略图网格,或当绘图数超过30时显示文本消息
*`grid`:将始终显示为默认值绘图网格
*`show\u none`:将显示文本消息(如果有大量基准,则更好的默认设置)
*` mybench`:将选择名为"mybench"的基准

*`chart_orientation`:水平或垂直
*`comp_executables`:默认情况下,将选中所有可执行文件。当
有大量的标记或可执行文件时,最好只选择几个
,这样绘图就不会太混乱。
作为包含可执行文件名+修订提交的元组列表给出。"L"表示最后一次修订。示例:

`` python
comp_executables=[
('myexe','21df2423ra'),
('myexe','l'),
]
`````

r/>组](http://groups.google.com/group/codespeed)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
检查java中两个链表之间的子集   java仅在findViewById()下显示一个ImageButton   在Java Graphics2D中,文本如何在矩形上居中对齐?   java需要一个用于电子表格计算器的正则表达式   ^java中的运算符   java通过一些属性配置文件根据环境动态更改wsdl端点URL   java Ebean/Play框架关系未更新   集合如何将POJO列表转换为Java流中的映射<String,List>?   java为什么JFrame不显示整个图像?   java如何将调用静态导入的泛型方法的结果传递给另一个方法?   迭代器或foreach中的java延迟   需要java socket logback日志接收器   在Java中初始化Map的静态数组   雅加达邮件Java MimeMail:解码后获得额外字符   java为什么这个xmldom解析器不能正确解析rtept、name和cmt标记?   java如何刷新Log4J2中的异步记录器(带中断器)   java使用构建插件pom生成的jar。xml作为同一pom中的依赖项   java基于位置的序列ADT如何在O(1)时间内插入元素?   java ORM实体与DDD实体   Java对象分配