Difference between revisions of "Accounting Dashboard"
(→Aggregated Accounting) |
(→Access Library) |
||
Line 31: | Line 31: | ||
<artifactId>accounting-summary-access</artifactId> | <artifactId>accounting-summary-access</artifactId> | ||
</source> | </source> | ||
+ | |||
+ | Source code can be found at [[https://code-repo.d4science.org/gCubeSystem/accounting-summary-access| code repo.]] | ||
Revision as of 15:07, 2 February 2023
In this guide we describe the Accounting Dashboard web interface.
Overview
Accounting Dashboard is a tool for analyzing and displaying accounting information of the D4Science e-Infrastructure.
Aggregated Accounting
The Dashboard relies on the accounting-summary-access gCube module in order to get reports from the underlying repository.
The repository is a postgres DB registered as a Service Endpoint with the following gCube Coordinates :
- Category : Database
- Name : AccountingDashboard
In order to maximize flexibility, the ER model is very simple, as shown in the diagram below.
Access Library
Applications aiming to interact with the DB (either for write or read operations) are expected to use the dedicated library distributed with the following maven coordinates :
<groupId>org.gcube.accounting</groupId> <artifactId>accounting-summary-access</artifactId>
Source code can be found at [code repo.]
The interface org.gcube.accounting.accounting.summary.access.AccountingDao represents the contract with client applications, exposing all methods required for insertions and queries.
The following code is an example of query submission :
AccountingDao dao=AccountingDao.get(); ScopeDescriptor desc =dao.getTree(..); Instant from = ... Instant to = ... Report rep = dao.getReportByScope(desc, from, to, MeasureResolution.MONTHLY);
The class ScopeDescriptor represents an (arbitrary) aggregation of contexts (see accounting dashboard portlet), which the library interprets to prepare the Report object.
The class Report represents the result of the submitted query, containing a Series of ReportElement, each of which representing a graph of multiple timeseries (see accounting dashbord portlet).
NB : The library test cases expect a token.properties file in classpath defining available gcube-credentials as the following example:
/gcube/devNext/NextNext=.... /pred4s/preprod=...