graphina 0.2.0 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cca65e421a6d4a67744edd6f1acc65219c29f16b5d1decf0e886c9208e9d9906
4
- data.tar.gz: ff1f2e42524b8eae0c6df646b010740bc312f8348d03727639a85b097835de4d
3
+ metadata.gz: ba85d0d6362b3bdedfb5b2bba62316a36f739a3fbb7ce8f2e15f17778d15afe1
4
+ data.tar.gz: ec8dcc4de5f837d3193f5fda034ab3a16aa4018f063a470005ab7e4255d425bc
5
5
  SHA512:
6
- metadata.gz: 4fd6afb55759a51ff4b5d6d52723af3e7a29e888273784aa8b637be5591486093bc65fd9315c0a8c02eb83a4e7b53b604b19a1c809f0dc27cdcfd900f49370d0
7
- data.tar.gz: f1ec824b10b71a579d9c10e9ffb5642943313952c46b85d199d2d903e60cc2d87b0911fbf9f32a8e54883b72e29b1306e3b64e0b5b141635df0834b0ed41c668
6
+ metadata.gz: 3dc155313d4cd892d6229909fdff2864a3d044d048266cebfbb584f266bde7fdcf4da68797683db953708fe3a7b92903d5548fcc69b97c2ac781bb6f851df9fe
7
+ data.tar.gz: 0af32cba9559b13fed62503b5ec124dcf4d348d7c0d5b42bd26af1c2da4e7389c4321122debfe3c2eb1a38633b393d7bdfe0c3b05785b53ef56cef8f79a6fa72
data/README.md CHANGED
@@ -66,12 +66,12 @@ To install one of the included defaults you can try
66
66
  graphina -S default
67
67
  ```
68
68
 
69
- which attempts to infer a default config for your platform.
70
-
69
+ which attempts to infer a default config for your platform and install it.
71
70
 
72
71
  Currently these platforms are included:
73
72
 
74
73
  - MacOS x86 64 see [x86_64-darwin](lib/graphina/panel/defaults/x86_64-darwin.yml).
74
+ - MacOS ARM 64 see [arm64-darwin](lib/graphina/panel/defaults/arm64-darwin.yml).
75
75
  - Linux x86 64 see [x86_64-linux](lib/graphina/panel/defaults/x86_64-linux.yml).
76
76
 
77
77
  These can be installed eplicitly via:
@@ -109,7 +109,7 @@ graphina -t "CPU Usage (faked)" -f blue -b black
109
109
 
110
110
  ```bash
111
111
  # Monitor CPU usage in real-time
112
- graphina -t 'CPU Usage' -n 1 -F as_percent -e "top -l 1 -n 0 | grep 'CPU usage' | awk '{print \$3+\$5}'"
112
+ graphina -t 'CPU Usage' -n 1 -F as_percent -e "top -l 1 -n 0 | awk '/^CPU usage/ {print \$3 + \$5}'"
113
113
  ```
114
114
 
115
115
  ### 4. Using Predefined Panels
@@ -147,7 +147,7 @@ graph.start
147
147
  # Using external command for data
148
148
  graph = Graphina::Graph.new(
149
149
  title: 'Temperature',
150
- value: ->(i) { `sensors | grep 'Tctl' | awk '{print \$2}'`.to_f },
150
+ value: ->(i) { `sensors | awk '/^Tctl/ {print \$2}'`.to_f },
151
151
  format_value: :as_celsius,
152
152
  sleep: 2
153
153
  )
data/Rakefile CHANGED
@@ -33,7 +33,7 @@ GemHadar do
33
33
 
34
34
  executables << 'graphina'
35
35
 
36
- dependency 'tins', '~> 1.45'
36
+ dependency 'tins', '~> 1.49'
37
37
  dependency 'term-ansicolor', '~> 1.11'
38
38
  dependency 'const_conf', '~> 0.4', '>= 0.4.3'
39
39
  dependency 'amatch', '~> 0.5'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.4.0
data/graphina.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: graphina 0.2.0 ruby lib
2
+ # stub: graphina 0.4.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "graphina".freeze
6
- s.version = "0.2.0".freeze
6
+ s.version = "0.4.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,19 +13,19 @@ 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/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, "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 = "3.7.2".freeze
21
+ s.rubygems_version = "4.0.2".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
26
  s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 2.8".freeze])
27
27
  s.add_development_dependency(%q<debug>.freeze, ["~> 1.0".freeze])
28
- s.add_runtime_dependency(%q<tins>.freeze, ["~> 1.45".freeze])
28
+ s.add_runtime_dependency(%q<tins>.freeze, ["~> 1.49".freeze])
29
29
  s.add_runtime_dependency(%q<term-ansicolor>.freeze, ["~> 1.11".freeze])
30
30
  s.add_runtime_dependency(%q<const_conf>.freeze, ["~> 0.4".freeze, ">= 0.4.3".freeze])
31
31
  s.add_runtime_dependency(%q<amatch>.freeze, ["~> 0.5".freeze])
@@ -50,7 +50,7 @@ class Graphina::Graph
50
50
  #
51
51
  # @return [ String ] the formatted frequency representation with unit suffix
52
52
  def as_hertz(value)
53
- Tins::Unit.format(value, prefix: :uc, format: '%.3f%U', unit: 'Hz')
53
+ Tins::Unit.format(value, prefix: :si_uc, format: '%.3f%U', unit: 'Hz')
54
54
  end
55
55
 
56
56
  # The as_celsius method formats a temperature value with a degree symbol
@@ -0,0 +1,35 @@
1
+ cpu_usage_percentage:
2
+ title: "CPU Usage %"
3
+ interval: 1
4
+ command: |
5
+ top -l 1 -n 0 | awk '/^CPU usage:/ { printf "%.1f", $3 + $5 }'
6
+ format_value: as_percent
7
+ color: '#fe8019'
8
+ cpu_temperature:
9
+ title: "CPU Temperature ℃ "
10
+ interval: 1
11
+ command: |
12
+ smctemp -c
13
+ format_value: as_celsius
14
+ color: '#fb4934'
15
+ cpu_clock_average:
16
+ title: "CPU Clock Speed Hz"
17
+ interval: 1
18
+ command: |
19
+ 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
+ format_value: as_hertz
21
+ color: '#b8bb26'
22
+ memory_usage:
23
+ title: "Memory Usage"
24
+ interval: 1
25
+ command: |
26
+ free -b | awk '/^Mem:/ { print $4 }'
27
+ format_value: as_bytes
28
+ color: '#689d6a'
29
+ memory_usage_percentage:
30
+ title: "Memory Usage %"
31
+ interval: 1
32
+ command: |
33
+ free -b | awk '/^Mem:/ { printf "%.1f", 100 * $4 / $2 }'
34
+ format_value: as_percent
35
+ color: '#689d6a'
@@ -1,22 +1,22 @@
1
1
  cpu_usage_percentage:
2
- title: "CPU Usage (%)"
2
+ title: "CPU Usage %"
3
3
  interval: 1
4
4
  command: |
5
5
  top -l 1 -n 0 | awk '/^CPU usage:/ { printf "%.1f", $3 + $5 }'
6
6
  format_value: as_percent
7
7
  color: '#fe8019'
8
8
  cpu_temperature:
9
- title: "CPU Temperature () "
9
+ title: "CPU Temperature ℃ "
10
10
  interval: 1
11
11
  command: |
12
12
  osx-cpu-temp -C | tr -dc '0-9.'
13
13
  format_value: as_celsius
14
14
  color: '#fb4934'
15
15
  cpu_clock_average:
16
- title: "CPU Clock Speed (MHz)"
16
+ title: "CPU Clock Speed Hz"
17
17
  interval: 1
18
18
  command: |
19
- sudo bash -c 'powermetrics --show-usage-summary -s cpu_power & pid=$!; sleep 1; kill $pid'| awk '/CPU Average/ { count++; gsub(/.*\(/, ""); gsub(/\ .*/, ""); sum += $0 } END { if (count > 0) { print 1000000*sum/count } else { print 0 } }'
19
+ 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
20
  format_value: as_hertz
21
21
  color: '#b8bb26'
22
22
  memory_usage:
@@ -27,7 +27,7 @@ memory_usage:
27
27
  format_value: as_bytes
28
28
  color: '#689d6a'
29
29
  memory_usage_percentage:
30
- title: "Memory Usage (%)"
30
+ title: "Memory Usage %"
31
31
  interval: 1
32
32
  command: |
33
33
  free -b | awk '/^Mem:/ { printf "%.1f", 100 * $4 / $2 }'
@@ -1,19 +1,19 @@
1
1
  cpu_usage_percentage:
2
- title: "CPU Usage (%)"
2
+ title: "CPU Usage %"
3
3
  interval: 1
4
4
  command: |
5
5
  top -b -n 1 | awk '/^%Cpu\(s\)/ { print $2 + $4 + $6 }'
6
6
  format_value: as_percent
7
7
  color: '#fe8019'
8
8
  cpu_temperature:
9
- title: "CPU Temperature () "
9
+ title: "CPU Temperature ℃ "
10
10
  interval: 1
11
11
  command: |
12
12
  sensors | awk '/^Tctl:/ { print $2 }' | tr -dc '0-9.'
13
13
  format_value: as_celsius
14
14
  color: '#fb4934'
15
15
  cpu_clock_average:
16
- title: "CPU Clock Speed (MHz)"
16
+ title: "CPU Clock Speed Hz"
17
17
  interval: 1
18
18
  command: |
19
19
  awk '/cpu MHz/ {sum += $4; count++} END {if (count > 0) print 1000000 * sum/count}' /proc/cpuinfo
@@ -27,9 +27,9 @@ memory_usage:
27
27
  format_value: as_bytes
28
28
  color: '#689d6a'
29
29
  memory_usage_percentage:
30
- title: "Memory Usage (%)"
30
+ title: "Memory Usage %"
31
31
  interval: 1
32
32
  command: |
33
- free -b | awk '/^Mem:/ { printf \"%.1f\", 100 * $3 / $2 }'
33
+ free -b | awk '/^Mem:/ { printf "%.1f", 100 * $3 / $2 }'
34
34
  format_value: as_percent
35
35
  color: '#689d6a'
@@ -43,7 +43,7 @@ class Graphina::Setup
43
43
  # not exist
44
44
  def infer_default_panels_path_from_platform
45
45
  case RUBY_PLATFORM
46
- when /\Ax86_64-darwin/, /\Ax86_64-linux/
46
+ when /\A(x86_64|arm64)-darwin/, /\Ax86_64-linux/
47
47
  path = default_panels_path($&)
48
48
  if path.exist?
49
49
  path
@@ -1,6 +1,6 @@
1
1
  module Graphina
2
2
  # Graphina version
3
- VERSION = '0.2.0'
3
+ VERSION = '0.4.0'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
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.2.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
@@ -43,14 +43,14 @@ dependencies:
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.45'
46
+ version: '1.49'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '1.45'
53
+ version: '1.49'
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: term-ansicolor
56
56
  requirement: !ruby/object:Gem::Requirement
@@ -152,6 +152,7 @@ files:
152
152
  - lib/graphina/graphina_config.rb
153
153
  - lib/graphina/panel.rb
154
154
  - lib/graphina/panel/chooser.rb
155
+ - lib/graphina/panel/defaults/arm64-darwin.yml
155
156
  - lib/graphina/panel/defaults/x86_64-darwin.yml
156
157
  - lib/graphina/panel/defaults/x86_64-linux.yml
157
158
  - lib/graphina/setup.rb
@@ -180,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
181
  - !ruby/object:Gem::Version
181
182
  version: '0'
182
183
  requirements: []
183
- rubygems_version: 3.7.2
184
+ rubygems_version: 4.0.2
184
185
  specification_version: 4
185
186
  summary: Gem for creating terminal-based data visualizations with real-time graphical
186
187
  displays using Unicode characters and ANSI styling.