Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unaudited downstream changes #11

Open
wants to merge 98 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
3e21d05
Adding in ops helper files and README
dominicmcginnis Aug 4, 2014
3ea2905
Removed directory as we'll maintain in tarball
dominicmcginnis Sep 4, 2014
567cdc2
Updated with commands for a local start of harstorage with a producti…
dominicmcginnis Sep 8, 2014
10673ed
Reverted 3ea29052c071d85e499ddfb0f0184972a621ee62
dominicmcginnis Sep 8, 2014
7238aa2
Added throughput data and fixed timestamp to be that of the HAR and n…
dominicmcginnis Sep 8, 2014
234a0fd
Added throughput data and fixed timestamp to that of the HAR and not …
dominicmcginnis Sep 8, 2014
4fd2c07
Added 'source' to be a link to the source that generated the har file
dominicmcginnis Sep 8, 2014
6606f7c
Removed ignore of .py files as I'm making edits to these
dominicmcginnis Sep 8, 2014
8cfe14d
Updated to read and display a source URL if available
dominicmcginnis Sep 10, 2014
8408770
Updated to reflact latest pagespeed_bin requirement of rule_impact vs…
dominicmcginnis Sep 17, 2014
8a0f8aa
Fixing a divide by zero error when the bytes aren't set by the test e…
dominicmcginnis Oct 10, 2014
acec9b7
Fixed errors for when individual requests do not contain the bytes wi…
dominicmcginnis Oct 14, 2014
42b9673
updated formatting
dominicmcginnis Oct 15, 2014
1b73cb0
update method of getting base_url
Nov 5, 2014
5dd822b
Merge pull request #1 from clytwynec/clytwynec/fix-js-error-in-har-vi…
Nov 5, 2014
de9dae1
add requirements file
Nov 10, 2014
7c67eac
Removed bad harPreview.js. Also added in new filter labels for summa…
dominicmcginnis Nov 10, 2014
abba8df
Adding reset filters option
dominicmcginnis Nov 10, 2014
739f8e4
add requirements to setup
Nov 12, 2014
46b4e6c
Adding in throughput measurement. Also cleaning up HTML on the labels
dominicmcginnis Nov 12, 2014
20b126a
add 95th and 99th percentiles
Nov 17, 2014
53b8591
Adding in ability to choose mulitple tests for aggregation during agg…
dominicmcginnis Nov 17, 2014
fa0c207
rename Math to math_helpers
Nov 17, 2014
8b7c7c3
Merge pull request #2 from edx/clytwynec/95th_and_99th_percentiles
Nov 18, 2014
e210848
Trimming labels on the chart to 40char to avoid data collision
dominicmcginnis Nov 18, 2014
974eebd
Updated the canned search labels for team pages
dominicmcginnis Jan 12, 2015
227d0bc
Fixed issue that if no data found a 0 is returned instead of an error
dominicmcginnis Jan 12, 2015
09baee9
Performance optimizations of home page
dominicmcginnis Jan 15, 2015
ee1137d
Begging to add filters based on timeframe to details page
dominicmcginnis Jan 16, 2015
1649e60
Modified to have a filter functionality on the detail page to view by…
dominicmcginnis Jan 21, 2015
65da10e
Adding in a dashboard functionality that is configured through the in…
dominicmcginnis Jan 24, 2015
1c86f5c
Added the dashboard menu item to the header
dominicmcginnis Jan 26, 2015
98d2504
Added an enabled/disabled option for the dashboard feature
dominicmcginnis Jan 26, 2015
a73ab07
Altered to be generic dashboard json - meant to be an example
dominicmcginnis Jan 26, 2015
57b2f7c
Adding in aggregated value for the dashboard
dominicmcginnis Jan 27, 2015
a444682
Fixed an issue that showed 0 values, if it's a 0 we don't have a valu…
dominicmcginnis Jan 27, 2015
972d151
added the option to display full load time in seconds or ms for the s…
dominicmcginnis Jan 30, 2015
e887f76
Added rounding to 2 decimals for seconds format
dominicmcginnis Jan 30, 2015
0adc387
Altered ignore file, added lib folder as we are changing files under …
dominicmcginnis Feb 4, 2015
f1f1529
Moved User Ready Time to be in the front of the lists and made it dis…
dominicmcginnis Feb 4, 2015
7d2f16c
fixing a bug where teh timeline was getting mixed up between labels a…
dominicmcginnis Feb 4, 2015
11baf21
Updated for User Ready Time
dominicmcginnis Feb 4, 2015
262c341
Modified config for dashboard to be more dynamic, with tabs and deepe…
dominicmcginnis Feb 17, 2015
9e87fc6
Fixed issue with date logic for new config
dominicmcginnis Feb 18, 2015
4441338
Fixed a bug in the click of aggregate on the details page, must inclu…
dominicmcginnis Feb 18, 2015
6d57227
Removed usage of _strptime due to known python threading error. Also…
dominicmcginnis Feb 20, 2015
83a8bcd
Added new Explore home page
dominicmcginnis Mar 4, 2015
90501a3
Adding ability to click from test to details page
dominicmcginnis Mar 4, 2015
7203ced
Added resize to tab click to avoid imporoper sizing when tab was hidden
dominicmcginnis Mar 4, 2015
16aacd4
changed formatting
dominicmcginnis Mar 4, 2015
e86ca7e
fixed issue where test link from point in dashboard was failing
dominicmcginnis Mar 5, 2015
9e589fe
Adding in updated labels
dominicmcginnis Mar 26, 2015
3c49878
Altered the dashboard to contain an overview and trends tab - note: t…
dominicmcginnis Apr 16, 2015
1ad6a03
Updated to the latest version of highcharts - version 4.1.5
dominicmcginnis Apr 17, 2015
8e2b1e9
Restructuring the overview and dashboard pages
dominicmcginnis May 7, 2015
df5aaab
changes to table layout
May 7, 2015
b35d06e
Removing the RW point as it is no longer valid
dominicmcginnis May 8, 2015
c0bc227
Fixing a JSON format issue
dominicmcginnis May 8, 2015
bc40226
Split into 2 lines for easier reading
dominicmcginnis May 8, 2015
0d04c52
Moving filter to top of screen
dominicmcginnis May 8, 2015
216ee5f
Removing table tools as this was causing hanging requests
dominicmcginnis May 8, 2015
0025962
Split the trends by location tab into it's own section for ease of ma…
dominicmcginnis May 11, 2015
90e3bbb
Missed on previous check-in, part of the same bundle for location tab…
dominicmcginnis May 11, 2015
41a8914
updated the dashboard plot options location to work with the iframe
dominicmcginnis May 12, 2015
a253b16
Updated tab order to be consistent across all dashboard pages. Also …
dominicmcginnis May 12, 2015
2a1a1ec
Continuing to update the overview tabs to be uniform accross the dash…
dominicmcginnis May 12, 2015
fb694d9
If a pagename is available use that in the display instead of the label
dominicmcginnis May 18, 2015
45d7156
Fixed a bug where the prod legacy desktop wasn't showing
dominicmcginnis May 18, 2015
81ce72b
Made the metric for graphing part of the URI call instead of hard coded
dominicmcginnis May 20, 2015
083550b
Added a new dropdown to the dashboard loation tab giving the ability …
dominicmcginnis May 21, 2015
a5d9ed9
Adding an aggregate trending line chart to the overview tabs
dominicmcginnis May 26, 2015
c06cc52
Fixing aggregate stat dropdown issue and adding jpg export options
dominicmcginnis May 27, 2015
4f304e4
Added a 5px spacing between charts
dominicmcginnis May 27, 2015
2c00618
Altered to display 2 seperate graphs based upon metric to avoid data …
dominicmcginnis May 27, 2015
1db52cf
Metric is now passed in. Renamed charts accordingly and also set the…
dominicmcginnis Jun 3, 2015
2e71661
Updating config file to reflect latest tests as well as add new deskt…
dominicmcginnis Jun 9, 2015
0fda71f
Bug in tabname for unified desktop aggs
dominicmcginnis Jun 9, 2015
f619497
Added path for hosting a daily report file
dominicmcginnis Jun 11, 2015
0daeefe
Added Desktop Search Results category
dominicmcginnis Jun 17, 2015
defe237
Fixed a typo
dominicmcginnis Jul 21, 2015
5eea6c5
Adding in the ads_full_time for tracking
dominicmcginnis Jul 21, 2015
d868026
Updated ads_full_time for formatting
dominicmcginnis Jul 22, 2015
2ca400a
add onload to fix problem in production
Jul 22, 2015
c043265
update method of getting base_url
Nov 5, 2014
758821a
add requirements file
Nov 10, 2014
1b05692
add requirements to setup
Nov 12, 2014
f30c052
add 95th and 99th percentiles
Nov 17, 2014
a0eb909
rename Math to math_helpers
Nov 17, 2014
ea9e4bd
Merge pull request #11 from edx/e0d/upstream-rebase
Mar 1, 2016
2a7f810
Merge pull request #1 from dominicmcginnis/master
h110hawk Mar 4, 2016
54450fa
Merge pull request #3 from edx/master
h110hawk Mar 4, 2016
c9f7136
Merge pull request #4 from CBitLabs/fix/javascript_error_in_harviewer…
h110hawk Mar 4, 2016
0641e6c
Merge pull request #5 from h110hawk/edx
h110hawk Mar 4, 2016
d155a79
Merge branch 'dominicmcginnis-master' into cbitlabs-plus-edx-plus-dom…
h110hawk Mar 4, 2016
32f8514
Merge pull request #7 from h110hawk/cbitlabs-plus-edx-plus-dominicmcg…
h110hawk Mar 4, 2016
c2d478e
Adding Markdown format, lots of general cleanup.
h110hawk Mar 9, 2016
9d28e29
Markdown filename!
h110hawk Mar 9, 2016
5a8892e
Merge pull request #8 from h110hawk/README-cleanup
h110hawk Mar 9, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
*.py[cod]

# C extensions
*.so
Expand All @@ -15,7 +14,6 @@ var
sdist
develop-eggs
.installed.cfg
lib
lib64

# Installer logs
Expand Down
148 changes: 148 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
# Supported platforms
## Test Suite Passes:

Ubuntu 10.04, 11.10
Mint 12
Debian 6.0.3
CentOS 6.2
Windows XP SP3, Windows 7
Supported browsers
Test Suite Passes:

Firefox 3.6, 11.0
Chrome 17.0
Safari 5.1
Opera 11.61
IE 8, 9

### 32-bit limitations
MongoDB uses memory-mapped files. When running on a 32-bit operating system, the total storage size for the server (data, indexes, everything) is 2GB.

If you are running on a 64-bit os, there is virtually no limit to storage size.

Thus 64 bit production deployments are recommended.

# Environment setup
## Debian/Ubuntu/Mint dependencies
Install the following packages as root:

```
apt-get install lib32stdc++6 (for 64-bit OS)
apt-get install python python-cairo python-rsvg python-setuptools
```
```
pip install pylons==1.0
pip install webob==0.9.8
```

### Install and setup your preferred backend, for example MongoDB
`apt-get install mongodb`
`pip install pymongo`


## CentOS dependencies
Install the following packages as root:
```
yum install python pycairo gnome-python2-rsvg python-setuptools
```
```
pip install pylons==1.0
pip install webob==0.9.8
```

### Install and setup your preferred backend, for example MongoDB
`yum install mongodb`
`pip install pymongo`

## Windows dependencies
Install and start MongoDB

Install Python 2.7.2

Don't forget to add Python directories to the system path. For instance:

C:\Python27\;C:\Python27\Scripts;
Install PyGTK bundle (All-in-one)

Install pyrsvg

Install setuptools

Finally run in command prompt:

```
easy_install pylons==1.0
easy_install webob==0.9.8
easy_install pymongo
```

# Installation
Download the latest package. Use `pip install` to install downloaded egg file (root privileges are required):

`pip install harstorage-1.0-py2.7.egg`
Create a skeleton config file for your application instance called production.ini:

`paster make-config "harstorage" production.ini`
After that run the following command, specifying the config file you want to set up, which in this case is production.ini:

`paster setup-app production.ini`
Now you can run HAR Storage using the Paste HTTP server:

`paster serve production.ini`

## Upgrade Notes
In case of upgrade to HAR Storage v0.6 downgrade of WebOb may be necessary:

`pip install webob==0.9.8`
In case of upgrade to HAR Storage v1.0 go to home page (http://localhost:5000/ by default) and wait until the data was migrated.

Also check that you are using exactly Pylons 1.0:

`pip install pylons==1.0`
It really makes sense to backup your test results before upgrade.

## Customization
Once the production.ini file is created, you can customize it for your particular deployment.

## Web server options
host, port - these specify the IP address and port the server should listen on for requests. If you want to serve an application on all interfaces, you will need to change the host option to 0.0.0.0.
MongoDB options
mongo_host - IP address MongoDB database.
mongo_port - port of MongoDB database.
mongo_db - name of database.
mongo_auth - this can be true or false. If true, MongoDB authentication is enabled (false by default).
mongo_user - user name for authentication.
mongo_pswd - password for authentication.

## Debugging
`debug` - this can be true or false. If true, the interactive debugger is enabled to allow you to track down problems (false by default).

## Logging
Sometimes it makes sense to redirect application output to log file using --log-file option:

`paster serve production.ini --log-file production.log`

## Theme
You can also customize chart theme via Preference menu at the top right corner of the browser window.

## Page Speed integration (optional)
There are prepared binaries for two platforms:

Windows x86
Linux x86

In order to create own file you should meet prerequisites for your platfrom.

The next step is installation of depot-tools.

Now you are ready to build Page Speed library. pagespeed_bin or pagespeed_bin.exe is the only required file.

If you want to enable Page Speed integration change permissions of pagespeed_bin file (Linux only):

`chmod +x pagespeed_bin`
and modify configuration file production.ini:

ps_enabled - this can be true or false. If true, Page Speed integration in enabled.
bin_store - this parameter specifies base path to pagespeed_bin executable (by default this option is equal to the directory of configuration file production.ini).

For more information visit - https://code.google.com/p/harstorage/w/list
Loading