Code Monkey home page Code Monkey logo

augury-labs's People

Contributors

andrewthauer avatar egervari avatar feeloor avatar mascarenhas avatar santiago-elustondo avatar stevenkampen 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

augury-labs's Issues

Support lazy loaded modules

Lazy loaded modules cannot currently be profiled due to how augury-labs wraps the angular boostrap process on startup and looks for metadata in the registered modules. The same metadata / bootstrap process will need to also occur when a module is first loaded.

Augury for React

Looks to me like the core framework is pretty framework-agnostic and could be used to debug React apps with little changes, particularly the bootstrapping part.

The probes and the plugins are Angular specific and for React, we would need to write new ones, but the dispatch bus should work as is.

I would like to use this to debug my React app. For example I like to know which of my components are re-rendering, how many times and why are they re-rendering.
I could take a go at it to support debugging React apps using Augury?

Augury Labs bootstrap failure

On https://github.com/gdgtc/devfest/:

Error after setting it up in main.augury.ts and angular.json:

Uncaught TypeError: Cannot read property '0' of undefined
    at Object.push../node_modules/@augury/core/dist/probes/shared-helpers/ng-module/index.js.exports.getAnnotationsFromModule.module [as getAnnotationsFromModule] (index.js:13)
    at Object.push../node_modules/@augury/core/dist/probes/shared-helpers/ng-module/index.js.exports.getImportedModulesFromModule.module [as getImportedModulesFromModule] (index.js:22)
    at reduce (index.js:23)
    at Array.reduce (<anonymous>)
    at Object.push../node_modules/@augury/core/dist/probes/shared-helpers/ng-module/index.js.exports.getImportedModulesFromModule.module [as getImportedModulesFromModule] (index.js:23)
    at reduce (index.js:23)
    at Array.reduce (<anonymous>)
    at Object.push../node_modules/@augury/core/dist/probes/shared-helpers/ng-module/index.js.exports.getImportedModulesFromModule.module [as getImportedModulesFromModule] (index.js:23)
    at reduce (index.js:23)
    at Array.reduce (<anonymous>)

Augury impact is excessive when using the Performance Profiler plugin.

Problem:
When looking at the timeline, it's clear that Augury's impact when collecting data is too large.
Augury's CPU usage is many times that of the example app. When using Augury to profile an app with performance issues, it makes the application freeze.

The core is quite lean, and the UI uses a timed repaint strategy to avoid repainting every time it gets new data.

Possible bottleneck:
performance-profiler-plugin does some pretty heavy tree traversals every time it gets new data (which happens extremely often). These could probably be optimized or avoided.

Thoughts?

Option for opening Augury Labs outside a pop up window

Is your feature request related to a problem? Please describe.
Pop up windows are blocked on certain restrictive setups and security concerns block my ability to allow a pop up in order to allow Augury Labs to run.

Describe the solution you'd like
Add option that can be passed to open Augury labs some other way, maybe a link provided when the build is run in the terminal rather than automatically opening a popup.

Support for Angular 9

At install time:

> ng add @augury/schematics
warning " > @augury/[email protected]" has unmet peer dependency "@angular-devkit/core@~7.3.7".
warning " > @augury/[email protected]" has unmet peer dependency "@angular-devkit/schematics@~7.3.7".
warning " > @augury/[email protected]" has unmet peer dependency "@schematics/angular@^7.3.7".

At runtime:

compiler.js:21563 Uncaught Error: No NgModule metadata found for 'AppModule'.
    at NgModuleResolver.resolve (compiler.js:21563)
    at CompileMetadataResolver.getNgModuleMetadata (compiler.js:20688)
    at JitCompiler._loadModules (compiler.js:26460)
    at JitCompiler._compileModuleAndComponents (compiler.js:26443)
    at JitCompiler.compileModuleAsync (compiler.js:26405)
    at CompilerImpl.compileModuleAsync (platform-browser-dynamic.js:224)
    at compileNgModuleFactory__PRE_R3__ (core.js:41348)
    at PlatformRef.bootstrapModule (core.js:41725)
    at auguryBootstrap (augury-bootstrap.function.js:6)
    at Module../src/main.ts (main.ts:9)

Is this project dead?

In the past 7 months, no code changes have been made, no PRs have been merged, and no issues have been touched.

It would be nice to update this to work with Ivy and the latest Angular. If you guys don't plan on supporting it, please say so and your users can move on.

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.