Coder Social home page Coder Social logo

chromedevtools / awesome-chrome-devtools Goto Github PK

View Code? Open in Web Editor NEW
5.9K 5.9K 344.0 120 KB

Awesome tooling and resources in the Chrome DevTools & DevTools Protocol ecosystem

Home Page: https://github.com/ChromeDevTools/awesome-chrome-devtools#readme

License: Creative Commons Zero v1.0 Universal

awesome awesome-list

awesome-chrome-devtools's Introduction

Awesome Chrome DevTools Awesome

Awesome tooling and resources in the Chrome DevTools ecosystem

Contents


Learning


DevTools tooling and ecosystem

Object formatting

Network Inspection

  • betwixt - System level network proxy, providing inspection via Network panel.
  • Weer - A HTTP protocol debugger (closed source)

CPU profile

  • call-trace - Can instrument your JS with hooks, and then generate a .cpuprofile of the of the complete (non-sampled) execution. View either time or call counts.
  • cpuprofilify - Converts output of various profiling/sampling tools to the .cpuprofile format.
  • Wishbone python framework - Profiling data can export as .cpuprofile.

Multimedia

  • snapline - Converts timeline screenshots to gif.

Timeline, Tracing & Profiling

Chrome Debugger integration with Editors


Chrome DevTools Protocol

Developing with the protocol

The big two automation libraries

  • Puppeteer - Node.js offering a high-level API to control headless Chrome over the DevTools Protocol. See also awesome-puppeteer.
  • Playwright - Library to automate Chromium, Firefox and WebKit with a single API. Available for Node.js, Python, .Net, Java. See also awesome-playwright.

Libraries for driving the protocol (or a layer above)

Browser Adapters

  • devtools-remote-debugger - Use devtools against a webpage; a CDP agent implemeted in client-side JS.
  • Inspect - Use devtools against iOS and Android, easily. Browser and Webviews. (closed source)

Using DevTools frontend with other platforms

Android

ClojureScript

  • Dirac - Debugging of ClojsureScript.

iOS

  • PonyDebugger - Remote network and data debugging iOS apps with Chrome DevTools.

Node.js

Ruby


DevTools Extensions

Accessibility (A11y)

  • Chromelens - See how your web app will look to people with different types of vision and the path users will travel when tabbing through your page.

Workflow

Themes

Performance

  • sloth - Chrome extension allows to enable and save CPU and network throttling for selected tabs.
  • TracerBench - TracerBench is a controlled performance benchmarking tool for web applications, providing clear, actionable and usable insights into performance deltas.

Automation

  • Puppeteer IDE - Standalone Puppeteer playground in browser's developer tools.

Alumni

Old projects, likely not maintained any longer… But still cool.

awesome-chrome-devtools's People

Contributors

alextrotsenko avatar anzumana avatar arnoldstoba avatar atroche avatar auchenberg avatar bryceosterhaus avatar chazkii avatar christian-bromann avatar denar90 avatar derimagia avatar ecrmnn avatar ergunsh avatar escaton avatar gabiaxel avatar garbee avatar joffrey-bion avatar joseluisq avatar kblok avatar kenshaw avatar muzuiget avatar o0101 avatar paulirish avatar rafaelcastrocouto avatar ritz078 avatar route avatar samccone avatar sidorares avatar spekulatius avatar tonybaroneee avatar umaar 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  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

awesome-chrome-devtools's Issues

Icon meaning in front of the HTTP status code

[Http status code icon]
When we open the developer tool, we can see that there are some icons in front of the http status code in the network panel. For example, there are green solid circles and gray hollow circles in front of 200.
I am wondering why there are multiple icons for the same status code. What do they mean?
I am sorry to ask you for help here, I really need help. Thank you

Rename repo?

Since it is under the ChromeDevTools org we could just call it awesome. That would net us the beautiful https://github.com/ChromeDevTools/awesome URL. ;)

_

_

Comparing performance profiles or ways to measure perf diff of specific changes(CSS)?

I've used WebPageTest on two versions of a website, the difference being the use of the blur filter in CSS on a web page full of images to apply it to.

It's not clear how to identify where these specific changes are occurring in all the profile data(presumably paint events and perhaps GPU). Maybe with several runs for each I'd have some way to compare the averaged profile data to try identify those areas?(I don't think there's a way to query the actual CSS/filter being applied?)

I'm trying to get a PR approved for a project where they raise concerns about blur filters history from over half a decade a go where many articles cited big hits to CPU and battery life on mobile devices.I don't think that is the case anymore, but I'm not able to identify where the relevant profile data is to point them to.

Are there any tools in Chrome for this? I know there used to be some dev tool support that old articles wrote about, but it's since been removed.

Sorry, I'm not sure where to put this project...

I'm serving DevTools frontend out of my own site to instrument remote headless browsers. I had a good long look at the sections in the README but don't know where I would fit in. I'm sure you people here will know best where to put it, but if you don't want to include it that's OK too, everyone likes different things.

[Puppeteer Console](https://pptrconsole.com) - Serving DevTools front-end (for headless cloud browsers) everywhere since 2021

Listen to multiple selections of the same element in the elements panel

In my Google Chrome DevTools Extension I try to listen to the selections in the DevTools panel "Elements". In particular, it should be possible to listen to the selection of the already selected element.

My current implementation method revolves around the function chrome.devtools.panels.elements.onSelectionChanged. The function name already suggests that it is only possible to react to elements that are not currently selected.
Therefore I tried to reset or remove the current selection with the help variable $0, to be able to listen to the same element again - unfortunately without success.

My goal is to somehow listen to every click/selection in the elements panel. In summary, I am looking for an onSelection listener instead of an onSelectonChange listener.

Here's my code I've tried:

chrome.devtools.panels.elements.createSidebarPane(
    "Selector",
    function(sidebar) {
        // It fires if I'm selecting a specific DOM element via the elements panel the first time
        // It won't fire if I'm selecting the same DOM element again
        chrome.devtools.panels.elements.onSelectionChanged.addListener(() => {
            chrome.devtools.inspectedWindow.eval(`(${getSelector})()`,
            selector => {
                console.log(selector)
                // Here I tried to reset the current selection...
                // I've already debugged it: I can assign a value to $0, 
                // but this implies that the value remains constant even 
                // after a new selection.
                chrome.devtools.inspectedWindow.eval('$0 = undefined')
            })
        })
    }
)

I am wondering if there is a way to change the selector programmatically...

Performance Section

Are you folks up for a perf section? spof-o-matic is immediately coming to my mind. :)

Capture Console?

Beginner question:

Is it possible to capture all chrome console messages using javascript?
This would be a stand-alone chrome browser, not headless.
Running inside the same browser-instance-- not a client/remote browser.

What's the simplest, most lightweight solution?

thx!

Devtools cpuprofile parser

Hi,

I've just been looking through your very useful list of tools, I'm just wondering though,
if you've ever come across something to process a cpuprofile file from devtools?

I mean a script that loads the same JSON format as is saved by the Profile tab of devtools and is capable of generating Start time, Self time, Total time, for specific function calls from the cpuprofile file (data which you can normally see in the Event Log of the Profile tab).

Cheers!

A confusion about html parsing in chrome devtools timeline

Hi Paul
Thanks for the tips for using chrome devtools, it offers a great help.
Recently I‘v using the timeline to check my page, I found something confused, I use <script type="text/template"> </script> to hold my underscore template, I found in timeline that it would stop the process of parse Html and trigger recalculate style and layout , in the real browser working process does it really working in that way and too many <script type="text/template"> tags in html affect the performance?

my page is: https://ai.m.taobao.com/
and things happened in line 250 or so

Add Reason of "Recalculate Style"

Hi, thank you for great devtools!

It would be nice to have information about what exact Elements and CSS Properties has been modified and become reason of "Recalculate Style" process
image

This will provide fine grade performance investigation experience)

Is there any backend library?

I want to build a tool to debug scripts that run on my phone remotely.

Right now I am using nodejs as a proxy. My mobile APP sends all logs to nodejs then nodejs echo them with console.log() method so that I could inspect logs using Chrome Devtools Inspector with command node index.js --inspect.

But If I want to send command from Chrome Devtoos back to my app, the proxy way will not be able to do that because I can't get that input.

So is there any library that implement Chrome Devtools Protocol backend can help me with my tools.

I tried to find but all of the libraries are frontend like Chrome Devtools.

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.