Giter Site home page Giter Site logo

vizgrimoirer's Introduction

vizGrimoireR

R package vizgrimoire, to make life easier to those using Metrics Grimoire tools, and maybe vizGrimoireJS.

Installation from source

From the parent directory of vizgrimoire:

% R CMD INSTALL vizgrimoire

Or locally:

% R CMD INSTALL -l <local_dir> vizgrimoire % R_LIBS=<local_dir>:$R_LIBS R --vanilla ....

Or, to produce a tarball, from the vizgrimoire directory:

% R CMD build # To build the package tarball % R CMD check # To check the package tarball

General issues

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.

Query class hierarchy

Hierarchy of R classes to deal with queries on SQL databases created by Metrics Grimoire.

Query: Root of the hierarchy

Methods:

  • run: Returns a data frame with selected rows and field

ITSTicketsTimes: class for handling the many times of each ticket

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.)

Methods:

  • 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.

Example:

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')

ITSMonthly: class for dealing with monthly parameters

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.

Methods

  • 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

ITSMonthlyOpen: class for tickets open, openers per month

Inherits from ITSMonthly.

Object with information about tickets open, and ticket openers, per month.

Methods

  • Query: returns the SQL query to obtain the data for the object

Example of use

open.monthly <- new ("ITSMonthlyOpen")
JSON(open.monthly, "its-open-monthly.json")

ITSMonthlyChanged: class for tickets changed, changers per month

Inherits from ITSMonthly.

Object with information about tickets changed, and ticket changers, per month.

Methods

  • Query: returns the SQL query to obtain the data for the object

ITSMonthlyClosed: class for tickets closed (first close) per month

Inherits from ITSMonthly.

Object with information about tickets closed (first close) per month.

Methods

  • Query: returns the SQL query to obtain the data for the object

ITSMonthlyLastClosed: class for tickets closed (last close) per month

Inherits from ITSMonthly.

Object with information about tickets closed (last close) per month.

Methods

  • Query: returns the SQL query to obtain the data for the object

ITSMonthlyVarious: class for all monthly parameters related to tickets

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.

Methods

  • initalize (constructor): Instatiates objects of the sister classes, and merges them to obtain a data frame with all monthly parameters relevant to tickets.

Time series class hierarchy

Hierarchy for dealing with specialized time series

TimeSeries: Root of the hierarchy

Still to be written

TimeSeriesYears: Class for annual time series

Inherits from ts (should inherit from TimeSeries)

Methods

  • 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

Times class hierarchy

Hierarchy for handling a vector with times for certain events (for example, time to fix for a list of tickets)

Times: Root of the hierarchy

Inherits from vector

Methods:

  • initalize (constructor): accepts vector with times, and strings with units and label

  • PlotDist: Plots distribution of times (several histograms and density of probability)

Example of use:

issues_closed <- new ("ITSTicketsTimes")
tofix <- new ("Times", issues_closed$ttofix, "days",
              "Time to fix, first close")
PlotDist (tofix, 'its-distrib_time_to_fix')

vizgrimoirer's People

Contributors

canasdiaz avatar dicortazar avatar jgbarah avatar magicbroom avatar softmarina avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.