Skip to content

performance-queries/marple

Repository files navigation

Build Status

needlstk: A system for expressing network performance queries

The name is a portmanteau of needle and stack to reflect the goal of finding needles in a haystack. It is pronounced "needle stack"

QuickStart

Requires java 8: sudo apt-add-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer

Requires maven from the apache maven website: https://maven.apache.org/download.cgi#Installation

If compiling queries to the domino backend, install the domino compiler by following instructions from: https://github.com/packet-transactions/domino-compiler

  1. mvn install Packages sources into one assembly JAR for the compiler and the interpreter

  2. ./smoke_test.sh Runs smoke tests. These tests don't mean too much if they pass, but if you get an exception for any one, it probably means there's a bug.

  3. Generate parse tree using mvn exec:java -Dexec.mainClass="org.antlr.v4.gui.TestRig" -Dexec.args="edu.mit.needlstk.PerfQuery prog -gui example_queries/flowlet_hist.sql" (should open up a window showing the parse tree)

  4. Run compiler using cat example_queries/flowlet_hist.sql | java -ea -jar target/Compiler-jar-with-dependencies.jar

  5. Run interpreter using cat example_queries/flowlet_hist.sql | java -ea -jar target/Interpreter-jar-with-dependencies.jar 2> /tmp/output.py

  6. Run interpreted code using python3 /tmp/output.py

About

Parse SQL queries for network performance monitoring

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published