The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"perl + snmp + timeticks = как  подсчитать общее кол-во минут"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

"perl + snmp + timeticks = как  подсчитать общее кол-во минут"  +/
Сообщение от slog11 email(??) on 11-Июл-05, 12:59 
Здравствуйте.

По SNMP запросу (get_request) получаем счетчик работы интерфейса типа timeticks. Если потом вывести через print, то получаем в формате "2 days, 10 hours, 12 minutes, 00.00".

Подскажите, пожалуйста, как преобразовать вывод в общее количество минут и вывести как целое.

Спасибо.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "perl + snmp + timeticks = как  подсчитать общее кол-во минут"  +/
Сообщение от rWizard email(ok) on 11-Июл-05, 14:00 
если не вдумываться, то -

my $request = "2 days, 10 hours, 12 minutes, 00.00";
$request =~ m/(\d+?) days, (\d+?) hours, (\d+?) munutes/i;
my $minutes = $1*1440 + $2*60 + $3;

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "perl + snmp + timeticks = как  подсчитать общее кол-во минут"  +/
Сообщение от den68 (ok) on 22-Фев-08, 01:52 
>если не вдумываться, то -
>
>my $request = "2 days, 10 hours, 12 minutes, 00.00";
>$request =~ m/(\d+?) days, (\d+?) hours, (\d+?) munutes/i;
>my $minutes = $1*1440 + $2*60 + $3;

а наобарот, из Timeticks в читаемое выражение ?


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "perl + snmp + timeticks = как  подсчитать общее кол-во минут"  +/
Сообщение от dgyn email on 14-Окт-10, 14:17 
если мы говорим о perl, то в шапке скрипта можно написать

use Net::SNMP qw(ticks_to_time);

а в коде писать:

$data = ticks_to_time($data);

before: 178759254
after: 20 days, 16:33:12.54

если чисто из спортивного интереса то можно так:
my $hrs  = int($data / (60 * 60 * 100)); # Data is hundredths of a second
my $mins = int($data / (60 * 100)) % 60;
my $secs = ($data % 100) / 100;
printf "%d:d:.2f | ", $hrs, $mins, $secs;

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру