GithubHelp home page GithubHelp logo

elevenfive / measurement-kit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from measurement-kit/measurement-kit

0.0 2.0 0.0 20.23 MB

Portable C++14 network measurement library

Home Page: https://measurement-kit.github.io/

License: Other

Batchfile 0.03% Shell 0.31% Makefile 0.03% M4 2.59% C++ 91.61% C 5.04% Python 0.39%

measurement-kit's Introduction

Measurement Kit

Portable C++14 network measurement library

GitHub license Github Releases Github Issues


branch Unix coverage Windows
master Build Status codecov Build status
stable Travis Build Status Coverage Status Build status

Measurement Kit is a library that implements open network measurement methodologies (performance, censorship, etc.) for Android, iOS, Windows, macOS, and Linux systems.

It is meant to be embedded by third party applications with specific network measurement needs and/or to be used by researchers as a basis to implement novel tools.

Please, refer to the include/measurement_kit folder documentation for an up-to-date list of available tests.

API and examples

Measurement Kit exposes a simple C-like API that is described in detail in the include/measurement_kit folder documentation. You can find examples of usage of such API into the example folder.

Generic Unix instructions

You need to have the autotools, a C++14 capable C++ compiler, a C++14 capable C++ library, a C11 capable C compiler, and all the dependencies installed. For current information, we encourage you to read the very simple build script that we use on Travis CI to setup a Unix environment, from which you can gather up-to-date information regarding required packages on a Debian like system. To this end, please refer to the content of the .ci/common folder.

With all the dependencies statisfied, build with:

./autogen.sh
./configure
make
sudo make install    # optional, if you want to install to `/usr/local`
sudo /sbin/ldconfig  # required only on Linux if you install

The configure script will also provide advice if a dependency is missing. Also, ./configure --help can be useful.

Homebrew instructions

Please check the measurement-kit/homebrew-measurement-kit tap for Homebrew.

Mingw-w64 instructions

For information on how to compile Measurement Kit using the Mingw-w64 compiler distribution for Windows, please refer to the measurement-kit/script-build-unix repository.

To better understand how to compile using Mingw-w64, it is also useful to look into how we build Measurement Kit on AppVeyor. To this end, we encourage you check the .ci/appveyor folder.

Android instructions

For cross-compiling Measurement Kit for Android, please refer to the measurement-kit/script-build-unix repository. For integrating Measurement Kit cross-compiled for Android with Java classes that you can use from Android, please see measurement-kit/android-libs. For how to use Measurement Kit in an Android project, please see measurement-kit/android-example.

iOS instructions

For cross-compiling Measurement Kit for iOS, please refer to the measurement-kit/script-build-unix repository. For integrating Measurement Kit cross-compiled for iOS into a framework that you can use from iOS, please see measurement-kit/ios-libs. For how to use Measurement Kit in an iOS project, please see measurement-kit/ios-example.

How to develop for Measurement Kit

To clone Measurement Kit repository, do:

git clone --recursive https://github.com/measurement-kit/measurement-kit

See CONTRIBUTING.md for more information.

measurement-kit's People

Contributors

anadahz avatar antoniolangiu avatar bassosimone avatar darkk avatar davideallavena avatar hellais avatar helloimcarmine avatar joelanders avatar lorenzoprimi avatar readmecritic avatar rschulman avatar willscott avatar

Watchers

 avatar  avatar

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.