Giter Club home page Giter Club logo

audrey's Introduction

Audrey

Build Status Coverage Status

On Demand Runtime Information.

Prerequisites

Ensure that the environment variable $JAVA_HOME points to your GraalVM home folder, e.g.

export JAVA_HOME=/Users/radi/graalvm-ee-1.0.0-rc12/Contents/Home

Ensure that a redis server is running, e.g.

redis-cli ping
# => PONG

Gathering data

  1. To let your GraalVM installation at $JAVA_HOME know about Audrey, run:

    ./gradlew install

    This will build a fat JAR and place it in $JAVA_HOME/jre/tools/audrey.

  2. Verify your installation by running

    $JAVA_HOME/bin/js --jvm --help:tools | grep audrey

    If you see some output describing --audrey flags and switches, the installation was successful.

  3. Run your application and provide the following flags to enable data-gathering with Audrey:

    $JAVA_HOME/bin/js --jvm --audrey --audrey.Project="<my_unique_project_name>" path/to/app.js 

    For example:

    $JAVA_HOME/bin/js --jvm --audrey --audrey.Project="test" --audrey.FilterPath="add.js" projects/javascript/test_project/add.js

Consult --jvm --help:tools for a more exhaustive list of options.

Starting a language server

To start a language server from the project root for debugging purposes, run:

./gradlew startServer

This should start a server that waits for clients to connect to port 8123 (by default).

To make an executable globally available to language clients, ensure that bin/audrey-ls is in your path, e.g.

ln -sr bin/audrey-ls /usr/local/bin/audrey-ls

You should now be able to start a language server that communicates via stdin/out with audrey-ls.

Setting up additional test projects

The project directory contains sub folders for each Truffle language to test with. By default you should find a simple test project for each of them, e.g.

projects/javascript
└── test_project
  └── ...

projects/ruby
└── test_project
  └── ...

projects/r
└── test_project
  └── ...

To pull additional sample projects to test Audrey with:

git submodule update --init --recursive

To update them:

git submodule update --recursive --remote

audrey's People

Contributors

boris-spas avatar rathrio avatar

Watchers

 avatar  avatar  avatar  avatar

audrey's Issues

In memory storage should print data after execution.

Currently, as far as I can see, there is no way to read the data that Aurdey gathers without redis being installed. Would be nice if the "in_memory" storage would print the gathered data to stdout in a shutdown hook (similar to CPUTracer and friends) in a cli friendly format (a table, json, csv, ...)

Error shows wrong CLI option

java.lang.Error: Provide a unique project ID with --Audrey.Project="<Project ID>"
should be --audrey.Project="<Project ID>" (lower case).
Probably want to use the ID there to be future proof.

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.