Skip to content

User Guide

JCooky edited this page Mar 18, 2016 · 2 revisions

Jandy User Guide

This guide explains how users can perform the continuous profiling their project using Jandy.

1. Sign in Jandy with GitHub

A project in GitHub can be analyze by Jandy. For use it, users have to sign in Jandy with GitHub.

You see this picture when access to the Jandy for the first time. To sign in Jandy with Github ID, you have to push the ‘Sign in with GitHub’ button.

2. Import project to Jandy

Profile page shows all repositories is registered GitHub already.

You can import project to Jandy by changing status of the project to ‘On’.

3. View of the profiling result

If the repository is not only imported Jandy but also added to Travis-ci, Jandy shows profiling result of the project built in Travis-ci.

Jandy shows performance about each Travis-CI build and the results show how many samples are faster than before.
If you want to see detailed profiling result of the build, push the ‘More’ button. Then, detailed result page shows timelines of each functions.

4. How to add 'jandy script' to .travis.yml

language: java
jdk:
  - oraclejdk7

install:
  - mvn -DskipTests=true install
  - sudo pip install http://jandy.io/jandy-python.zip
script:
  - mvn clean package
  - jandy

This example is 'jcooky/jasypt-test/'s .travis.yml file. This file has jandy-python installation and running jandy script.

  • Installation of jandy-python:
    http://jandy.io/jandy-python.zip is packaging of the jandy-python. We use 'pip install' for installation of it.
  • Running jandy script:
    This is simple. You only require to run the 'jandy'

5. How to write .jandy.yml

You must add .jandy.yml to project for profiling by Jandy.

.jandy.yml has the properties below.

  • language
    • Programming language of the project.
    • Jandy supports java/python at now.
  • samples
    • ‘samples’ is similar to function testing of Use-Case
    • ‘samples’ doesn’t have only a sample.
    • A sample has ‘id’ and ‘script’.
      • ‘id’ can be any string for identification.
      • ‘script’ is command for running in console.
language: java

samples:
  - id: testEncryptionStrong1
    script: java -jar target/jasypt-test-1.0-SNAPSHOT.jar strong PasswordPasswordPassword123 "I am opensource developer or I am opensource developer or I am opensource developer"
  - id: testEncryptionBasic1
    script: java -jar target/jasypt-test-1.0-SNAPSHOT.jar basic PasswordPasswordPassword123 "I am opensource developer or I am opensource developer or I am opensource developer"
  - id: testEncryptionStrong2
    script: java -jar target/jasypt-test-1.0-SNAPSHOT.jar strong PasswordPassword123 "I am opensource developer or I am opensource developer"
  - id: testEncryptionBasic2
    script: java -jar target/jasypt-test-1.0-SNAPSHOT.jar basic PasswordPassword123 "I am opensource developer or I am opensource developer"
  - id: testEncryptionStrong3
    script: java -jar target/jasypt-test-1.0-SNAPSHOT.jar strong Password123 "I am opensource developer"
  - id: testEncryptionBasic3
    script: java -jar target/jasypt-test-1.0-SNAPSHOT.jar basic Password123 "I am opensource developer"
  - id: testEncryptionStrong4
    script: java -jar target/jasypt-test-1.0-SNAPSHOT.jar strong 123 ""
  - id: testEncryptionBasic4
    script: java -jar target/jasypt-test-1.0-SNAPSHOT.jar basic 123 ""
  - id: testEncryptionStrong5
    script: java -jar target/jasypt-test-1.0-SNAPSHOT.jar strong "" ""
  - id: testEncryptionBasic5
    script: java -jar target/jasypt-test-1.0-SNAPSHOT.jar basic "" ""

The ‘script’ of this example is executable filepath and parameters of the project.