removed junk, reindentation to adhere to style guidelines

This commit is contained in:
Pawel "l0ner" Soltys 2015-01-20 02:57:14 +01:00
parent 580b076b79
commit 3e7ce96903
7 changed files with 164 additions and 130 deletions

@ -1,5 +1,7 @@
/*
/* vim: tabstop=2 shiftwidth=2 expandtab textwidth=80 linebreak wrap
*
* Copyright 2012 Matthew McCormick
* Copyright 2015 Pawel 'l0ner' Soltys
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -12,10 +14,7 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* */
// This file was Authored by Justin Crawford <Justasic@gmail.com>
// Based on: github.com/freebsd/freebsd/blob/master/usr.bin/top/machine.c
// Based on: Apple.cpp for load_string/mem_string and apple's documentation
*/
#include <sys/types.h>
#include <unistd.h> // usleep
@ -34,7 +33,7 @@ uint8_t get_cpu_count()
if(sysctl(mib, 2, &cpu_count, &len, NULL, 0) < 0)
{
error("sysctl: error getting cpu count");
error("sysctl: error getting cpu count");
}
return cpu_count;
@ -52,7 +51,7 @@ float cpu_percentage( unsigned int cpu_usage_delay )
// get cpu times
if(sysctl(cpu_ctl, 2, &load1, &size, NULL, 0) < 0)
{
error("sysctl: error getting cpu stats");
error("sysctl: error getting cpu stats");
}
usleep(cpu_usage_delay);
@ -60,7 +59,7 @@ float cpu_percentage( unsigned int cpu_usage_delay )
// update cpu times
if(sysctl(cpu_ctl, 2, &load2, &size, NULL, 0) < 0)
{
error("sysctl: error getting cpu stats");
error("sysctl: error getting cpu stats");
}
// Current load times
@ -80,6 +79,6 @@ float cpu_percentage( unsigned int cpu_usage_delay )
unsigned long long diff_idle = next_idle - current_idle;
return static_cast<float>(diff_user + diff_system + diff_nice) /
static_cast<float>(diff_user + diff_system + diff_nice + diff_idle) *
100.0;
static_cast<float>(diff_user + diff_system + diff_nice + diff_idle) *
100.0;
}

@ -1,3 +1,21 @@
/* vim: tabstop=2 shiftwidth=2 expandtab textwidth=80 linebreak wrap
*
* Copyright 2012 Matthew McCormick
* Copyright 2015 Pawel 'l0ner' Soltys
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef CPU_H_
#define CPU_H_

@ -1,5 +1,7 @@
/*
/* vim: tabstop=2 shiftwidth=2 expandtab textwidth=80 linebreak wrap
*
* Copyright 2012 Matthew McCormick
* Copyright 2015 Pawel 'l0ner' Soltys
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -12,29 +14,13 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* */
// This file was Authored by Justin Crawford <Justasic@gmail.com>
// Based on: github.com/freebsd/freebsd/blob/master/usr.bin/top/machine.c
// Based on: Apple.cpp for load_string/mem_string and apple's documentation
*/
#ifndef BSD_METER_COMMON_H_
#define BSD_METER_COMMON_H_
#ifndef BSD_ERROR_H_
#define BSD_ERROR_H_
#include <iostream>
// Memory Sizes
#define KILOBYTES(x) ((x)/1024)
#define MEGABYTES(x) (KILOBYTES((x))/1024)
#define GIGABYTES(x) (MEGABYTES((x))/1024)
// CPU percentages stuff
#define CP_USER 0
#define CP_NICE 1
#define CP_SYS 2
#define CP_INTR 3
#define CP_IDLE 4
#define CPUSTATES 5
inline void error(const char * error) {
std::cerr << error << std::endl;
exit(23);

@ -1,5 +1,7 @@
/*
/* vim: tabstop=2 shiftwidth=2 expandtab textwidth=80 linebreak wrap
*
* Copyright 2012 Matthew McCormick
* Copyright 2015 Pawel 'l0ner' Soltys
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -12,11 +14,7 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* */
// This file was Authored by Justin Crawford <Justasic@gmail.com>
// Based on: https://github.com/freebsd/freebsd/blob/master/usr.bin/top/machine.c
// Based on: Apple.cpp for load_string/mem_string and apple's documentation
*/
#include <sstream>
#include <string>
@ -39,37 +37,37 @@ std::string load_string( bool use_colors = false )
if( getloadavg( averages, nelem ) < 0)
{
ss << "0.00 0.00 0.00"; // couldn't get averages.
ss << "0.00 0.00 0.00"; // couldn't get averages.
}
else
{
if( use_colors )
{
// may not work
uint8_t cpu_count = get_cpu_count();
if( use_colors )
{
// may not work
uint8_t cpu_count = get_cpu_count();
unsigned load_percent = static_cast<unsigned int>(
averages[0] / cpu_count * 0.5f * 100.0f);
unsigned load_percent = static_cast<unsigned int>(
averages[0] / cpu_count * 0.5f * 100.0f);
if( load_percent > 100 )
{
load_percent = 100;
}
if( load_percent > 100 )
{
load_percent = 100;
}
ss << load_lut[load_percent];
}
ss << load_lut[load_percent];
}
for( int i = 0; i < nelem; ++i )
{
// Round to nearest, make sure this is only a 0.00 value not a 0.0000
float avg = floorf( static_cast<float> (averages[i] ) * 100 + 0.5 ) / 100;
ss << avg << " ";
}
for( int i = 0; i < nelem; ++i )
{
// Round to nearest, make sure this is only a 0.00 value not a 0.0000
float avg = floorf( static_cast<float> (averages[i] ) * 100 + 0.5 ) / 100;
ss << avg << " ";
}
if( use_colors )
{
ss << "#[fg=default,bg=default]";
}
if( use_colors )
{
ss << "#[fg=default,bg=default]";
}
}

@ -1,3 +1,21 @@
/* vim: tabstop=2 shiftwidth=2 expandtab textwidth=80 linebreak wrap
*
* Copyright 2012 Matthew McCormick
* Copyright 2015 Pawel 'l0ner' Soltys
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef LOAD_H_
#define LOAD_H_

@ -1,5 +1,7 @@
/*
/* vim: tabstop=2 shiftwidth=2 expandtab textwidth=80 linebreak wrap
*
* Copyright 2012 Matthew McCormick
* Copyright 2015 Pawel 'l0ner' Soltys
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -12,12 +14,7 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* */
// This file was Authored by Justin Crawford <Justasic@gmail.com>
// Pawel Soltys <pwslts@gmail.com>
//#error ToDo: OpenBSD. This file is incomplete and likely will not compile if
//you remove this error (it is here to tell you it's unfinished)
*/
#include <sstream>
#include <string>
@ -37,76 +34,76 @@ static int pageshift;
std::string mem_string( bool use_colors = false )
{
std::ostringstream oss;
std::ostringstream oss;
// These values are in bytes
int64_t total_mem = 0;
int64_t used_mem = 0;
int32_t free_mem = 0;
size_t size;
// These values are in bytes
int64_t total_mem = 0;
int64_t used_mem = 0;
int32_t free_mem = 0;
size_t size;
// get page size
static int hw_pagesize[] = { CTL_HW, HW_PAGESIZE };
int page_size = 0;
size = sizeof( page_size );
if( sysctl( hw_pagesize, 2, &page_size, &size, NULL, 0) < 0)
{
error("memory: error getting page size");
exit(23);
}
// get page size
static int hw_pagesize[] = { CTL_HW, HW_PAGESIZE };
int page_size = 0;
size = sizeof( page_size );
if( sysctl( hw_pagesize, 2, &page_size, &size, NULL, 0) < 0)
{
error("memory: error getting page size");
exit(23);
}
// calculate how far we must shift the variables
pageshift = 0;
while( page_size > 1 )
{
pageshift++;
page_size >>= 1;
}
// calculate how far we must shift the variables
pageshift = 0;
while( page_size > 1 )
{
pageshift++;
page_size >>= 1;
}
// get vm memory stats
static int vm_totalmem[] = { CTL_VM, VM_METER };
struct vmtotal vm_total;
size = sizeof( vm_total );
if( sysctl( vm_totalmem, 2, &vm_total, &size, NULL, 0 ) < 0 )
{
error("memory: error getting vm memory stats");
exit(23);
}
// get vm memory stats
static int vm_totalmem[] = { CTL_VM, VM_METER };
struct vmtotal vm_total;
size = sizeof( vm_total );
if( sysctl( vm_totalmem, 2, &vm_total, &size, NULL, 0 ) < 0 )
{
error("memory: error getting vm memory stats");
exit(23);
}
// In case we need it, this gets the cached memory (bcstats.numbufpages)
static int vm_bcstats[] = { CTL_VFS, VFS_GENERIC, VFS_BCACHESTAT };
struct bcachestats bcstats;
size = sizeof( bcstats );
if( sysctl( vm_bcstats, 3, &bcstats, &size, NULL, 0 ) < 0 )
{
error( "memory: error getting cached memory size" );
exit( 23 );
}
// In case we need it, this gets the cached memory (bcstats.numbufpages)
static int vm_bcstats[] = { CTL_VFS, VFS_GENERIC, VFS_BCACHESTAT };
struct bcachestats bcstats;
size = sizeof( bcstats );
if( sysctl( vm_bcstats, 3, &bcstats, &size, NULL, 0 ) < 0 )
{
error( "memory: error getting cached memory size" );
exit( 23 );
}
// calculations based on conky openbsd port
used_mem = pagesh( vm_total.t_rm );
free_mem = pagesh( vm_total.t_free );
// calculations based on conky openbsd port
used_mem = pagesh( vm_total.t_rm );
free_mem = pagesh( vm_total.t_free );
// from nagios-memory plugin
used_mem -= pagesh( bcstats.numbufpages );
free_mem += pagesh( bcstats.numbufpages );
// from nagios-memory plugin
used_mem -= pagesh( bcstats.numbufpages );
free_mem += pagesh( bcstats.numbufpages );
// calculate total memory
total_mem = used_mem + free_mem;
// calculate total memory
total_mem = used_mem + free_mem;
if( use_colors )
{
oss << mem_lut[( 100 * used_mem ) / total_mem];
}
if( use_colors )
{
oss << mem_lut[( 100 * used_mem ) / total_mem];
}
oss << convert_unit( used_mem, MEGABYTES )
<< '/' << convert_unit( total_mem, MEGABYTES ) << "MB";
oss << convert_unit( used_mem, MEGABYTES )
<< '/' << convert_unit( total_mem, MEGABYTES ) << "MB";
if( use_colors )
{
oss << "#[fg=default,bg=default]";
}
if( use_colors )
{
oss << "#[fg=default,bg=default]";
}
return oss.str();
return oss.str();
}

@ -1,3 +1,21 @@
/* vim: tabstop=2 shiftwidth=2 expandtab textwidth=80 linebreak wrap
*
* Copyright 2012 Matthew McCormick
* Copyright 2015 Pawel 'l0ner' Soltys
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef MEMORY_H_
#define MEMORY_H_