graphina 0.4.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.md +144 -0
- data/Rakefile +4 -0
- data/VERSION +1 -1
- data/bin/graphina +27 -0
- data/graphina.gemspec +5 -5
- data/lib/graphina/panel/defaults/arm64-darwin.yml +19 -2
- data/lib/graphina/panel/defaults/x86_64-darwin.yml +16 -2
- data/lib/graphina/panel/defaults/x86_64-linux.yml +141 -1
- data/lib/graphina/version.rb +1 -1
- metadata +7 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d37dab7bd01fb67e724888f84fe62699ee0c79d4bdac9f31592ace93e1a9bf1f
|
|
4
|
+
data.tar.gz: bb57b3238a9c2d4463a68c2439352d56dff89f6f199ecd0cc824e0dd1d07e114
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 681cd41758cd8e7aece8eaa74582be26d5120b4c63e4631cc1d118fe8c552f1685c925a2df52927e1e5c60c8cfa6b4a0fbeb0a2e5adc6dea71a61cab3490412a
|
|
7
|
+
data.tar.gz: 8a86b1b96110c65d02e5f66dbb7a39433132bcb4218709d7cfeec3ce8360b12e566fff3cfaa2240b6415d176d9dd6198ddccba75ec5f59fd8d7b28bb45095977
|
data/CHANGES.md
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Changes
|
|
2
|
+
|
|
3
|
+
## 2026-01-12 v0.5.0
|
|
4
|
+
|
|
5
|
+
- Added `CHANGES.md` file to track version history and changes
|
|
6
|
+
- Added `changelog` section to `Rakefile` to include `CHANGES.md` in gem build
|
|
7
|
+
process
|
|
8
|
+
- Updated `rubygems_version` from **4.0.2** to **4.0.3**
|
|
9
|
+
- Updated `gem_hadar` development dependency from **~> 2.10** to **>= 2.16.2**
|
|
10
|
+
- Added GPU monitoring sections to **x86_64-linux.yml** with fan, clock, and
|
|
11
|
+
temperature panels
|
|
12
|
+
- Enhanced **x86_64-linux.yml** with hardware fan monitoring support for case,
|
|
13
|
+
CPU, and pump fans
|
|
14
|
+
- Introduced new documentation headers for **arm64-darwin.yml**,
|
|
15
|
+
**x86_64-darwin.yml**, and **x86_64-linux.yml**
|
|
16
|
+
- Updated memory usage color from **`#689d6a`** to **`#fabd2f`** in
|
|
17
|
+
**x86_64-linux.yml**
|
|
18
|
+
- Standardized color schemes across all platform configurations
|
|
19
|
+
- Added detailed inline documentation for the `usage` method with comprehensive help text
|
|
20
|
+
- Included descriptive comments at the top of the file explaining Graphina's
|
|
21
|
+
purpose and features
|
|
22
|
+
|
|
23
|
+
## 2025-12-19 v0.4.1
|
|
24
|
+
|
|
25
|
+
- Updated `gem_hadar` development dependency from version **2.8** to **2.10**
|
|
26
|
+
|
|
27
|
+
## 2025-12-18 v0.4.0
|
|
28
|
+
|
|
29
|
+
- Updated `tins` gem dependency from **1.45** to **1.49**
|
|
30
|
+
- Replaced manual SI prefix construction with `:si_uc` format option in
|
|
31
|
+
`as_hertz` method
|
|
32
|
+
- Updated `rubygems` version requirement from **3.7.2** to **4.0.2** in gemspec
|
|
33
|
+
- Removed workaround code for prefix formatting in
|
|
34
|
+
`lib/graphina/graph/formatters.rb`
|
|
35
|
+
|
|
36
|
+
## 2025-12-16 v0.3.0
|
|
37
|
+
|
|
38
|
+
- Added support for **MacOS ARM 64** platform with new `arm64-darwin.yml`
|
|
39
|
+
default config
|
|
40
|
+
- Updated `README.md` to reflect that installation now includes config
|
|
41
|
+
inference and installation
|
|
42
|
+
- Simplified CPU usage extraction command in `README.md` by removing
|
|
43
|
+
unnecessary `grep` step
|
|
44
|
+
- Refactored temperature sensor data extraction in `README.md` to use single
|
|
45
|
+
`awk` command instead of `grep | awk` pipeline
|
|
46
|
+
- Added support for **arm64**-darwin platform in `Graphina::Setup`
|
|
47
|
+
- Introduced `arm64-darwin.yml` default panel configuration
|
|
48
|
+
- Updated `x86_64-darwin.yml` and `x86_64-linux.yml` with standardized titles
|
|
49
|
+
- Enhanced `as_hertz` method in `Graphina::Graph` to use custom prefixes
|
|
50
|
+
- Replaced `Tins::Unit.format` with custom prefix handling for better control
|
|
51
|
+
- Updated CPU clock command for **x86_64-darwin** to use `powermetrics` with
|
|
52
|
+
`-i 100 -n 9` flags
|
|
53
|
+
- Changed title format for all metrics from "(%)" to "%" for consistency
|
|
54
|
+
- Used `%.3f%U` format string for `as_hertz` to ensure proper unit display
|
|
55
|
+
|
|
56
|
+
## 2025-12-13 v0.2.0
|
|
57
|
+
|
|
58
|
+
- Added support for predefined panel configurations with new `Graphina::Setup`
|
|
59
|
+
class
|
|
60
|
+
- Introduced `-S` command-line option to install default panel configurations
|
|
61
|
+
from `lib/graphina/panel/defaults/`
|
|
62
|
+
- Added default panel configuration files for **x86_64-darwin** and
|
|
63
|
+
**x86_64-linux** architectures
|
|
64
|
+
- Enhanced `bin/graphina` to handle the new `-S` option and call
|
|
65
|
+
`Graphina::Setup#install_default_panels`
|
|
66
|
+
- Updated `lib/graphina.rb` to require `graphina/setup`
|
|
67
|
+
- Added `lib/graphina/setup.rb` with platform detection and configuration
|
|
68
|
+
copying functionality
|
|
69
|
+
- Extended documentation in `README.md` for panel configuration setup and usage
|
|
70
|
+
- Added `project_structure` tag to tree command for documentation
|
|
71
|
+
categorization
|
|
72
|
+
- Introduced `structure` namespace with `tree` command for project layout
|
|
73
|
+
analysis
|
|
74
|
+
- Updated Linux system monitoring panel configurations:
|
|
75
|
+
- Renamed `cpu` panel to `cpu_usage_percentage` in `README.md`
|
|
76
|
+
- Renamed `memory` panel to `memory_usage` in `README.md`
|
|
77
|
+
- Added new `memory_usage_percentage` panel with percentage calculation
|
|
78
|
+
- Renamed `temperature` panel to `cpu_temperature` in `README.md`
|
|
79
|
+
- Configured tree command to capture project file hierarchy
|
|
80
|
+
- Enabled documentation generation for gem directory structure
|
|
81
|
+
- Added `lib/graphina/setup.rb` to `extra_rdoc_files` and `files` in
|
|
82
|
+
`graphina.gemspec`
|
|
83
|
+
- Updated file tagging in `.contexts/code_comment.rb` to include `code` and
|
|
84
|
+
`config` tags for YAML files
|
|
85
|
+
|
|
86
|
+
## 2025-11-29 v0.1.1
|
|
87
|
+
|
|
88
|
+
- Updated Celsius temperature symbol from `"°"` to `"℃"` for better Unicode
|
|
89
|
+
representation
|
|
90
|
+
- Added platform-specific panel configuration examples to `README.md` including
|
|
91
|
+
a Linux example for `panels.yml` configuration
|
|
92
|
+
- Added `img/graphina.png` screenshot to `README.md` with a new section `##
|
|
93
|
+
Screenshots (run in tmux)` and alt text "graphina Screenshot"
|
|
94
|
+
- Introduced new `.utilsrc` configuration file for code indexing and searching
|
|
95
|
+
- Added `cscope.out` to `.gitignore` and `Rakefile`
|
|
96
|
+
- Updated panel configuration with new names and improved formatting
|
|
97
|
+
|
|
98
|
+
## 2025-10-30 v0.1.0
|
|
99
|
+
|
|
100
|
+
- Added support for predefined panel configurations via the new `-P PANEL`
|
|
101
|
+
command line option
|
|
102
|
+
- Implemented panel configuration system with `Graphina::Panel` class for
|
|
103
|
+
managing graph display settings
|
|
104
|
+
- Introduced `Graphina::Panel::Chooser` module for interactive panel selection
|
|
105
|
+
with fuzzy matching
|
|
106
|
+
- Enhanced CLI with backwards compatible `-e` flag support for executing
|
|
107
|
+
external data commands
|
|
108
|
+
- Updated documentation to reflect XDG base directory specification for
|
|
109
|
+
configuration files
|
|
110
|
+
- Added `GraphinaConfig` module with support for XDG Base Directory
|
|
111
|
+
specification and YAML configuration loading
|
|
112
|
+
- Added new dependencies: `const_conf` (**0.4**), `amatch` (**0.5**), and
|
|
113
|
+
`search_ui`
|
|
114
|
+
- Extended `format_value` method to support both `Symbol` and `String` types
|
|
115
|
+
for method calls
|
|
116
|
+
- Refactored graph initialization to use panel values instead of raw
|
|
117
|
+
command-line options
|
|
118
|
+
- Added `configure_from_opts` method to `Graphina::Panel` for backward
|
|
119
|
+
compatibility
|
|
120
|
+
- Updated `Graphina::Graph` initialization to use panel values
|
|
121
|
+
- Added `Tins` dependency for additional utilities
|
|
122
|
+
- Improved README documentation with `panels.yml` configuration examples and
|
|
123
|
+
`cpu`/`memory` panel examples
|
|
124
|
+
- Added interactive panel selection when no panel is specified
|
|
125
|
+
- Updated `Graphina::Panel` to support dynamic attribute assignment via
|
|
126
|
+
`configure` method
|
|
127
|
+
- Added accessor methods for title, interval, command, color settings,
|
|
128
|
+
resolution, and `format_value`
|
|
129
|
+
- Added `value` method that returns data generation proc (external command or
|
|
130
|
+
random data)
|
|
131
|
+
- Added `from_opts` factory method for creating panel instances from
|
|
132
|
+
command-line options
|
|
133
|
+
- Updated gemspec file lists to include new files: `graphina_config.rb`,
|
|
134
|
+
`panel.rb`, and `panel/chooser.rb`
|
|
135
|
+
- Added YARD documentation cheatsheet and guidelines for consistent
|
|
136
|
+
documentation practices
|
|
137
|
+
- Documented `-e COMMAND` option for executing external data commands with
|
|
138
|
+
examples using `top` and `free` commands
|
|
139
|
+
- Split long lines in README.md for better readability
|
|
140
|
+
- Removed incorrect parameter documentation from `clear` method
|
|
141
|
+
|
|
142
|
+
## 2025-10-27 v0.0.0
|
|
143
|
+
|
|
144
|
+
* Start
|
data/Rakefile
CHANGED
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.5.0
|
data/bin/graphina
CHANGED
|
@@ -1,10 +1,37 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
+
# Graphina - Terminal-based Real-time Data Visualization
|
|
3
|
+
#
|
|
4
|
+
# Graphina creates dynamic, real-time graphical displays in terminal
|
|
5
|
+
# environments using Unicode block characters and ANSI color codes. It supports
|
|
6
|
+
# various data sources, formatting options, and customizable display
|
|
7
|
+
# configurations.
|
|
8
|
+
#
|
|
9
|
+
# Features:
|
|
10
|
+
# - Real-time graphing with smooth terminal updates
|
|
11
|
+
# - Multiple resolution modes (:single or :double)
|
|
12
|
+
# - Customizable colors, titles, and formatting
|
|
13
|
+
# - Support for external command data sources
|
|
14
|
+
# - Interactive panel selection
|
|
15
|
+
# - Terminal resize handling
|
|
16
|
+
# - Cross-platform configuration using XDG Base Directory spec
|
|
17
|
+
#
|
|
18
|
+
# See 'graphina -h' for full command-line options and examples.
|
|
2
19
|
|
|
3
20
|
require 'graphina'
|
|
4
21
|
require 'term/ansicolor'
|
|
5
22
|
include Tins::GO
|
|
6
23
|
require 'shellwords'
|
|
7
24
|
|
|
25
|
+
# The usage method displays the command-line help text for the graphina
|
|
26
|
+
# application
|
|
27
|
+
#
|
|
28
|
+
# This method prints a formatted help message to standard output that describes
|
|
29
|
+
# all available command-line options, their default values, and provides usage
|
|
30
|
+
# examples for different scenarios including basic usage, custom titles,
|
|
31
|
+
# colors, and specific # data source configurations
|
|
32
|
+
#
|
|
33
|
+
# @return [ Integer ] returns 0 to indicate successful help display as exit
|
|
34
|
+
# code.
|
|
8
35
|
def usage
|
|
9
36
|
puts <<~EOT
|
|
10
37
|
Usage: #{File.basename($0)} [OPTIONS]
|
data/graphina.gemspec
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
|
-
# stub: graphina 0.
|
|
2
|
+
# stub: graphina 0.5.0 ruby lib
|
|
3
3
|
|
|
4
4
|
Gem::Specification.new do |s|
|
|
5
5
|
s.name = "graphina".freeze
|
|
6
|
-
s.version = "0.
|
|
6
|
+
s.version = "0.5.0".freeze
|
|
7
7
|
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
9
9
|
s.require_paths = ["lib".freeze]
|
|
@@ -13,17 +13,17 @@ Gem::Specification.new do |s|
|
|
|
13
13
|
s.email = "flori@ping.de".freeze
|
|
14
14
|
s.executables = ["graphina".freeze]
|
|
15
15
|
s.extra_rdoc_files = ["README.md".freeze, "lib/graphina.rb".freeze, "lib/graphina/graph.rb".freeze, "lib/graphina/graph/display.rb".freeze, "lib/graphina/graph/display/cell.rb".freeze, "lib/graphina/graph/formatters.rb".freeze, "lib/graphina/graphina_config.rb".freeze, "lib/graphina/panel.rb".freeze, "lib/graphina/panel/chooser.rb".freeze, "lib/graphina/setup.rb".freeze, "lib/graphina/version.rb".freeze]
|
|
16
|
-
s.files = [".utilsrc".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "bin/graphina".freeze, "graphina.gemspec".freeze, "img/graphina.png".freeze, "lib/graphina.rb".freeze, "lib/graphina/graph.rb".freeze, "lib/graphina/graph/display.rb".freeze, "lib/graphina/graph/display/cell.rb".freeze, "lib/graphina/graph/formatters.rb".freeze, "lib/graphina/graphina_config.rb".freeze, "lib/graphina/panel.rb".freeze, "lib/graphina/panel/chooser.rb".freeze, "lib/graphina/panel/defaults/arm64-darwin.yml".freeze, "lib/graphina/panel/defaults/x86_64-darwin.yml".freeze, "lib/graphina/panel/defaults/x86_64-linux.yml".freeze, "lib/graphina/setup.rb".freeze, "lib/graphina/version.rb".freeze]
|
|
16
|
+
s.files = [".utilsrc".freeze, "CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "bin/graphina".freeze, "graphina.gemspec".freeze, "img/graphina.png".freeze, "lib/graphina.rb".freeze, "lib/graphina/graph.rb".freeze, "lib/graphina/graph/display.rb".freeze, "lib/graphina/graph/display/cell.rb".freeze, "lib/graphina/graph/formatters.rb".freeze, "lib/graphina/graphina_config.rb".freeze, "lib/graphina/panel.rb".freeze, "lib/graphina/panel/chooser.rb".freeze, "lib/graphina/panel/defaults/arm64-darwin.yml".freeze, "lib/graphina/panel/defaults/x86_64-darwin.yml".freeze, "lib/graphina/panel/defaults/x86_64-linux.yml".freeze, "lib/graphina/setup.rb".freeze, "lib/graphina/version.rb".freeze]
|
|
17
17
|
s.homepage = "https://github.com/flori/graphina".freeze
|
|
18
18
|
s.licenses = ["MIT".freeze]
|
|
19
19
|
s.rdoc_options = ["--title".freeze, "Graphina - Gem for creating terminal-based data visualizations with real-time\ngraphical displays using Unicode characters and ANSI styling.\n".freeze, "--main".freeze, "README.md".freeze]
|
|
20
20
|
s.required_ruby_version = Gem::Requirement.new(">= 3.1".freeze)
|
|
21
|
-
s.rubygems_version = "4.0.
|
|
21
|
+
s.rubygems_version = "4.0.3".freeze
|
|
22
22
|
s.summary = "Gem for creating terminal-based data visualizations with real-time graphical displays using Unicode characters and ANSI styling.".freeze
|
|
23
23
|
|
|
24
24
|
s.specification_version = 4
|
|
25
25
|
|
|
26
|
-
s.add_development_dependency(%q<gem_hadar>.freeze, ["
|
|
26
|
+
s.add_development_dependency(%q<gem_hadar>.freeze, [">= 2.16.2".freeze])
|
|
27
27
|
s.add_development_dependency(%q<debug>.freeze, ["~> 1.0".freeze])
|
|
28
28
|
s.add_runtime_dependency(%q<tins>.freeze, ["~> 1.49".freeze])
|
|
29
29
|
s.add_runtime_dependency(%q<term-ansicolor>.freeze, ["~> 1.11".freeze])
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
# CPU Usage and Temperature Monitoring
|
|
2
|
+
#
|
|
3
|
+
# These panels monitor CPU performance metrics on Apple Silicon (ARM64) macOS
|
|
4
|
+
# systems.
|
|
5
|
+
# Uses system commands to gather real-time data for visualization.
|
|
6
|
+
# Note: Some commands may require specific tools or may behave differently on
|
|
7
|
+
# ARM64 architecture.
|
|
8
|
+
|
|
1
9
|
cpu_usage_percentage:
|
|
2
10
|
title: "CPU Usage %"
|
|
3
11
|
interval: 1
|
|
@@ -5,6 +13,7 @@ cpu_usage_percentage:
|
|
|
5
13
|
top -l 1 -n 0 | awk '/^CPU usage:/ { printf "%.1f", $3 + $5 }'
|
|
6
14
|
format_value: as_percent
|
|
7
15
|
color: '#fe8019'
|
|
16
|
+
|
|
8
17
|
cpu_temperature:
|
|
9
18
|
title: "CPU Temperature ℃ "
|
|
10
19
|
interval: 1
|
|
@@ -12,6 +21,7 @@ cpu_temperature:
|
|
|
12
21
|
smctemp -c
|
|
13
22
|
format_value: as_celsius
|
|
14
23
|
color: '#fb4934'
|
|
24
|
+
|
|
15
25
|
cpu_clock_average:
|
|
16
26
|
title: "CPU Clock Speed Hz"
|
|
17
27
|
interval: 1
|
|
@@ -19,17 +29,24 @@ cpu_clock_average:
|
|
|
19
29
|
sudo powermetrics --show-usage-summary -s cpu_power -i 100 -n 9 | awk '/CPU [0-9]+ frequency: / { count++; sum += $4 } END { if (count > 0) { print 1000000 * sum / count } else { print 0 } }'
|
|
20
30
|
format_value: as_hertz
|
|
21
31
|
color: '#b8bb26'
|
|
32
|
+
|
|
33
|
+
# Memory Usage Monitoring
|
|
34
|
+
#
|
|
35
|
+
# These panels track memory utilization on Apple Silicon (ARM64) macOS systems.
|
|
36
|
+
# Provides both absolute usage and percentage values.
|
|
37
|
+
|
|
22
38
|
memory_usage:
|
|
23
39
|
title: "Memory Usage"
|
|
24
40
|
interval: 1
|
|
25
41
|
command: |
|
|
26
42
|
free -b | awk '/^Mem:/ { print $4 }'
|
|
27
43
|
format_value: as_bytes
|
|
28
|
-
color: '#
|
|
44
|
+
color: '#fabd2f'
|
|
45
|
+
|
|
29
46
|
memory_usage_percentage:
|
|
30
47
|
title: "Memory Usage %"
|
|
31
48
|
interval: 1
|
|
32
49
|
command: |
|
|
33
50
|
free -b | awk '/^Mem:/ { printf "%.1f", 100 * $4 / $2 }'
|
|
34
51
|
format_value: as_percent
|
|
35
|
-
color: '#
|
|
52
|
+
color: '#fabd2f'
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
# CPU Usage and Temperature Monitoring
|
|
2
|
+
#
|
|
3
|
+
# These panels monitor CPU performance metrics on macOS systems.
|
|
4
|
+
# Uses system commands to gather real-time data for visualization.
|
|
5
|
+
|
|
1
6
|
cpu_usage_percentage:
|
|
2
7
|
title: "CPU Usage %"
|
|
3
8
|
interval: 1
|
|
@@ -5,6 +10,7 @@ cpu_usage_percentage:
|
|
|
5
10
|
top -l 1 -n 0 | awk '/^CPU usage:/ { printf "%.1f", $3 + $5 }'
|
|
6
11
|
format_value: as_percent
|
|
7
12
|
color: '#fe8019'
|
|
13
|
+
|
|
8
14
|
cpu_temperature:
|
|
9
15
|
title: "CPU Temperature ℃ "
|
|
10
16
|
interval: 1
|
|
@@ -12,6 +18,7 @@ cpu_temperature:
|
|
|
12
18
|
osx-cpu-temp -C | tr -dc '0-9.'
|
|
13
19
|
format_value: as_celsius
|
|
14
20
|
color: '#fb4934'
|
|
21
|
+
|
|
15
22
|
cpu_clock_average:
|
|
16
23
|
title: "CPU Clock Speed Hz"
|
|
17
24
|
interval: 1
|
|
@@ -19,17 +26,24 @@ cpu_clock_average:
|
|
|
19
26
|
sudo powermetrics --show-usage-summary -s cpu_power -i 100 -n 9 | awk '/CPU Average frequency as fraction of nominal: / { count++; gsub(/[^0-9.]/, "", $9); sum += $9 } END { if (count > 0) { print 1000000 * sum / count } else { print 0 } }'
|
|
20
27
|
format_value: as_hertz
|
|
21
28
|
color: '#b8bb26'
|
|
29
|
+
|
|
30
|
+
# Memory Usage Monitoring
|
|
31
|
+
#
|
|
32
|
+
# These panels track memory utilization on macOS systems.
|
|
33
|
+
# Provides both absolute usage and percentage values.
|
|
34
|
+
|
|
22
35
|
memory_usage:
|
|
23
36
|
title: "Memory Usage"
|
|
24
37
|
interval: 1
|
|
25
38
|
command: |
|
|
26
39
|
free -b | awk '/^Mem:/ { print $4 }'
|
|
27
40
|
format_value: as_bytes
|
|
28
|
-
color: '#
|
|
41
|
+
color: '#fabd2f'
|
|
42
|
+
|
|
29
43
|
memory_usage_percentage:
|
|
30
44
|
title: "Memory Usage %"
|
|
31
45
|
interval: 1
|
|
32
46
|
command: |
|
|
33
47
|
free -b | awk '/^Mem:/ { printf "%.1f", 100 * $4 / $2 }'
|
|
34
48
|
format_value: as_percent
|
|
35
|
-
color: '#
|
|
49
|
+
color: '#fabd2f'
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
# CPU Monitoring
|
|
2
|
+
#
|
|
3
|
+
# These panels monitor CPU performance metrics on Linux systems.
|
|
4
|
+
# Uses standard Linux tools like 'top', 'sensors', and '/proc/cpuinfo' for data
|
|
5
|
+
# collection.
|
|
6
|
+
|
|
1
7
|
cpu_usage_percentage:
|
|
2
8
|
title: "CPU Usage %"
|
|
3
9
|
interval: 1
|
|
@@ -5,6 +11,7 @@ cpu_usage_percentage:
|
|
|
5
11
|
top -b -n 1 | awk '/^%Cpu\(s\)/ { print $2 + $4 + $6 }'
|
|
6
12
|
format_value: as_percent
|
|
7
13
|
color: '#fe8019'
|
|
14
|
+
|
|
8
15
|
cpu_temperature:
|
|
9
16
|
title: "CPU Temperature ℃ "
|
|
10
17
|
interval: 1
|
|
@@ -12,6 +19,7 @@ cpu_temperature:
|
|
|
12
19
|
sensors | awk '/^Tctl:/ { print $2 }' | tr -dc '0-9.'
|
|
13
20
|
format_value: as_celsius
|
|
14
21
|
color: '#fb4934'
|
|
22
|
+
|
|
15
23
|
cpu_clock_average:
|
|
16
24
|
title: "CPU Clock Speed Hz"
|
|
17
25
|
interval: 1
|
|
@@ -19,17 +27,149 @@ cpu_clock_average:
|
|
|
19
27
|
awk '/cpu MHz/ {sum += $4; count++} END {if (count > 0) print 1000000 * sum/count}' /proc/cpuinfo
|
|
20
28
|
format_value: as_hertz
|
|
21
29
|
color: '#b8bb26'
|
|
30
|
+
|
|
31
|
+
# Memory Usage Monitoring
|
|
32
|
+
#
|
|
33
|
+
# These panels track memory utilization on Linux systems.
|
|
34
|
+
# Provides both absolute usage and percentage values using the 'free' command.
|
|
35
|
+
|
|
22
36
|
memory_usage:
|
|
23
37
|
title: "Memory Usage"
|
|
24
38
|
interval: 1
|
|
25
39
|
command: |
|
|
26
40
|
free -b | awk '/^Mem:/ { print $3 }'
|
|
27
41
|
format_value: as_bytes
|
|
28
|
-
color: '#
|
|
42
|
+
color: '#fabd2f'
|
|
43
|
+
|
|
29
44
|
memory_usage_percentage:
|
|
30
45
|
title: "Memory Usage %"
|
|
31
46
|
interval: 1
|
|
32
47
|
command: |
|
|
33
48
|
free -b | awk '/^Mem:/ { printf "%.1f", 100 * $3 / $2 }'
|
|
34
49
|
format_value: as_percent
|
|
50
|
+
color: '#fabd2f'
|
|
51
|
+
|
|
52
|
+
# Hardware Fan Monitoring
|
|
53
|
+
#
|
|
54
|
+
# These panels monitor fan speeds and PWM values for various hardware components.
|
|
55
|
+
# Uses 'sensors' command with JSON output and 'jq' for parsing.
|
|
56
|
+
# Note: Requires 'lm-sensors' package and 'jq' utility to be installed.
|
|
57
|
+
|
|
58
|
+
# System Fans (Teal group)
|
|
59
|
+
case_fan_rpm:
|
|
60
|
+
title: "Case Fan RPM"
|
|
61
|
+
interval: 1
|
|
62
|
+
command: |
|
|
63
|
+
sensors -j | jq '."nct6799-isa-0290".fan1.fan1_input'
|
|
64
|
+
format_value: as_default
|
|
65
|
+
color: '#83a598'
|
|
66
|
+
|
|
67
|
+
case_fan_percentage:
|
|
68
|
+
title: "Case Fan %"
|
|
69
|
+
interval: 1
|
|
70
|
+
command: |
|
|
71
|
+
sensors -j | jq '."nct6799-isa-0290".pwm1.pwm1'
|
|
72
|
+
format_value: as_percent
|
|
73
|
+
color: '#83a598'
|
|
74
|
+
|
|
75
|
+
# CPU Fans (Blue group)
|
|
76
|
+
cpu_fan_rpm:
|
|
77
|
+
title: "CPU Fan RPM"
|
|
78
|
+
interval: 1
|
|
79
|
+
command: |
|
|
80
|
+
sensors -j | jq '."nct6799-isa-0290".fan2.fan2_input'
|
|
81
|
+
format_value: as_default
|
|
82
|
+
color: '#458588'
|
|
83
|
+
|
|
84
|
+
cpu_fan_percentage:
|
|
85
|
+
title: "CPU Fan %"
|
|
86
|
+
interval: 1
|
|
87
|
+
command: |
|
|
88
|
+
sensors -j | jq '."nct6799-isa-0290".pwm2.pwm2'
|
|
89
|
+
format_value: as_percent
|
|
90
|
+
color: '#458588'
|
|
91
|
+
|
|
92
|
+
# Pump Fans (Green group)
|
|
93
|
+
pump_fan_rpm:
|
|
94
|
+
title: "Pump Fan RPM"
|
|
95
|
+
interval: 1
|
|
96
|
+
command: |
|
|
97
|
+
sensors -j | jq '."nct6799-isa-0290".fan7.fan7_input'
|
|
98
|
+
format_value: as_default
|
|
99
|
+
color: '#689d6a'
|
|
100
|
+
|
|
101
|
+
pump_fan_percentage:
|
|
102
|
+
title: "Pump Fan %"
|
|
103
|
+
interval: 1
|
|
104
|
+
command: |
|
|
105
|
+
sensors -j | jq '."nct6799-isa-0290".pwm7.pwm7'
|
|
106
|
+
format_value: as_percent
|
|
35
107
|
color: '#689d6a'
|
|
108
|
+
|
|
109
|
+
# GPU Monitoring
|
|
110
|
+
#
|
|
111
|
+
# These panels monitor AMD GPU performance metrics on Linux systems.
|
|
112
|
+
# Requires 'sensors' with AMDGPU support and 'jq' for JSON parsing.
|
|
113
|
+
# Note: GPU monitoring requires proper hardware support and driver installation.
|
|
114
|
+
|
|
115
|
+
# GPU Fans (Magenta group)
|
|
116
|
+
gpu_fan_rpm:
|
|
117
|
+
title: "GPU Fan RPM"
|
|
118
|
+
interval: 1
|
|
119
|
+
command: |
|
|
120
|
+
sensors -j | jq '."amdgpu-pci-0300".fan1.fan1_input'
|
|
121
|
+
format_value: as_default
|
|
122
|
+
color: '#b16286'
|
|
123
|
+
|
|
124
|
+
# GPU Clock Speed Monitoring
|
|
125
|
+
gpu_shaders_clock:
|
|
126
|
+
title: "GPU SCLK Hz"
|
|
127
|
+
interval: 1
|
|
128
|
+
command: |
|
|
129
|
+
sensors -j | jq '."amdgpu-pci-0300".sclk.freq1_input'
|
|
130
|
+
format_value: as_hertz
|
|
131
|
+
color: '#8ec0fc'
|
|
132
|
+
|
|
133
|
+
gpu_memory_clock:
|
|
134
|
+
title: "GPU MCLK Hz"
|
|
135
|
+
interval: 1
|
|
136
|
+
command: |
|
|
137
|
+
sensors -j | jq '."amdgpu-pci-0300".mclk.freq2_input'
|
|
138
|
+
format_value: as_hertz
|
|
139
|
+
color: '#8ef07c'
|
|
140
|
+
|
|
141
|
+
# GPU Temperatures
|
|
142
|
+
#
|
|
143
|
+
# These panels monitor various temperature sensors on AMD GPU hardware.
|
|
144
|
+
#
|
|
145
|
+
# The different temperature readings provide insight into GPU thermal
|
|
146
|
+
# performance:
|
|
147
|
+
# - Edge temperature: Core edge temperature sensor
|
|
148
|
+
# - Junction temperature: GPU junction temperature (typically highest)
|
|
149
|
+
# - Memory temperature: GPU memory bank temperature
|
|
150
|
+
#
|
|
151
|
+
# Note: GPU temperature monitoring requires proper AMDGPU driver support and
|
|
152
|
+
# 'sensors' configuration.
|
|
153
|
+
gpu_edge_temperature:
|
|
154
|
+
title: "GPU Edge Temperature ℃ "
|
|
155
|
+
interval: 1
|
|
156
|
+
command: |
|
|
157
|
+
sensors -j | jq '."amdgpu-pci-0300".edge.temp1_input'
|
|
158
|
+
format_value: as_celsius
|
|
159
|
+
color: '#b16286'
|
|
160
|
+
|
|
161
|
+
gpu_junction_temperature:
|
|
162
|
+
title: "GPU Junction Temperature ℃ "
|
|
163
|
+
interval: 1
|
|
164
|
+
command: |
|
|
165
|
+
sensors -j | jq '."amdgpu-pci-0300".junction.temp2_input'
|
|
166
|
+
format_value: as_celsius
|
|
167
|
+
color: '#b16286'
|
|
168
|
+
|
|
169
|
+
gpu_memory_temperature:
|
|
170
|
+
title: "GPU Memory Temperature ℃ "
|
|
171
|
+
interval: 1
|
|
172
|
+
command: |
|
|
173
|
+
sensors -j | jq '."amdgpu-pci-0300".mem.temp3_input'
|
|
174
|
+
format_value: as_celsius
|
|
175
|
+
color: '#b16286'
|
data/lib/graphina/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: graphina
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Florian Frank
|
|
@@ -13,16 +13,16 @@ dependencies:
|
|
|
13
13
|
name: gem_hadar
|
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
|
15
15
|
requirements:
|
|
16
|
-
- - "
|
|
16
|
+
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version:
|
|
18
|
+
version: 2.16.2
|
|
19
19
|
type: :development
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
|
-
- - "
|
|
23
|
+
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version:
|
|
25
|
+
version: 2.16.2
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: debug
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -136,6 +136,7 @@ extra_rdoc_files:
|
|
|
136
136
|
- lib/graphina/version.rb
|
|
137
137
|
files:
|
|
138
138
|
- ".utilsrc"
|
|
139
|
+
- CHANGES.md
|
|
139
140
|
- Gemfile
|
|
140
141
|
- LICENSE
|
|
141
142
|
- README.md
|
|
@@ -181,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
181
182
|
- !ruby/object:Gem::Version
|
|
182
183
|
version: '0'
|
|
183
184
|
requirements: []
|
|
184
|
-
rubygems_version: 4.0.
|
|
185
|
+
rubygems_version: 4.0.3
|
|
185
186
|
specification_version: 4
|
|
186
187
|
summary: Gem for creating terminal-based data visualizations with real-time graphical
|
|
187
188
|
displays using Unicode characters and ANSI styling.
|