guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Outreachy: Timeline tasks


From: Luciana Lima Brito
Subject: Re: Outreachy: Timeline tasks
Date: Fri, 30 Apr 2021 21:19:02 +0000

On Fri, 30 Apr 2021 18:05:15 +0100
Christopher Baines <mail@cbaines.net> wrote:

> >
> > Task 1: Add instrumentation to identify the slow parts of processing
> > new revisions:
> >
> >   - Implementing a chart over time to identify slow parts:
> >     - The chart should consider two aspects, the time took by
> >       each specific part, and its name, for identification
> >       purpose. A bar chart is a good candidate for this task, it is
> >       simple and can show the whole picture of the time taken by the
> >       system to process a new revision;
> >     - The bars on the chart should be sorted in order of
> >       precedence of the process in the X axis, and its height, which
> >       is determined by the time it takes, measured in the Y
> >       axis;  
> 
> I'm not sure what you mean by "precedence of the process" here?

As we are concerned only with the time each process takes, and each bar
on the chart will be presented side by side, the order of the bars would
be the order that the processes appear. If you prefer, they could be
sorted alphabetically, or by time taken.

> >     - The charts should work as picture-logs for timing;
> >     - A chart should be generated for each new revision in real
> >       time; 
> 
> It would be good to say explicitly how the chart will be stored, since
> "the same way as the logs already are" is quite vague.

I misunderstood this point so this part about storing the chart is
completely messed. But I think now I got it. Let me correct the last
point and add some more:
  ...
        - The time is already being computed for each part and it
          is shown in the logs, the same data can be used to build the charts.
          The data to build the chart for each revision could be
          stored as a new table in the database*, first in parts, for
          when a revision is still being processed, then combining their
          parts when the processing is finished.
        - The new table on the database should store three information:
          the job_id, the action, and the time taken.
        - Then, when one wants to see the chart, this table is queried
          and the chart is rendered as html.

* Although the information is already in the log, it is stored as a
  text, so it is harder to get the names of the actions and the time
  taken by each, so I think that create a new table, with only these
  values, is more suitable. 
> 
> Great, this is more like it.

:)

-- 
Best Regards,

Luciana Lima Brito
MSc. in Computer Science



reply via email to

[Prev in Thread] Current Thread [Next in Thread]