Giter VIP home page Giter VIP logo

websocket-monitor's People

Contributors

eliihen avatar fflorent avatar janodvarko avatar jsnajdr avatar lebedev avatar scooooooooby avatar tuukka 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  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

websocket-monitor's Issues

Display payload only size

There should be two sizes displayed at the bottom of both views (table, chat)

  • Total size of bytes transferred
  • Pyload only size

Honza

Proposal for the arrows indicating whether the message comes from the Client or the Server

Currently, there is an arrow that indicates the origin of a message (the client or the server). Here is a message coming from the server :
selection_054

What about making an arrow going downward for a message coming from the server, and an arrow going upward for a message going to the latter ? That would be similar to what we can see with the download / upload icons.

What do you think?

Florent

Support for frame filter

The user should be able to filter content of the WebSockets panel using a simple keyword.

Honza

No context menu

If you go anywhere in the WebSocket panel (being the frames rows, or the details/payload side-panels), when you right-click on some selections, no context menu appears.

Florent

Filter according to WS connection ID

It should be possible to filter the list of frames according to the WS connection ID.

We want to utilize the filter-box and introduce a prefix # that will be used to distinguish WS ID from playin text.

There should also be a popup window (just like in the Debugger panel) listing all options and teaching the user how to use it.

Honza

side panel not resizable

Depending on the socket ID i am monitoring, the side panel (details/payload) is not resizable (and it's default size is ridiculous) :
image
My guess is that it's because I have a "Connected to:" line that is just too long. It's the most noticeable difference between the two Socket IDs.
here is what I have when I select the other socket ID :
image

WS network panel filter

In order to find new HTTP websockets upgrade requests, there should be a new filter.

Honza

WAMP support

I think it could be cool to add WAMP support, similarly to Socket.IO support and SockJS support.

WAMP is an open standard WebSocket subprotocol that provides messaging patterns of remote procedure calls and publish subscribe. WAMP has implementations in various languages and is becoming more popular.

I'd love to have support for this.

cc: @oberstet

Pause and unpause

It should be possible to pause and unpause the incoming stream of frames, so the user can focus on particular frame in the list without being distracted by constant panel content scrolling.

Honza

Filter frames

Another feedback I've got says that it would be useful to filter the frame list and display only those that represents actual user messages. This would make easier to follow e.g. Socket IO traffic, which is constantly sending ping/pong frames.

Honza

Docs for contributors

To make it easier for contributors we need a doc that describes how to get and run the extension.
Honza

Add-on signing

Using Firefox 45+ requires add-ons to be signed.

I know there is a way to counter that requirement, but any idea of if/when a signed version of this great add-on will be available?

Tks.

Easy navigation from the Network panel

HTTP requests that initiate WS connections (upgrade) should have a little icon that can be used (clicked) to navigate the user into the WebSockets panel.

Honza

Some messages not picked up

Hi Jan. Nice work with this extension, keep up the good work!

It seems websocket-monitor has issues with some messages. My company produces many pages that stream market data, and the first thing the client does after getting upgraded to WS is send a subscribe string with the data that component would like to receive. In my tests, this client does not pick up these subscribe strings at all.

Steps to reproduce

In Chrome, the strings show in green as subscribe?.... In websocket-monotor, they do not show, only the later response from server to this subscribe string shows up.

WS-monitor 0.4.1 Firefox 45.0a1 (2015-11-20) Fedora Linux

Use proper icon

WebSocket Monitor should use proper icon for:

  • the extension itself
  • the Toolbox panel

Should be the same icons supporting the following sizes:
16x16
32x32

Honza

Make links in previews clickable

What

This is feature request to make link strings be rendered as clickable links that open in new tabs. This mainly refers to the details side panel, but could also refer to links rendered in the inline previews (#5).

Why

When we work with web sockets at work, we often send metadata relating to the connection in meta frames to the client. These meta frames sometimes contain URLs with more details about the client's subscription. It would be useful if these could be rendered as links, and not have to be copied and pasted.

I suspect this will require some work in the TreeView component - making it render an <a> instead of a <span> when it detects something that looks like a link, as well as using the tabs API to open a new tab with this link.

What do you think?

screenshot_20160225_183006

websocket panel blank

hey,
first of all - the test page (http://janodvarko.cz/test/websockets/) works perfectly.
in a site I am developing, the websocket panel is just blank.
My socket is using wss (secure websocket), and I tried canceling it, but that did not resolve the issue.
My socket is also not using a standard port, may that be the issue?
I also thought that different domains in the client and the socket could be an issue, but the test page also has a different domain.

Screenshot

Empty pannel in nightly since 2016-02-29

HI

I'm a user of your wonderful extension. But since the 2016-02-29, the pannel is empty.

I used mozregression to find the exact firefox version where it stopped working, and I came to this changeset: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=5e0140b6d11821e0c2a2de25bc5431783f03380a&tochange=4972f77869de55becd41d6b726b25fca2f523232

I'm not able to help you with that, just wanted to let you know.

Good luck and thanks for your amazing work.

Below, the log of mozregression (http://mozilla.github.io/mozregression/):

(mozregression) twidi:~$ mozregression --good 2016-02-25
 0:00.48 INFO: No 'bad' option specified, using 2016-03-01
 0:06.01 INFO: Testing good and bad builds to ensure that they are really good and bad...
 0:06.01 INFO: Downloading build from: https://archive.mozilla.org/pub/firefox/nightly/2016/02/2016-02-25-03-02-09-mozilla-central/firefox-47.0a1.en-US.linux-x86_64.tar.bz2
===== Downloaded 100% =====
 0:51.46 INFO: Running mozilla-central build for 2016-02-25
 1:03.49 INFO: Launching /tmp/user/1001/tmpmCI6Xj/firefox/firefox
 1:03.49 INFO: application_buildid: 20160225030209
 1:03.49 INFO: application_changeset: c1e0d1890cfee9d86c8d566b0490053f21e0afc6
 1:03.49 INFO: application_name: Firefox
 1:03.49 INFO: application_repository: https://hg.mozilla.org/mozilla-central
 1:03.49 INFO: application_version: 47.0a1
Was this nightly build good, bad, or broken? (type 'good', 'bad', 'skip', 'retry' or 'exit' and press Enter): good
 1:54.30 INFO: Using local file: /home/twidi/.mozilla/mozregression/persist/2016-03-01--mozilla-central--firefox-47.0a1.en-US.linux-x86_64.tar.bz2 (downloaded in background)
 1:54.30 INFO: Running mozilla-central build for 2016-03-01
 2:06.14 INFO: Launching /tmp/user/1001/tmp1w7fck/firefox/firefox
 2:06.15 INFO: application_buildid: 20160301030237
 2:06.15 INFO: application_changeset: 8ef94be995a453f5c464278c53478ba8c8554f81
 2:06.15 INFO: application_name: Firefox
 2:06.15 INFO: application_repository: https://hg.mozilla.org/mozilla-central
 2:06.15 INFO: application_version: 47.0a1
Was this nightly build good, bad, or broken? (type 'good', 'bad', 'skip', 'retry' or 'exit' and press Enter): bad
 3:55.22 INFO: Good and bad builds are correct. Let's continue the bisection.
 3:55.22 INFO: Pushlog:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=c1e0d1890cfee9d86c8d566b0490053f21e0afc6&tochange=8ef94be995a453f5c464278c53478ba8c8554f81

 3:55.22 INFO: Using local file: /home/twidi/.mozilla/mozregression/persist/2016-02-28--mozilla-central--firefox-47.0a1.en-US.linux-x86_64.tar.bz2 (downloaded in background)
 3:55.22 INFO: Running mozilla-central build for 2016-02-28
 4:07.66 INFO: Launching /tmp/user/1001/tmpDzChNr/firefox/firefox
 4:07.66 INFO: application_buildid: 20160228030239
 4:07.66 INFO: application_changeset: 5e0140b6d11821e0c2a2de25bc5431783f03380a
 4:07.66 INFO: application_name: Firefox
 4:07.66 INFO: application_repository: https://hg.mozilla.org/mozilla-central
 4:07.66 INFO: application_version: 47.0a1
Was this nightly build good, bad, or broken? (type 'good', 'bad', 'skip', 'retry' or 'exit' and press Enter): good
 5:50.12 INFO: Narrowed nightly regression window from [2016-02-25, 2016-03-01] (5 days) to [2016-02-28, 2016-03-01] (2 days) (~1 steps left)
 5:50.12 INFO: Pushlog:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=5e0140b6d11821e0c2a2de25bc5431783f03380a&tochange=8ef94be995a453f5c464278c53478ba8c8554f81

 5:50.12 INFO: Using local file: /home/twidi/.mozilla/mozregression/persist/2016-02-29--mozilla-central--firefox-47.0a1.en-US.linux-x86_64.tar.bz2 (downloaded in background)
 5:50.12 INFO: Running mozilla-central build for 2016-02-29
 6:01.85 INFO: Launching /tmp/user/1001/tmpTGQ3kz/firefox/firefox
 6:01.86 INFO: application_buildid: 20160229030448
 6:01.86 INFO: application_changeset: 9da51cb4974e03cdd8fa45a34086fe1033abfeaf
 6:01.86 INFO: application_name: Firefox
 6:01.86 INFO: application_repository: https://hg.mozilla.org/mozilla-central
 6:01.86 INFO: application_version: 47.0a1
Was this nightly build good, bad, or broken? (type 'good', 'bad', 'skip', 'retry', 'back' or 'exit' and press Enter): bad
 7:51.39 INFO: Narrowed nightly regression window from [2016-02-28, 2016-03-01] (2 days) to [2016-02-28, 2016-02-29] (1 days) (~0 steps left)
 7:51.39 INFO: Got as far as we can go bisecting nightlies...
 7:51.39 INFO: Last good revision: 5e0140b6d11821e0c2a2de25bc5431783f03380a (2016-02-28)
 7:51.39 INFO: First bad revision: 9da51cb4974e03cdd8fa45a34086fe1033abfeaf (2016-02-29)
 7:51.39 INFO: Pushlog:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=5e0140b6d11821e0c2a2de25bc5431783f03380a&tochange=9da51cb4974e03cdd8fa45a34086fe1033abfeaf

 7:51.39 INFO: Switching bisection method to taskcluster
 7:51.39 INFO: Getting mozilla-central builds between 5e0140b6d11821e0c2a2de25bc5431783f03380a and 9da51cb4974e03cdd8fa45a34086fe1033abfeaf
 7:58.68 INFO: Pushlog:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=5e0140b6d11821e0c2a2de25bc5431783f03380a&tochange=9da51cb4974e03cdd8fa45a34086fe1033abfeaf

 7:58.68 INFO: Downloading build from: https://queue.taskcluster.net/v1/task/YlN4fQ56SQShul-Wnsjzzg/runs/0/artifacts/public%2Fbuild%2Ffirefox-47.0a1.en-US.linux-x86_64.tar.bz2
===== Downloaded 100% =====
 8:39.87 INFO: Running mozilla-central build built on 2016-02-29 11:31:48.462000, revision 4972f778
 8:52.13 INFO: Launching /tmp/user/1001/tmpcpSTS_/firefox/firefox
 8:52.14 INFO: application_buildid: 20160229021614
 8:52.14 INFO: application_changeset: 4972f77869de55becd41d6b726b25fca2f523232
 8:52.14 INFO: application_name: Firefox
 8:52.14 INFO: application_repository: https://hg.mozilla.org/mozilla-central
 8:52.14 INFO: application_version: 47.0a1
Was this inbound build good, bad, or broken? (type 'good', 'bad', 'skip', 'retry' or 'exit' and press Enter): bad
10:03.72 INFO: Narrowed inbound regression window from [5e0140b6, 9da51cb4] (3 revisions) to [5e0140b6, 4972f778] (2 revisions) (~1 steps left)
10:03.72 INFO: Oh noes, no (more) inbound revisions :(
10:03.72 INFO: Last good revision: 5e0140b6d11821e0c2a2de25bc5431783f03380a
10:03.72 INFO: First bad revision: 4972f77869de55becd41d6b726b25fca2f523232
10:03.72 INFO: Pushlog:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=5e0140b6d11821e0c2a2de25bc5431783f03380a&tochange=4972f77869de55becd41d6b726b25fca2f523232

Implement "modify and resend"

Like in the Network panel, the "modify and resend" feature would be quite useful in order to interact with the server directly (and to debug it). The feature would be available for the outgoing messages only.

Florent

Display summary info

The list of frames should display summary info at the bottom

  • total number of requests
  • total payload size
  • total time (since the first request to the last one)

Honza

Support for chat UI

The other option how to display a list of frames is using "chat" kind of UI. Just like the RDP Inspector does.

See a screenshot here:
https://github.com/firebug/rdp-inspector/wiki

Switching between tabular and chat view could be done through an option displayed in the tab-menu, but it's only available in Firebug theme.

Honza

Support auto-scroll at the bottom

When following constant stream of frames it's useful to have the panel always scrolled at the bottom to see the last incoming packet.

Honza

Correlate WAMP messages

Phase II: now we have decoded WAMP messages, we would like to see correlated messages together. We have some messages that are actually "request-response", some of those include

  • SUBSCRIBE => SUBSCRIBED (by request parameter), ERROR (by type = SUBSCRIBE and request parameter)
  • REGISTER => REGISTERED (by request parameter), ERROR (by type = REGISTER and request parameter)
  • CALL => RESULT (by request parameter), ERROR (by type = CALL and request parameter)
  • PUBLISH => PUBLISHED (by request parameter), ERROR (by type = PUBLISH and request parameter)
  • UNSUBSCRIBE => UNSUBSCRIBED (by request parameter), ERROR (by type = UNSUBSCRIBE and subscription request)
  • UNREGISTER => UNREGISTERED (by request parameter), ERROR (by type = UNREGISTER and request parameter)

I think it can be cool to display this somehow similarly to browser HTTP request/response.

Elad

Show only user payload

It could be useful if the inline payload preview shows only actual user data. So, in case of Socket IO it would show only the 'data' field. I believe (according to a feedback I've got) that dev folks are mostly interested in the real data they are sending over the wire (not in the garbage appended by Socket IO)

This would require specific support for every protocol. But perhaps we can start with Socket IO and see how it works...

Thoughts?

Honza

Inline previews for payload

If the payload data can be parsed they could be displayed in a form of an expandable tree inline within the frame table.

Honza

No Web Socket toolbox

I installed the extension, but when I open up the debugger window, there is no web socket toolbox. FF version is 47.0.1.
ff-websocket-monitorpng

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.