0.0
The project is in a healthy, maintained state
Basic diagnostic facilities, for Ruby. Diagnosticism.Ruby provides low-level diagnostics components, including a decimal order-of-magnitude histogram (DOOMGram) for recording event durations.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

>= 0.39.5, < 1.0
 Project Readme

Diagnosticism.Ruby

Basic diagnostic facilities, for Ruby

Language License Gem Version Last Commit Ruby

Table of Contents

  • Introduction
  • Installation
  • Components
  • Examples
  • Project Information
    • Where to get help
    • Contribution guidelines
    • Dependencies
      • Efferent (fan-out)
        • Runtime Dependencies (aka "Normal Dependencies")
        • Development Dependencies
      • Afferent (fan-in)
        • Runtime dependents
        • Development dependents
    • Related projects
    • License

Introduction

Diagnosticism provides low-level diagnostics facilities to support library programming. The first Diagnosticism library was a C library with a C++ wrapper. There have been several implementations in other languages. Diagnosticism.Ruby is the Ruby version.

Installation

Install via gem as in:

gem install diagnosticism

or add it to your Gemfile.

Use is via specific APIs. For example, in order to use the DOOMGram class you would require the source file, as in:

require 'diagnosticism/doomgram'

Components

The main component of Diagnosticism.Ruby today is:

  • Diagnosticism::DOOMGram — a Decimal Order-Of-Magnitude histoGram that records event durations in twelve logarithmic buckets (1ns … 100s+);

Require it as require 'diagnosticism/doomgram'. Significant facilities include:

  • push helpers — push_event_time_ns, push_event_time_us, push_event_time_ms, push_event_time_s;
  • aggregate readers — event_count, total_event_time_ns, min_event_time_ns, max_event_time_ns, plus per-bucket counts (num_events_in_1ns … num_events_ge_100s);
  • presentation — to_strip (12-character magnitude strip) and to_s;

Examples

Examples are provided in the examples directory, along with a markdown description for each. A detailed list TOC of them is provided in EXAMPLES.md.

Project Information

Where to get help

GitHub Page

Contribution guidelines

Defect reports, feature requests, and pull requests are welcome on https://github.com/synesissoftware/Diagnosticism.Ruby.

Dependencies

Efferent (fan-out)

Libraries upon which Diagnosticism.Ruby depends:

Runtime Dependencies (aka "Normal Dependencies")
  • <none>;
Development Dependencies

Afferent (fan-in)

Projects that depend on Diagnosticism.Ruby:

Runtime dependents
  • <none>;
Development dependents
  • <none>;

Related projects

License

Diagnosticism.Ruby is released under the 3-clause BSD license. See LICENSE for details.