Diagnosticism.Ruby
Basic diagnostic facilities, for Ruby
Table of Contents
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) andto_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
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
- Diagnosticism — C library with a C++ wrapper;
- Diagnosticism.Go;
- Diagnosticism.NET;
- Diagnosticism.Python;
- Diagnosticism.Rust;
License
Diagnosticism.Ruby is released under the 3-clause BSD license. See LICENSE for details.