• Stars
    star
    72
  • Rank 438,337 (Top 9 %)
  • Language
    Crystal
  • License
    ISC License
  • Created almost 7 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Get CPU, Memory and Network informations of the running OS and its processes

hardware

GitHub release Build Status

A basic module to get CPU, memory and network informations of the current running OS and its processes.

Tested on Linux.

Installation

Add this to your application's shard.yml:

dependencies:
  hardware:
    github: crystal-community/hardware

Documentation

The documentation is accessible at https://crystal-community.github.io/hardware.

It is generated with crystal docs in the gh-pages branch.

Examples

require "hardware"

memory = Hardware::Memory.new
memory.used         #=> 2731404
memory.percent.to_i #=> 32

cpu = Hardware::CPU.new
pid_stat = Hardware::PID.new.stat            # Default is Process.pid
app_stat = Hardware::PID.new("firefox").stat # Take the first matching PID

loop do
  sleep 1
  p cpu.usage!.to_i          #=> 17
  p pid_stat.cpu_usage!      #=> 1.5
  p app_stat.cpu_usage!.to_i #=> 4
end

Development

Docker

You can run the specs in a Docker container:

$ docker-compose up
$ docker-compose run spec

Contributing

  1. Fork it ( https://github.com/crystal-community/hardware/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

More Repositories

1

icr

Interactive console for Crystal programming language
Crystal
502
star
2

crystal-patterns

πŸ“– Examples of GOF patterns written in Crystal
Crystal
294
star
3

jwt

JWT implementation in Crystal
Crystal
205
star
4

crystal-libraries-needed

A list of libraries that are needed or wanted for the Crystal-Language
141
star
5

msgpack-crystal

MessagePack implementation in Crystal msgpack.org[Crystal]
Crystal
136
star
6

cossack

Simple and flexible HTTP client for Crystal with middleware and test support.
Crystal
106
star
7

kiwi

A unified Crystal interface for key-value stores.
Crystal
64
star
8

toml.cr

TOML parser for Crystal
Crystal
60
star
9

zeromq-crystal

Crystal
48
star
10

crystal-ann

Web site to announce new Crystal projects, blog posts, updates and other work activities
CSS
45
star
11

leveldb

Crystal binding for LevelDB
Crystal
39
star
12

future.cr

Crystal
34
star
13

bloom_filter

Bloom filter implementation in Crystal lang
Crystal
34
star
14

timecop.cr

A testing library that allows "time travel," "freezing time," and "time acceleration". Inspired by the ruby-timecop library.
Crystal
19
star
15

crystal-kcov

Crystal
17
star
16

autolink.cr

πŸ”— Auto link for Crystal
Crystal
16
star
17

crystal-notifications

A library for notifications, this started as a port from ActiveSupport::Notifications
Crystal
16
star
18

bluetooth

Bluetooth Bluez binding in Crystal
Crystal
10
star
19

cr-config

An all-in-one configuration library to handle any possible configuration need
Crystal
10
star
20

community

The crystal community
10
star
21

snappy-crystal

Snappy bindings for Crystal
Crystal
6
star
22

cr-i18n

Crystal
3
star
23

kilt-components

Crystal
2
star