Skip to content

Commit 7a781df

Browse files
authored
Merge pull request #33 from diegorusso/speed.python.org_rebased_on_master
Rebase speed.python.org on top of master
2 parents b9a6cea + a2f257f commit 7a781df

85 files changed

Lines changed: 3364 additions & 4733 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,4 @@ speed_python/secret_key
1010
override
1111
build
1212
dist
13-
codespeed.egg-info/
14-
13+
*.egg-info

.travis.yml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,23 @@
11
language: python
2-
python:
3-
- 2.7
4-
- 3.4
2+
branches:
3+
only:
4+
- master
55
env:
6-
- DJANGO_VERSION=1.8.8
7-
- DJANGO_VERSION=1.6.11
6+
global:
7+
- DJANGO_SETTINGS_MODULE=sample_project.settings
8+
matrix:
9+
include:
10+
- python: "2.7"
11+
env: DJANGO_VERSION=1.11
12+
- python: "3.5"
13+
env: DJANGO_VERSION=1.11
14+
- python: "3.5"
15+
env: DJANGO_VERSION=2.1
816
install:
17+
- pip install flake8 mock
918
- pip install -q Django==$DJANGO_VERSION
1019
- python setup.py install
20+
before_script:
21+
flake8 codespeed
1122
script:
12-
- python setup.py test
1323
- python manage.py test codespeed
14-

AUTHORS

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
Codespeed is written and maintained by Miquel Torres Barceló and various contributors:
2+
3+
Frank Becker
4+
Chris Adams
5+
Stefan Marr
6+
Reiner Gerecke
7+
daniloaf
8+
Joachim Breitner
9+
Rayan Chikhi
10+
str4d
11+
Alexey Palazhchenko
12+
Javier Honduvilla Coto
13+
Octavian Moraru
14+
Phil Opaola
15+
Laurent Raufaste
16+
Nicolas Cornu
17+
Elliot Saba
18+
Jean-Paul Calderone
19+
Malcolm Parsons
20+
Rayan
21+
Catalin Gabriel Manciu
22+
Clément MATHIEU
23+
Dave Collins
24+
David Fraser
25+
Kevin Modzelewski
26+
Matt Haggard
27+
Michael Thompson
28+
Reiner
29+
Zachary Ware
30+
Mark Watts
31+
Catalin G. Manciu
32+
Octavian Moraru
33+
Iskander (Alex) Sharipov
34+
Tim (Timmmm)

CHANGELOG

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,34 @@
11
== Change Log ==
22

3+
=== Version 0.13.0, February 23, 2019 ===
4+
* NEW #263: Added support for Django 2.1, drop support for Django 1.8
5+
* NEW #255: Allow partial requests of timeline grid
6+
* FIX #233: Ensure missing data points don’t lead to infinite loop
7+
* FIX #242: Revision.tag field is not trimmed before insert
8+
* FIX #250: All doesn't work after clicking None in comparison
9+
10+
11+
=== Version 0.12.0, November 11, 2017 ===
12+
* NEW #230: Added support for Django 1.11
13+
* NEW #226: Added previous and next commit navigation to the changes view
14+
* NEW #228: Customise the meta description to describe the URL
15+
* NEW #224: Default banch is now configured in db, per project
16+
* NEW #221: Added support for Django 1.9
17+
* NEW #214: Added optional http basic authentication to results API calls
18+
* NEW #209: Addeds the 'makeimage' service
19+
* NEW #207: Commit tag saving features
20+
* FIX #219: Made git tag identification more conservative
21+
* FIX #212: Improved py3 compat by adding b'' literals
22+
* FIX #212: Fix git tag error
23+
24+
325
=== Version 0.11.0, July 31, 2016 ===
426
* NEW #191: Django 1.7 and 1.8 support
527
* NEW #192: Initial Python 3.4 support
628
* NEW #199: str4d upgraded all javascript libraries. Most importantly jqPlot to 1.0.9 and jQuery to 1.12.3
729
* NEW #203: str4d implemented displaying of quartile and extrema bands on median benchmarks
8-
* NEW #295: javierhonduco gave the application a more modern look
30+
* NEW #205: javierhonduco gave the application a more modern look
31+
932

1033
=== Version 0.10.1, November 1, 2015 ===
1134
* NEW #169: nomeata added admin action to recalculate reports
@@ -41,7 +64,7 @@
4164
* NEW: Upgraded to jQuery 1.6
4265
* NEW #44: Stefan added an option to the timeline view for equidistant data point plotting
4366
* NEW: Permalinks are now id based for Environment, to shorten the length and avoid problems related to url encoding, as well as to allow changing the name without beaking the permalink
44-
* FIX: Frank added a check for revision_date = "None" (as string), caused by the
67+
* FIX: Frank added a check for revision_date = "None" (as string), caused by the
4568
save_single_result.py sample script
4669

4770

@@ -52,7 +75,7 @@
5275
* NEW #45: Stefan Marr added support for browser-button navigation on timeline
5376
* FIX: Stefan Marr improved the GitHub plugin
5477
* FIX: Improvements in the Changes View layout that prevent overlapping in some cases
55-
* FIX: Stefan Marr fixed a bug where links to a changes view revision from the
78+
* FIX: Stefan Marr fixed a bug where links to a changes view revision from the
5679
timeline view would not work because they used short commit ids
5780
* FIX: Stefan Marr prevented some infinite loops caused when results were equal or less than 0
5881

@@ -110,7 +133,7 @@ Bug fix release
110133
- Fix benchmark/legend ordering
111134
- Improve error messages
112135
- Issue correctness warning for normalized stacked bars.
113-
136+
114137
* Known bugs:
115138
- There are several bugs in the comparison view related to the plotting library jqplot
116139
- Bad autoscaling under some circumstancies. Issue#199 (http://bitbucket.org/cleonello/jqplot/issue/199/autoscale-breaks-negative-values)

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
All files in this work, are now covered by the following copyright notice.
22
Please note that included libraries in the media/ directory may have their own license.
33

4-
Copyright (c) 2009-2016 Miquel Torres <tobami@gmail.com>
4+
Copyright (c) 2009-2016 Miquel Torres <tobami@gmail.com> and other contributors, see AUTHORS file.
55

66
This file is part of Codespeed.
77

README.md

Lines changed: 53 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
# Codespeed
22
[![Build Status](https://travis-ci.org/tobami/codespeed.png?branch=master)](https://travis-ci.org/tobami/codespeed)
3+
[![PyPI version](https://img.shields.io/pypi/v/codespeed.svg)](https://pypi.python.org/pypi/codespeed)
34

45
Codespeed is a web application to monitor and analyze the performance of your code.
56

6-
Known to be used by [PyPy](http://speed.pypy.org), [Twisted](http://speed.twistedmatrix.com) and others.
7+
Known to be used by [CPython](https://speed.python.org), [PyPy](http://speed.pypy.org), [Twisted](http://speed.twistedmatrix.com) and others.
78

89
For an overview of some application concepts see the [wiki page](https://github.com/tobami/codespeed/wiki/Overview)
910

10-
# Installation
11+
## Installation
1112

12-
You will need Python 2.7 or 3.4+.
13+
You will need Python 2.7 or 3.5+.
1314

1415
To install dependencies and the codespeed Django app:
1516

@@ -35,7 +36,10 @@ can take a long time. Please be patient.
3536

3637
python manage.py migrate
3738

38-
* Create an admin user in the process.
39+
* Create an admin user:
40+
41+
python manage.py createsuperuser
42+
3943
* For testing purposes, you can now start the development server:
4044

4145
python manage.py runserver 8000
@@ -46,17 +50,17 @@ The codespeed installation can now be accessed by navigating to `http://localhos
4650
modify `sample_project/settings.py` and set `DEBUG = False`.
4751
[`sample_project/README.md`](https://github.com/tobami/codespeed/tree/master/sample_project/README.md) also describes some production settings.
4852

49-
# Codespeed configuration
53+
## Codespeed configuration
5054

51-
## Using the provided test data
55+
### Using the provided test data
5256

5357
If you want to test drive Codespeed, you can use the testdata.json fixtures to have a working data set to browse.
5458

5559
* From the root directory, type:
5660

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

59-
## Starting from scratch
63+
### Starting from scratch
6064

6165
Before you can start saving (and displaying) data, you need to first create an
6266
environment and define a default project.
@@ -74,7 +78,7 @@ field will be shown in the Changes and Timeline views.
7478

7579
**Note**: Git and Mercurial need to locally clone the repository. That means that your `sample_project/repos` directory will need to be owned by the server. In the case of a typical Apache installation, you'll need to type `sudo chown www-data:www-data sample_project/repos`
7680

77-
# Saving data
81+
## Saving data
7882

7983
Data is saved POSTing to `http://localhost:8000/result/add/`.
8084

@@ -91,9 +95,9 @@ environment. It must always exist or the data won't be saved (that is the reason
9195
it is described as a necessary step in the previous "Codespeed configuration"
9296
section).
9397

94-
# Further customization
98+
## Further customization
9599

96-
## Custom Settings
100+
### Custom Settings
97101

98102
You may override any of the default settings by setting them in
99103
`sample_project/settings.py`. It is strongly recommended that you only override the
@@ -153,18 +157,20 @@ same name.
153157
</div>
154158
{% endblock %}
155159

160+
### Baselines and Comparison view executables
156161

157-
## Baselines and Comparison view executables
158162
* The results associated to an executable and a revision which has a non blank
159163
tag field will be listed as a baseline option in the Timeline view.
160-
* Additionaly, the Comparison view will show the results of the latest revision
164+
* Additionally, the Comparison view will show the results of the latest revision
161165
of projects being tracked as an executable as well.
162166

163-
## Defaults
167+
### Defaults
168+
164169
The file `sample_project/settings.py` can contain customizations of
165170
several parameters (the file includes comments with full examples).
166171

167-
### General settings:
172+
### General settings
173+
168174
* `WEBSITE_NAME`: The RSS results feed will use this parameter as the site name
169175
* `DEF_BASELINE`: Defines which baseline option will be chosen as default in
170176
the Timeline and Changes views.
@@ -173,23 +179,35 @@ several parameters (the file includes comments with full examples).
173179
* `CHANGE_THRESHOLD`
174180
* `TREND_THRESHOLD`
175181

182+
### Home Page
183+
184+
The main customization for the homepage is to display either the reports
185+
(daily changes) or the historical graphs (improvement over time).
186+
187+
* `SHOW_REPORTS`: If set to `True` displays a table and RSS feed with the latest results
188+
* `SHOW_HISTORICAL`: Displays two graphs comparing tagged and latest versions of the default executable and project to the configured baseline.
189+
190+
To activate the historical graphs you will need to set the following settings (using values that work with the test data):
191+
192+
* `DEF_BASELINE = {'executable': 'baseExe', 'revision': '444'}`
193+
* `DEF_EXECUTABLE = "myexe O3 64bits"`
194+
176195
### Changes View
196+
177197
* `DEF_EXECUTABLE`: in the Changes view, a random executable is chosen as
178198
default. It that doesn't suite you, you can specify here which one should be
179199
selected. You need to specify its id (since the name alone is not unique).
180200

181201
### Timeline View
202+
182203
* `DEF_BENCHMARK`: Defines the default timeline view. Possible values:
183-
* `None`: will show a grid of plot thumbnails, or a text message when the number of plots exceeds 30
184-
* `grid`: will always show as default the grid of plots
185-
* `show_none`: will show a text message (better default when there are lots of benchmarks)
186-
* `mybench`: will select benchmark named "mybench"
187-
* `DEF_BRANCH`: Defines the default branch to be used when calculating timeline and changes data for presentation. Example values:
188-
* `default`: the default value, and usually mercurial's default branch
189-
* `master`: usually git's default branch
190-
* `trunk`: usually SVN's default branch
204+
* `None`: will show a grid of plot thumbnails, or a text message when the number of plots exceeds 30
205+
* `grid`: will always show as default the grid of plots
206+
* `show_none`: will show a text message (better default when there are lots of benchmarks)
207+
* `mybench`: will select benchmark named "mybench"
191208

192209
### Comparison View
210+
193211
* `CHART_TYPE`: Chooses the default chart type (normal bars, stacked bars or
194212
relative bars)
195213
* `NORMALIZATION`: Defines whether normalization should be enabled as default
@@ -206,8 +224,21 @@ COMP_EXECUTABLES = [
206224
('myexe', 'L'),
207225
]
208226
```
227+
* `COMPARISON_COMMIT_TAGS: Defines a list of tags to display on the comparison page. This comes
228+
handy when there are a lot of tags. It defaults to ``None`` which means display all the available
229+
tags.
230+
231+
### VCS Provider Specific Settings
232+
233+
#### Github
234+
235+
* ``GITHUB_OAUTH_TOKEN`` - Github oAuth token to use for authenticating against
236+
the Github API. If not provided, it will default to unauthenticated API requests
237+
which have low rate limits so an exception may be thrown when retrieving info
238+
from the Github API due to the rate limit being reached.
209239

210240
## Getting help
241+
211242
For help regarding the configuration of Codespeed, or to share any ideas or
212243
suggestions you may have, please post on Codespeed's [discussion
213244
group](http://groups.google.com/group/codespeed)

codespeed/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
default_app_config = 'codespeed.apps.CodespeedConfig'

0 commit comments

Comments
 (0)