All Projects → rangle → Augury Labs

rangle / Augury Labs

Licence: mit
Experimental Angular developer tools

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Augury Labs

Wtrace
Command line tracing tool for Windows, based on ETW.
Stars: ✭ 563 (+511.96%)
Mutual labels:  profiling
Echo Pprof
echo-pprof is a wrapper for golang web framework echo to use net/http/pprof easily.
Stars: ✭ 40 (-56.52%)
Mutual labels:  profiling
Llvm Heat Printer
LLVM Profiling Visualization
Stars: ✭ 68 (-26.09%)
Mutual labels:  profiling
Redis Memory Analyzer
Redis memory profiler to find the RAM bottlenecks throw scaning key space in real time and aggregate RAM usage statistic by patterns.
Stars: ✭ 591 (+542.39%)
Mutual labels:  profiling
Likwid
Performance monitoring and benchmarking suite
Stars: ✭ 957 (+940.22%)
Mutual labels:  profiling
Jsbench Me
jsbench.me - JavaScript performance benchmarking playground
Stars: ✭ 50 (-45.65%)
Mutual labels:  profiling
Austin
Python frame stack sampler for CPython
Stars: ✭ 547 (+494.57%)
Mutual labels:  profiling
Training Material
A collection of code examples as well as presentations for training purposes
Stars: ✭ 85 (-7.61%)
Mutual labels:  profiling
Scalopus
A tracing framework for C++ and Python.
Stars: ✭ 41 (-55.43%)
Mutual labels:  profiling
Mthawkeye
Profiling / Debugging assist tools for iOS. (Memory Leak, OOM, ANR, Hard Stalling, Network, OpenGL, Time Profile ...)
Stars: ✭ 1,119 (+1116.3%)
Mutual labels:  profiling
Viztracer
VizTracer is a low-overhead logging/debugging/profiling tool that can trace and visualize your python code execution.
Stars: ✭ 874 (+850%)
Mutual labels:  profiling
Py Spy
Sampling profiler for Python programs
Stars: ✭ 7,709 (+8279.35%)
Mutual labels:  profiling
Observer cli
Visualize Erlang/Elixir Nodes On The Command Line
Stars: ✭ 1,058 (+1050%)
Mutual labels:  profiling
Conprof
Continuous profiling for performance analysis of CPU, memory over time.
Stars: ✭ 571 (+520.65%)
Mutual labels:  profiling
Test Prof
Ruby Tests Profiling Toolbox
Stars: ✭ 1,193 (+1196.74%)
Mutual labels:  profiling
Go Profiler Notes
felixge's notes on the various go profiling methods that are available.
Stars: ✭ 525 (+470.65%)
Mutual labels:  profiling
Etrace
Emacs Lisp Latency Tracing for the Chromium Catapult Trace Event Format
Stars: ✭ 45 (-51.09%)
Mutual labels:  profiling
Karma Benchmark
A Karma plugin to run Benchmark.js over multiple browsers with CI compatible output.
Stars: ✭ 88 (-4.35%)
Mutual labels:  profiling
Statprofilerhtml.jl
Show Julia profiling data in an explorable HTML page
Stars: ✭ 83 (-9.78%)
Mutual labels:  profiling
Importtime Waterfall
Generate waterfalls from `-Ximporttime` tracing.
Stars: ✭ 58 (-36.96%)
Mutual labels:  profiling

Augury Labs

Augury Labs is a project that provides developers with experimental tools and an instrumentation framework used to profile, inspect and troubleshoot Angular applications.

CircleCI PRs Welcome GitHub License Slack Status lerna

Angular Performance Profiler

About

Augury Labs is a new instrumentation & inspection framework for Angular applications that allows for easy installation of specialized developer tools. We have recently released the Performance Profiler Plugin, which can help you tune the performance of your applications by providing insights into the following:

  • Details of Angular change detection & instability periods
  • When zone.js tasks occur and what triggered them
  • Component tree details for each instability period (structure, added, removed, etc.)
  • When and how long change detection took with a breakdown for individual components
  • A detailed timeline to illustrate and explore correlations

After installing and configuring the npm packages, you can run your app while augury-labs collects raw data about the runtime characteristics of your application. This raw data is then processed into more meaningful information that you can explore to gain valuable insights into your applications runtime behaviour.

In the spirit of the Augury DevTool Extension we set out to help Angular developers better understand how their applications are running and provide insights into how they can make them better. Augury labs is a culmination of these idea and distrubted as a set of npm packages & plugin system. We hope you find it useful!

For more information about how this works, please read the architecture guide.

NOTE: This tool is still experimental. Feedback is greatly appreciated 😄

Packages

  • @augury/core - The main package responsible for collecting raw data and communicating with registered plugins. Also contains the core bootstrap procedure that injects the instrumentation code into your application.
  • @augury/performance-profiler-plugin - Opens a popup window dashboard, displaying the execution of your app as a timeline graph, showing the interaction between Zone.js tasks, Angular's stability cycles & change detection.

Installation

To setup augury-labs in your application you have two alternatives.

NOTE: The following assumes your application is a standard Angular CLI setup.

Using the Angular CLI ng add command will install the correct dependencies, perform the necessary configuration and execute initialization code.

ng add @augury/schematics

DISCLAIMER: This assumes your application are using the Angular Devkit 6+

To setup and install Augury manually, follow the manual installation.

Guides

Examples

Other Experiments

Here are some other unpublished experimental plugins:

  • Unit Tester - Proof of concept which allows programmatic access to @augury/core to be used in e2e tests. This could be used to check for acceptable thresholds of runtime behaviour in specific areas of your application.

Have other ideas? See our CONTRIBUTING guide.

Troubleshooting

If your having trouble running augury-labs, please submit a GitHub Issue.

Known Issues

  • Lazy loaded modules cannot currently be instrumented due to how augury-labs wraps the Angular boostrap process. See GitHub Issue.

  • Large component trees can cause some performance issues. We are looking into ways to mitigate this. You can use the start & pause recording buttons on the specific areas you would like to profile. This will help reduce the performance impact to shorter profiling periods.

  • Because the bootstrap code in this main.augury.ts file is different from Angular's bootstrap code you may need to tell the Angular CLI builder where is the main module of your application, adding a "entryModule": "./app/app.module#AppModule" to the "angularCompilerOptions" object of your application's tsconfig.json file. Replace the path and name of the module if you changed it from the defaults.

Contributing

We'd love to have your helping hand on augury-labs! See CONTRIBUTING.md for more information on what we're looking for and how to get started.

License

Augury Labs is open source software licensed as MIT.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].