R package vizgrimoire, to make life easier to those using Metrics Grimoire tools, and maybe vizGrimoireJS.
Some more documentation can be found in the vizGrimoireR wiki.
See the vizGrimoireR wiki for up to date information about dependencies and how to install the vizgrimoire R library from sources.
Each class is defined in the corresponding file, with a name starting with "Class", followed by the name of the class. For example, class Query is defined in file ClassQuery.
Hierarchy of R classes to deal with queries on SQL databases created by Metrics Grimoire.
- run: Returns a data frame with selected rows and field
This class, when initialized, makes a query on an ITS (issue tracking system) database, and stores the result as a data frame with the many times relevant for each ticket (open, closed, changed, etc.)
-
initalize (constructor): Accepts a query (by default uses its own one, which should work). Stores as columns in the dataset several times: time to fix (first fix), time to fix (last fix), time to fix (in hours), etc.
-
JSON: Dumps a JSON file
-
QuantilizeYears: Obtains a data frame with yearly quantiles data. Each column in the data frame will correspond to the quantiles for each year.
issues_closed <- new ("ITSTicketsTimes")
quantiles_ttofixm_year <- QuantilizeYears (issues_closed, quantiles_spec)
plotTimeSerieYearN (quantiles_ttofixm_year, as.character(quantiles_spec),
'its-quantiles-year-time_to_fix_min')
This class provides a framework for quering a database looking for aggregated monthly parameters (such as tickets open and ticker openers per month). Most of the functionality is here (initialize the object, create JSON files, etc.), but each child specializes its particularities, which are mainly the query needed to extract the data from the database.
-
initalize (constructor): uses the query in the children to get a monthly data frame. Each row corresponds to the data for a month. Each column is either one of the parameters queried, or some auxiliary value: id (year*12+month), year, month and a char format to show the month (such as Jun 2001).
-
Query: just a void class, a placeholder for children specifying the query to be performed for the specific data they contain
-
JSON: writes the object into a JSON file
Inherits from ITSMonthly.
Object with information about tickets open, and ticket openers, per month.
- Query: returns the SQL query to obtain the data for the object
open.monthly <- new ("ITSMonthlyOpen")
JSON(open.monthly, "its-open-monthly.json")
Inherits from ITSMonthly.
Object with information about tickets changed, and ticket changers, per month.
- Query: returns the SQL query to obtain the data for the object
Inherits from ITSMonthly.
Object with information about tickets closed (first close) per month.
- Query: returns the SQL query to obtain the data for the object
Inherits from ITSMonthly.
Object with information about tickets closed (last close) per month.
- Query: returns the SQL query to obtain the data for the object
Inherits from ITSMonthly.
Object with information about all monthly parameters related to tickets. Internally, it instantiated objects of all the sister classes, and merges them. Therefore, no query is done directly by this class: sister classes are the ones actually querying the database.
- initalize (constructor): Instatiates objects of the sister classes, and merges them to obtain a data frame with all monthly parameters relevant to tickets.
Hierarchy for dealing with specialized time series
Still to be written
Inherits from ts (should inherit from TimeSeries)
-
initalize (constructor): Accepts time serie to initialize, along with the list of columns and the labels to use for those columns.
-
Plot: Plots columns in object, using labels (if specified)
-
JSON: Dumps objet to file, as JSON
Hierarchy for handling a vector with times for certain events (for example, time to fix for a list of tickets)
Inherits from vector
-
initalize (constructor): accepts vector with times, and strings with units and label
-
PlotDist: Plots distribution of times (several histograms and density of probability)
issues_closed <- new ("ITSTicketsTimes")
tofix <- new ("Times", issues_closed$ttofix, "days",
"Time to fix, first close")
PlotDist (tofix, 'its-distrib_time_to_fix')