Project

General

Profile

Actions

Feature #1124

closed

Hawat - Overview - granularita časových grafů

Added by Pavel Kácha over 11 years ago. Updated about 11 years ago.

Status:
Closed
Priority:
Normal
Category:
Development - GUI
Target version:
Start date:
07/29/2013
Due date:
% Done:

0%

Estimated time:
To be discussed:

Description

Bude potřeba heuristika granularity + větší granularita v časových grafech.


Files

Actions #1

Updated by Radomír Orkáč over 11 years ago

  • Status changed from New to In Progress

Podklady pro poradu..., urcite to musim vysvetlit:)

Nastrel granurality:

# IF (($interval > 10 hours) AND ($interval <= 21 hours)) THEN 3 hours  ;; graph_min: 10/3=3.3  ;; graph_max: 21/3=7
# IF (($interval > 21 hours) AND ($interval <= 42 hours)) THEN 6 hours  ;; graph_min: 21/6=3.5  ;; graph_max: 42/6=7
# IF (($interval > 42 hours) AND ($interval <= 84 hours)) THEN 12 hours ;; graph_min: 42/12=3.5 ;; graph_max: 84/12=7
# IF (($interval > 84 hours) AND ($interval <= 7 days))   THEN 24 hours ;; graph_min: 84/24=3.5 ;; graph_max: 168/24=7
# IF (($interval > 7 days) AND ($interval <= 14 days))    THEN 2 days   ;; graph_min: 7/2=3.5 ;; graph_max: 14/2=7
# IF (($interval > 14 days) AND ($interval <= 21 days))   THEN 3 days   ;; graph_min: 14/3=4.7 ;; graph_max: 21/3=7
# IF (($interval > 21 days) AND ($interval <= 28 days))   THEN 4 days   ;; graph_min: 21/4=5.3 ;; graph_max: 28/4=7
# IF (($interval > 28 days) AND ($interval <= 49 days))   THEN 7 days   ;; graph_min: 28/7=5.3 ;; graph_max: 49/7=7
# IF (($interval > 49 days) AND ($interval <= 98 days))   THEN 14 days  ;; graph_min: 49/14=3.5 ;; graph_max: 98/14=7
# IF (($interval > 98 days) AND ($interval <= 365 days))  THEN 30 days  ;; graph_min: 98/30=3.3 ;; graph_max: 365/30=12

Ukazka, vstup:

my $from = '2013-06-12 20:39:01';
my $to   = '2013-08-30 20:39:01';
my $alert= '2013-07-30 20:39:01';

Ukazka, vystup:

granul = 14*den
alert = 3. granul

Dotaz:

https://mentat.vsb.cz/dashboard?query=&from=2013-06-12+20%3A39%3A01&to=2013-08-06+20%3A39%3A01

Actions #2

Updated by Pavel Kácha over 11 years ago

  • je potřeba doplnit prázdné hodnoty
  • popisky sloupců, pokud možno krátké, svislé
Actions #3

Updated by Radomír Orkáč over 11 years ago

Hotovo, odkazy pro poradu:

https://mentat.vsb.cz/dashboard?query=&from=2013-07-25+15%3A10%3A24&to=2013-08-05+15%3A10%3A24
https://mentat.vsb.cz/dashboard?query=&from=2013-07-27+15%3A10%3A24&to=2013-08-03+15%3A10%3A24

Actions #4

Updated by Pavel Kácha over 11 years ago

  • ostrá data alespoň měsíc, ať je na grafech něco vidět
  • místo popisku interval, volit popisek podle granularity
  • větší granularita, na příkladu by se hodila alespoň dvojnásobná
Actions #5

Updated by Pavel Kácha about 11 years ago

  • popisek - pokud možno nejkratší smysluplný popisek ve spojitosti s granularitou a rozsahem. Tj. např. od 3 ráno do 3 odpoledne s hodinovou granularitou stačí hodina, od 3 jednoho dne do 3 druhého dne dalšího dne je potřeba den a hodina. A např. pokud napříč roky, dodám rok, pokud pod den, nemusí tam být den v měsíci a měsíc.
  • doplnit granularitu pod hodinové intervaly (skončíme nejmenší možnou vteřinovou)
Actions #6

Updated by Radomír Orkáč about 11 years ago

  • popisek - pokud možno nejkratší smysluplný popisek ve spojitosti s granularitou a rozsahem. Tj. např. od 3 ráno do 3 odpoledne s hodinovou granularitou stačí hodina, od 3 jednoho dne do 3 druhého dne dalšího dne je potřeba den a hodina. A např. pokud napříč roky, dodám rok, pokud pod den, nemusí tam být den v měsíci a měsíc.

Do porady snad stihnu.

  • doplnit granularitu pod hodinové intervaly (skončíme nejmenší možnou vteřinovou)

Predelano az po 1 vterinu.

Actions #7

Updated by Radomír Orkáč about 11 years ago

  • popisek - pokud možno nejkratší smysluplný popisek ve spojitosti s granularitou a rozsahem. Tj. např. od 3 ráno do 3 odpoledne s hodinovou granularitou stačí hodina, od 3 jednoho dne do 3 druhého dne dalšího dne je potřeba den a hodina. A např. pokud napříč roky, dodám rok, pokud pod den, nemusí tam být den v měsíci a měsíc.

Udelal jsem nastrel ("nastrel" byl dohodnut na porade:))
Viz screenshoty + pobavime se na porade.

Actions #8

Updated by Pavel Kácha about 11 years ago

Proč se zobrazují u zarovnaných časů nuly jinak než na screenshotech?

Actions #9

Updated by Radomír Orkáč about 11 years ago

1. chyba byla v localtime -> budu jeste konzultovat s Mekem:

Podle me bychom mohli pridat funkci, ktera vrati datetime (nemel jsem tam localtime):

    lib/Mentat/Storage/Mongo/Aggregator.pm
    my $f = DateTime->from_epoch(epoch => $epoch_from, time_zone => 'local');
    my $t = DateTime->from_epoch(epoch => $epoch_to, time_zone => 'local');

2. Druha chyba byla jen v nespravne podmince.

Pridavam screenshoty.

Actions #10

Updated by Radomír Orkáč about 11 years ago

Jeste na jednom miste mam vyuziti datetime mimo nase predpripravene funkce:

mentat/lib/Mentat/Storage/Mongo/Aggregator.pm:449

my $tg = DateTime->from_epoch(epoch => $g, time_zone => 'local');

Actions #11

Updated by Radomír Orkáč about 11 years ago

RO poznamka..

V casovem grafu se nezobrazuji nulove hodnoty, chyba jde za mnou, nastalo to nejakou moji upravou, doklada to vypis:

Mon Oct 14 20:10:27 2013 mentat apache2[4573]: INFO: class2_granul: $VAR1 = {
          '5' => '07:58:51',
          '2' => '19:58:51',
          '0' => '19:58:51',
          '8' => '19:58:51',
          '6' => '19:58:51',
          '11' => '07:58:51',
          '4' => '19:58:51',
          '1' => '07:58:51',
          '10' => '19:58:51',
          '3' => '07:58:51',
          '9' => '07:58:51',
          '7' => '07:58:51'
        };

Mon Oct 14 20:24:46 2013 mentat apache2[4668]: INFO: _get_data_graph_bar granul1: $VAR1 = {
          'bar' => {
                     'totalsum' => 0,
                     'granul' => {
                                   '07:58:51' => {
                                                   '' => 0
                                                 },
                                   '19:58:51' => {
                                                   '' => 0
                                                 }
                                 }
                   }
        };

Actions #12

Updated by Radomír Orkáč about 11 years ago

Opraveno.

Zustava #9 a #10 - Datetime

Actions #13

Updated by Radomír Orkáč about 11 years ago

  • Status changed from In Progress to Feedback

Opraveno/pridano - funkce, ktera vraci datetime:

=item unixs_to_datetime($;$) [PUBLIC,HYBRID]

  Usage     : my $result = Value::Convertor->unixs_to_datetime($value, $print_in_local);
              my $result = $convertor->unixs_to_datestr($value, $print_in_local);
  Purpose   : Converts 'unix_stamp' to 'DateTime'
  Arguments : INTEGER|FLOAT $unixstamp - Value to be converted [MANDATORY]
              BOOL $print_in_local - display the timestamp in local time, not UTC/GMT
  Returns   : DateTime
  Throws    : Dies, if not given any conversion argument

=cut

sub unixs_to_datetime($;$)
{
    my $invocant = shift;
    my ($unixstamp, $print_in_local) = @_;
    croak ((caller(0))[3] . ": expected conversion argument not given") unless defined $unixstamp;

    # Assume all timestamps to be in UTC/GMT
    my $dt = DateTime->from_epoch(epoch => $unixstamp, time_zone => 'UTC');

    # Print time in local time zone?
    unless ($print_in_local)
    {
        $dt->set_time_zone('UTC');
        return $dt;
    }
    else
    {
        $dt->set_time_zone($TIME_ZONE);
        return $dt;
    }
}

Actions #14

Updated by Pavel Kácha about 11 years ago

  • Status changed from Feedback to Closed
Actions

Also available in: Atom PDF