Report to New Relic certain per-request details about the
DjangoXBlockUserStateClient. The following metrics are reported for the
get_many() call:
xb_user_state.get_many.calls
xb_user_state.get_many.duration
xb_user_state.get_many.blocks_requested
xb_user_state.get_many.blocks_out
xb_user_state.get_many.size
xb_user_state.get_many.<block_type>.blocks_requested
xb_user_state.get_many.<block_type>.blocks_out
xb_user_state.get_many.<block_type>.size
Similarly, for the set_many() call:
xb_user_state.set_many.calls
xb_user_state.set_many.duration
xb_user_state.set_many.blocks_created
xb_user_state.set_many.blocks_updated
xb_user_state.set_many.size
xb_user_state.set_many.<block_type>.blocks_created
xb_user_state.set_many.<block_type>.blocks_updated
xb_user_state.set_many.<block_type>.size
Where <block_type> is one of "chapter", "course", "problem", "video",
etc.
PERF-354
Use this middleware and its helpers to accumulate custom New Relic
metrics on a per-request basis. If, while handling a request, the app
does not accumulate any metrics, this middleware is a very lightweight
no-op.
This commit also enables the middleware!
PERF-354
This adds ability to refresh the list of uploaded videos without refreshing the whole page.
Added a refresh button that when clicked:
- fetches a fresh list of uploaded files from the server
- updates `PreviousVideoUploadListView`
- removes the successfully completed uploads from `ActiveVideoUploadListView`
- retains the ongoing or failed uploads in `ActiveVideoUploadListView` so that they can be monitored/retried
The view can also be refreshed without user action, but I felt it may be less surprising to have a button instead.
MA-333 update: auto-refresh list, fix test failure
Changes:
1. Refresh of file list triggered by upload completion. Refresh button retained and label changed to "Refresh List".
2. Added `aria-live="polite"` to `.active-video-upload-list` and `.assets-table`.
3. Removed unused parameter `evt`.
4. Added self to the `AUTHORS` file.
MA-333 update: added tests
MA-333 update: removed refresh button
MA-333 update: address review comments of @mushtaqak
MA-333 update: simplify nested `_each`
MA-333 update: rename viewRefresh to isViewRefresh
MA-333 update: doc string for `clearSuccesful`
MA-333 update: fix accessibility
MA-333 update: update only successfully uploaded videos
MA-333 update: use window.SR feature to notify screen readers that video upload was successful (@pomegranited)
* visit() already does a wait_for_page()
* wait_for_page() already asserts on is_browser_on_page(), as it will raise a BrokenPromise after polling
* don't use is_browser_on_page() in an assertion unless you are 100% certain you're already on the page
* if an action takes you to another page, synchronize with a wait_for_page() for that new page