Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 129862 - Re-architecting the dashboard code
Summary: Re-architecting the dashboard code
Status: CLOSED INVALID
Alias: None
Product: Community
Classification: Eclipse Foundation
Component: Dashboard (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P1 critical (vote)
Target Milestone: ---   Edit
Assignee: Diego Figueroa CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 130623 130624 140952
Blocks: 109221 113716
  Show dependency tree
 
Reported: 2006-02-28 19:26 EST by Bjorn Freeman-Benson CLA
Modified: 2007-04-09 11:51 EDT (History)
1 user (show)

See Also:


Attachments
General patch to solve bugs 130623, 130624 and this one. (30.71 KB, application/zip)
2006-03-23 15:01 EST, Diego Figueroa CLA
no flags Details
Complete patch for bugs 130623, 130624, 109221 and this one. (60.46 KB, application/zip)
2006-04-06 15:46 EDT, Diego Figueroa CLA
no flags Details
New version of the files against the revised CVS HEAD (138.97 KB, application/zip)
2006-04-07 16:50 EDT, Diego Figueroa CLA
no flags Details
Patch with more debug info (1.45 KB, application/zip)
2006-04-11 11:46 EDT, Diego Figueroa CLA
no flags Details
DB Alteration routine. (444 bytes, application/zip)
2006-04-19 11:36 EDT, Diego Figueroa CLA
no flags Details
Newest dashboard patch including fixed for other bugs (#135290, #125395, #134273 and #113716) (4.85 KB, application/zip)
2006-04-20 20:40 EDT, Diego Figueroa CLA
no flags Details
Patch with latest items and documentation (11.15 KB, application/zip)
2006-05-18 16:35 EDT, Diego Figueroa CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bjorn Freeman-Benson CLA 2006-02-28 19:26:37 EST
The dashboard needs a new architecture similar to that described by bug 129861. The dashboard should consists of the following components:

1. An information database. A sql database containing the extracted and summarized data for each of the projects. This database will probably contain a number of tables. This data is long-lived, probably forever.
2. Log files for the extraction routines. These _text_ files will contain complete logs of how each bit of data in the database was extracted. The logs will be maintained for a month and then will be recycled.
3. A REST web api for extracting data from the database and log files from the archive. The returned database information will be CSV files; the returned log files will be text files.
4. A (single) nightly processing routine. This routine will run a number of information extraction modules and store the results in the database.
5. Information extraction modules. There are standard modules (scan a mailing list, scan a newsgroup, look at Bugzilla, etc.) and there can be project custom modules. The project custom modules will be stored in project’s own directory and will be described in the project-info.xml file. These can be used to scan non-standard, but still public, repositories of information. (This is a future feature; not version 1).
5. Various web pages that display dashboard information. These pages will use the REST api to extract the data from the database. Thus these pages are easily testable on local machines while the data resides on the central server.
Comment 1 Diego Figueroa CLA 2006-03-01 16:02:32 EST
Even though there is the possibility that this new architecture might not be finalized on your side I have a couple of questions about your views on the new architecture as some of the things in the backend will apparently change.

1. You mention that the DB will probably contain multiple tables. Are these tables the ones that hold the computed statistics information? If so what is the deciding factor on multiple tables vs one table like it currently is? 

2. Am I understanding correctly that the log files will no longer live as rows in the DB but will be kept in some filesystem? Will there be REST APIs to access these too or will they just be available for download as is now the case?
Comment 2 Bjorn Freeman-Benson CLA 2006-03-01 16:08:02 EST
Re: comment #1

1a. Yes. 
1b. One table versus multiple tables: I don't really know the answer. With one table it is more difficult to add a new statistic type because it requires modifying the schema. But it is easier to query one table. So perhaps one table is the way to go. In the end, it shouldn't matter if we abstract out the idea that we can query and update just a few of the statistics.

2a. I envision a set of text files named "log01.txt" and "log02.txt" and up to "log31.txt". The logs are written to the logDAYOFMONTH.txt file and thus automatically rotate. So, no, not in the database because we don't need to store them forever.

2b. Yes, a REST API. Of course the return value for http://www.eclipse.org/projects/dashboard/dashboard-log.php?day=03 will just be the text file iteself, so the return value from the API is quite simple.
Comment 3 Diego Figueroa CLA 2006-03-04 10:44:32 EST
Does having log files named logDAYOFMONTH.txt mean that there won't be per project log files and that they will all be concentrated in one single file? Or will they be something like: birt-log01.txt, gef-log28.txt, etc?
Comment 4 Bjorn Freeman-Benson CLA 2006-03-05 14:38:07 EST
project-logNN.txt
Comment 5 Diego Figueroa CLA 2006-03-06 13:46:09 EST
For this bug I see two parts:

1) Internal code changes: new way of storing log files, one piece of code to call all computation scripts.

and:

2) Change the dashboard so it uses REST APIs for the clients.

I would like to split this into two separate bugs making #2 above higher priority than #1. The reason being that the changes to #2 will be reflected sooner on the client side and when changes are to #1 the visible changes to an external viewer should be minimal.

Is this a possibility?
Comment 6 Bjorn Freeman-Benson CLA 2006-03-06 14:28:03 EST
Re: comment #5 - If you think that's best, go ahead.
Comment 7 Diego Figueroa CLA 2006-03-06 15:02:59 EST
Two new bugs created:

Change Dashboard to use REST APIs
https://bugs.eclipse.org/bugs/show_bug.cgi?id=130623

Change Dashboard internals
https://bugs.eclipse.org/bugs/show_bug.cgi?id=130624
Comment 8 Diego Figueroa CLA 2006-03-23 15:01:12 EST
Created attachment 36839 [details]
General patch to solve bugs 130623, 130624 and this one.
Comment 9 Diego Figueroa CLA 2006-03-23 15:43:47 EST
Attached patch should fix issues.
Comment 10 Bjorn Freeman-Benson CLA 2006-04-06 00:36:51 EDT
I'm confused by this patch. Here are some questions:

dashboard/dashboard_csv_download.php - doesn't seem to return any page at all much less a CSV file.

dashboard/dashboard_detail.php - includes a /projects/common/csv2dashboardinfo.class.php file that the patch does not include

common/dashboard.class.php - includes a /projects/common/file-utils.php that the patch does not include

...and then I stopped looking
Comment 11 Diego Figueroa CLA 2006-04-06 15:46:51 EDT
Created attachment 37934 [details]
Complete patch for bugs 130623, 130624, 109221 and this one.
Comment 12 Diego Figueroa CLA 2006-04-06 15:50:01 EDT
Latest patch should be complete and include various fixes for other bugs. 
Comment 13 Diego Figueroa CLA 2006-04-07 16:50:17 EDT
Created attachment 38040 [details]
New version of the files against the revised CVS HEAD
Comment 14 Diego Figueroa CLA 2006-04-11 11:46:12 EDT
Created attachment 38293 [details]
Patch with more debug info 

This new patch adds debug information to many of the components of the dashboard.
Comment 15 Bjorn Freeman-Benson CLA 2006-04-11 19:29:49 EDT
debug patch applied
Comment 16 Bjorn Freeman-Benson CLA 2006-04-19 02:38:15 EDT
The dashboard is completely blank.
Comment 17 Diego Figueroa CLA 2006-04-19 11:36:19 EDT
Created attachment 38934 [details]
DB Alteration routine.
Comment 18 Diego Figueroa CLA 2006-04-19 11:37:54 EDT
Changing status to fixed to trigger patching.
Comment 19 Diego Figueroa CLA 2006-04-20 20:40:02 EDT
Created attachment 39131 [details]
Newest dashboard patch including fixed for other bugs (#135290, #125395, #134273 and #113716)

Marking as reso/fixed to trigger patching. This patch has some code that related to bugs #135290, #125395, #134273 and #113716.
Comment 20 Bjorn Freeman-Benson CLA 2006-04-21 12:01:07 EDT
Patch applied.
Comment 21 Bjorn Freeman-Benson CLA 2006-05-09 17:26:28 EDT
Dashboard CSV files are empty and log files are empty thus I cannot tell if it works.
Comment 22 Diego Figueroa CLA 2006-05-18 16:35:32 EDT
Created attachment 41935 [details]
Patch with latest items and documentation

This patch contains fixes for bugs:

bug 129862
bug 106559
bug 134275
Comment 23 Diego Figueroa CLA 2006-05-18 16:36:17 EDT
Marked reso/fixed to trigger review
Comment 24 Bjorn Freeman-Benson CLA 2006-05-21 21:02:53 EDT
Reopening so that I can re-close this bug.
Comment 25 Bjorn Freeman-Benson CLA 2006-05-21 21:04:04 EDT
The current dashboard is being decommissioned and thus this bug is no longer relevant.
Comment 26 Bjorn Freeman-Benson CLA 2006-09-30 15:14:21 EDT
Closed.