Module: Process::Metrics
- Defined in:
- lib/process/metrics/version.rb,
lib/process/metrics/host.rb,
lib/process/metrics/memory.rb,
lib/process/metrics/general.rb,
lib/process/metrics/processor.rb,
lib/process/metrics/host/memory.rb,
lib/process/metrics/memory/linux.rb,
lib/process/metrics/general/linux.rb,
lib/process/metrics/memory/darwin.rb,
lib/process/metrics/host/memory/linux.rb,
lib/process/metrics/host/memory/darwin.rb,
lib/process/metrics/general/process_status.rb,
lib/process/metrics/host/memory/linux/meminfo.rb,
lib/process/metrics/host/memory/linux/cgroup_v1.rb,
lib/process/metrics/host/memory/linux/cgroup_v2.rb
Defined Under Namespace
Modules: Host Classes: General, Memory, Processor
Constant Summary collapse
- DURATION =
/\A (?:(?<days>\d+)-)? # Optional days (e.g., '2-') (?:(?<hours>\d+):)? # Optional hours (e.g., '1:') (?<minutes>\d{1,2}): # Minutes (always present, 1 or 2 digits) (?<seconds>\d{2}) # Seconds (exactly 2 digits) (?:\.(?<fraction>\d{1,2}))? # Optional fraction of a second (e.g., '.27') \z/x- VERSION =
"0.12.0"
Class Method Summary collapse
-
.duration(value) ⇒ Object
Parse a duration string into seconds.
Class Method Details
.duration(value) ⇒ Object
Parse a duration string into seconds. According to the linux manual page specifications.
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/process/metrics/general.rb', line 23 def self.duration(value) if match = DURATION.match(value) days = match[:days].to_i hours = match[:hours].to_i minutes = match[:minutes].to_i seconds = match[:seconds].to_i fraction = match[:fraction].to_i return days * 24 * 60 * 60 + hours * 60 * 60 + minutes * 60 + seconds + fraction / 100.0 else return 0.0 end end |