GithubHelp home page GithubHelp logo

mozilla / telemetry-dashboard Goto Github PK

View Code? Open in Web Editor NEW
89.0 40.0 112.0 10.21 MB

Web-frontend for aggregated telemetry data

Home Page: telemetry.mozilla.org

License: Other

CSS 4.54% JavaScript 86.82% HTML 8.64%

telemetry-dashboard's Introduction

Telemetry Dashboard

This repository contains the source code for telemetry.mozilla.org. The dashboards on this site can be used for everything from checking measure values to figuring out common causes of Firefox hangs.

The main dashboards on telemetry.mozilla.org consume data from Telemetry's backend using Telemetry.js.

This repository also contains the source code for Telemetry.js. The specific files can be found under the v2/ directory.

Deploying Telemetry Dashboard

The telemetry.mozilla.org site is hosted in Github Pages, so it may also be accessed via mozilla.github.io/telemetry-dashboard. In front of Github Pages, there is also a GCP CDN (managed by DSRE).

Updates to the gh-pages branch (also the default branch) will be reflected on telemetry.mozilla.org after a few moments.

Using Telemetry.js

Check out the documentation!

Adding Telemetry Probes

See this MDN article, which outlines the process and details for adding new Telemetry probes to Firefox which can be used with the dashboards.

For setting histogram properties, make sure to check out the histogram simulator, which might help with designing histograms that fit the expected data well.

Contributing to the Telemetry Dashboard

This project is entirely open source, and licensed under the MPL to boot. Contributions welcome!

Getting started

Looking for some task to get started on? Check the list of mentored issues. If you're unsure what to choose, just get in touch.

Communication happens mostly on Github in the comments for issues or pull requests, but we're also active in IRC in #tmo on irc.mozilla.org.

Working on the dashboard

A local webserver is really helpful for running a version of the site on the same machine you're developing on.

  • This can be done as follows (requires Python):

        cd /PATH_TO_REPOSITORY_ROOT
        python -m http.server
        # now visit localhost:8000 in your browser to see the page
    
  • It can also be done with NPM:

        cd /PATH_TO_REPOSITORY_ROOT
        npm install http-server -g
        # now visit localhost:8080 in your browser to see the page
    

Shortlink buttons (in the top right hand corner of the main dashboards) will not work when running the site on local servers. This is because they are shortened with bit.ly, which doesn't allow local links.

Submitting pull requests for the dashboard

For pull requests, it is recommended that you set up a live site hosting your branch. This makes it a lot easier for reviewers to check out the changes.

GitHub Pages is great for this, you can enable this in your forked repository under "Settings", "Github pages" and then share the link in your pull requests comments. The Github help pages have more information.

If you need more than one test site up at a time, try Divshot, a static website hosting service.

Working on Telemetry.js

Telemetry.js (both versions) is pretty straightforward to work on. However, note that sites that use Telemetry.js generally hotlink to the source files - make sure to preserve API backwards compatibility wherever possible.

telemetry-dashboard's People

Contributors

ab0092 avatar acmiyaguchi avatar adrian17 avatar badboy avatar benbrittain avatar bsmedberg avatar chutten avatar ddurst avatar dexterp37 avatar ecomerford avatar fbertsch avatar georgf avatar insiyaa avatar irvingreid avatar jklukas avatar jonasfj avatar lonnen avatar mnoorenberghe avatar mreid-moz avatar o0ignition0o avatar raluca-elena avatar robhudson avatar sapohl avatar shreya99oak avatar squarewave avatar sylvia23 avatar uberi avatar vdjeric avatar vitillo avatar wlach avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

telemetry-dashboard's Issues

CORS request blocked

Bug in Histogram table-view

Go to http://bit.ly/1LileQP and select between "Sanitize" and "Don't sanitize".

First 2 table rows with "Sanitize":

Start End Windows Vista Count Windows 8.1 Count Windows 7 Count Windows 10 Count
1 22 568.66k 1.18M 817.7k 98.15k

First 2 table rows with "Don't sanitize":

Start End Windows Vista Count Windows 8.1 Count Windows 7 Count Windows 10 Count Windows 8 Count
1 22 4.09k 568.66k 1.18M 817.7k 98.15k

Note how the last column is no longer "Windows 10 count" and is instead "Windows 8 count", but the sample count in the last column is unchanged?

Keyed histogram shown as unkeyed

The version selector text box should always be blank when opened

STR:

  1. Type some text in the histogram name text box (in any view), select a histogram
  2. Open the histogram name box again

Expected: The histogram name text box should be empty and showing all selectable options
Actual: The currently selected histogram name is in the textbox and the suggestion (options) list is empty, text box needs to be cleared first

Change "data missing" message

Change the "Data currently missing or unavailable" string to "No data matching these filters and settings". And suggest "Turn off data sanitization in Advanced Settings?" if sanitization is enabled

Remove "Select All" option from some filters

The product + arch + e10s + process type filters don't need a "select all" option. It just makes it more confusing to select or unselect items. They should be regular checklists

Don't use a modal progress overlay

A modal progress overlay (with the gear) is quite a bad UX (which the Pentaho dashboard also used to have) as it makes me suffer and wait while I may want to change parameters or after accidentally clicking the wrong probe name.

Security warning

on http://bit.ly/1KwpOYO , probably related to Disqus

"Password fields present on an insecure (http://) page. This is a security risk that allows user login credentials to be stolen.[Learn More]"

Modal (evo) progress indicator doesn't go away/notify upon fatal error

http://aggregates.telemetry.mozilla.org/aggregates_by/build_id/channels/nightly/?version=42&dates=20150813%2C20150811%2C20150810%2C20150809%2C20150808%2C20150807%2C20150806%2C20150805%2C20150804%2C20150803%2C20150802%2C20150801%2C20150731%2C20150730%2C20150729%2C20150728%2C20150727%2C20150726%2C20150725%2C20150724%2C20150723%2C20150722%2C20150721%2C20150720%2C20150719%2C20150718%2C20150717%2C20150716%2C20150715%2C20150714%2C20150713%2C20150712%2C20150711%2C20150710%2C20150709%2C20150708%2C20150707%2C20150706%2C20150705%2C20150704%2C20150703%2C20150702%2C20150701%2C20150630%2C20150629&metric=GHOST_WINDOWS&application=Firefox
HTTP/1.1 504 GATEWAY_TIMEOUT

uncaught exception: Could not obtain evolution: status 0 (http://aggregates.telemetry.mozilla.org/aggregates_by/build_id/channels/nightly/?version=42&dates=20150813%2C20150811%2C20150810%2C20150809%2C20150808%2C20150807%2C20150806%2C20150805%2C20150804%2C20150803%2C20150802%2C20150801%2C20150731%2C20150730%2C20150729%2C20150728%2C20150727%2C20150726%2C20150725%2C20150724%2C20150723%2C20150722%2C20150721%2C20150720%2C20150719%2C20150718%2C20150717%2C20150716%2C20150715%2C20150714%2C20150713%2C20150712%2C20150711%2C20150710%2C20150709%2C20150708%2C20150707%2C20150706%2C20150705%2C20150704%2C20150703%2C20150702%2C20150701%2C20150630%2C20150629&metric=GHOST_WINDOWS&application=Firefox)

The gear kept spinning indefinitely and wouldn't allow retrying, changing parameters or reloading the page (as the page doesn't seem to keep state and would reset to default values; filing a separate issue on this)

Probe selector loses its filter upon re-opening

When I re-open the probe dropdown after having selected a new probe, the popup initially opens with the list pre-filtered or at least scrolled but then switches to a unfiltered view from the top. Ideally the filter the should be remembered since one normally wants to look at related probes e.g. all PWMGR_ ones

I think this may be a regression since I don't think this happened a month ago.

telemetry_dash_filter_revert

$checkbox is undefined bootstrap-multiselect.js:729:20 when aggregates are selected that don't exist for a probe

STR:

  1. Load a probe that allows you to choose only Mean/Median/etc. (not just the submission count) e.g. PWMGR_NUM_SAVED_PASSWORDS.
  2. Uncheck some of the checkboxes of data to see on the graph e.g. only leave submissions, mean and median. The url parameter updates to include &aggregates=Submissions!Mean!median
  3. Switch to a probe that doesn't let you graph Mean/Median e.g. A11Y_CONSUMERS

Expected result:
The URL should update to indicate the selected probe name (e.g. A11Y_CONSUMERS) and the histogram should update.

Actual result:
A JS error occurs: TypeError: $checkbox is undefined bootstrap-multiselect.js:729:20
The URL doesn't update.
The histogram doesn't update (still shows the data from the last probe).

Showing the wrong histogram for a probe is a big problem if decisions are getting made based on the data.

Telemetry Dashboard no longer supports Thunderbird

The telemetry dashboard seems to no longer support viewing Thunderbird application details. It used to when Metrics ran it on their server.

AFAICT there's now no longer a way to view Thunderbird stats, so I can't even tell if they are being sent & received or not :-(

Boolean evolution graph should plot the proportion over time

Thanks for working on boolean and enumerated evolution!

Looking at PWMGR_SAVING_ENABLED (boolean) in the evolution view, the obvious thing I would want to see is the proportion of true vs. false over time. Instead I get a mean plotted with a consistent value of 1.01. How am I supposed to interpret this graph? The histogram for beta 40 shows as 95.79/4.21 split.

Boolean pie chart labels are inverted

For PWMGR_SAVING_ENABLED on Beta 40:
Start End Count
0 1 1.55M (4.21%)
1 2 35.24M (95.79%)

Where 0 is false as (one would normally expect) yet the pie graph tells the opposite story saying that 95.79% have password saving disabled.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.