Code Monkey home page Code Monkey logo

sawmill's Introduction

Sawmill

Warning Lots of performance tuning has yet to be done! Due to the nature of the library, care will be taken to ensure that all of the hot path code will be as performant as possible. This will take some time.

Sawmill is a framework for instrumenting C++ applications to collect structured event-based diagnostic information, much in the same way that the tokio tracing library does for rust.

Documentation

Comprehensive documentation about sawmill and its usage can be found at https://lethalbit.github.io/sawmill/.

Configuring and Building

The following steps describe how to build Sawmill, it should be consistent for Linux, macOS, and Windows, but macOS and Windows remain untested.

Prerequisites

To build Sawmill, ensure you have the following build time dependencies:

  • git
  • meson
  • ninja
  • g++ >= 11 or clang++ >= 11

Optionally, when also building with binding support (which is the default) you also need:

  • python >= 3.9
  • pybind11 >= 2.7.0

Configuring

You can build sawmill with the default options, all of which can be found in meson_options.txt. You can change these by specifying -D<OPTION_NAME>=<VALUE> at initial meson invocation time, or with meson configure in the build directory post initial configure.

To change the install prefix, which is /usr/local by default ensure to pass --prefix <PREFIX> when running meson for the first time.

In either case, simply running meson build from the root of the repository will be sufficient and place all of the build files in the build subdirectory.

Building

Once you have configured sawmill appropriately, to simply build and install simply run the following:

$ ninja -C build
$ ninja -C build test # Optional: Run Tests
$ ninja -C build install

This will build and install Sawmill into the default prefix which is /usr/local, to change that see the configuration steps above.

Notes to Package Maintainers

If you are building sawmill for inclusion in a distributions package system then ensure to set DESTDIR prior to running meson install.

There is also a bugreport_url configuration option that is set to this repositories issues tracker by default, it is recommended to change it to your distributions bug tracking page.

License

Sawmill is licensed under the BSD-3-Clause license, the full text of which can be found in the LICENSE file.

sawmill's People

Contributors

lethalbit avatar

Stargazers

 avatar  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.