Giter Club home page Giter Club logo

debuguy's Introduction

debuguy

Build Status

An unintrusive log analysis/debugging/profiling tool

Demo

TBC

Getting Started

If you want to use debuguy right away

Install with cli command

$ npm install -g debuguy
$ debuguy --help
$ debuguy --version
# parse javascript sources and replace debuguy comments with console.log
$ debuguy parse ./scripts ./debug
# launch debuguy local profiling report server
$ adb logcat | debuguy profile

Documentation

At build time debuguy parses comments of a predefined format and replace them with console.log expressions. These console.log are passed to a HTML reporter at run time to generate an activity diagram.

The comment format to be specified in javascript source file is:

/* debuguy: tag('<TAG_NAME>') */

The <TAG_NAME> is a customizable tag that you'd like to mark any specific checkpoint in your javascript source code. It could be either taskA or taskA.childA, the debuguy reporter will generate the report according to the hierachy of the tags.

Run debuguy parse to replace debuguy comments with console.log expressions.

$ debuguy parse <SOURCE_DIR> <OUTPUT_DIR>

Run debuguy profile to generate profiling report from a standard input stream.

$ <STREAM> | debuguy profile

Then by navigating to http://127.0.0.1:8000 you could see the report generated by debuguy.

Examples

Parsing and replacing debuguy comments:

$ debuguy parse ./lib ./debug
$ debuguy parse ./gaia/apps/music/js

Launch report:

$ adb logcat | debuguy profile

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Gulp.

Fork and clone https://github.com/seiyugi/debuguy.git

  1. Fork debuguy repository.
  2. sh $ git clone ssh://github.com/<YOUR_NAME>/debuguy

Install dependency

$ npm install

Run gulp

$ gulp

In the local folder, you can run your local debuguy with

$ ./cli.js parse ./source_dir

Automatically add console.log after each functions

$ ./cli.js autolog ./source_dir [-c]

Or, in the local folder, run sh $ npm install -g . to install debugy with your local copy.

The option argument "-c" will print an ending-log to indicate function-end, so this can help you to show a Call Stack graph,.

After using -c argument, you can use profile feature to show a Call Stack graph.

If nothing breaks, then you are good. ๐Ÿ‘

It's time to hack! :neckbeard:

License

Copyright ยฉ 2014 seiyugi Licensed under the MPL license.

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.