Coder Social home page Coder Social logo

change-metrics / monocle Goto Github PK

View Code? Open in Web Editor NEW
356.0 10.0 56.0 8.55 MB

Monocle helps teams and individual to better organize daily duties and to detect anomalies in the way changes are produced and reviewed.

Home Page: https://demo.changemetrics.io/

License: GNU Affero General Public License v3.0

Python 1.21% HTML 0.06% JavaScript 2.62% Shell 0.05% Dhall 1.18% ReScript 22.19% Makefile 0.02% Haskell 69.76% Nix 2.23% CSS 0.02% Dockerfile 0.18% Just 0.47%
pull-requests github metric stats analytics gerrit reviews graphql change changes

monocle's People

Contributors

avanier avatar blackheaven avatar byjg avatar danpawlik avatar dependabot[bot] avatar flepied avatar fserucas avatar georgettica avatar lmilbaum avatar lunaticmuch avatar mergify[bot] avatar mhuin avatar morucci avatar mzjp2 avatar sooraj19 avatar stevenghines avatar tristancacqueray avatar yetanotheralex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

monocle's Issues

Create a generic crawler that take a projects.yaml file as input

Idea is to have one crawler process able to handle a list of project definition whatever project is hosted on Gerrit or Github.

Format could be as:

- projects:
   - name: my-project
     crawler:
         gerrit_repositories:
            - name: ^softwarefactory/.*
              updated_since: 2020-01-01
              loop_delay: 300
            - name: ^rpms/.*
              updated_since: 2020-01-01
              loop_delay: 300         
   - name: m-project-2
     crawler:
        github_orgs:
           - name: org1
             updated_since: 2020-01-01
             loop_delay: 300
           - name: org2
             updated_since: 2020-01-01
             loop_delay: 300       

backtrace in crawler

2020-04-17 09:37:51,285 - monocle.github.pullrequest - kubernetes/.* - INFO - Running request {'org': 'kubernetes', 'repository': None, 'updated_since': '2000-01-01', 'after': 'after: "Y3Vyc29yOjc3NQ=="', 'created_before': '2020-02-19T17:43:30Z', 'total_prs_count': 117727, 'size': 25, 'scope': 'org:kubernetes'}
Exception in thread kubernetes/.*:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.7/site-packages/monocle-0.1.0-py3.7.egg/monocle/crawler.py", line 79, in run
    self.run_step()
  File "/usr/local/lib/python3.7/site-packages/monocle-0.1.0-py3.7.egg/monocle/crawler.py", line 71, in run_step
    prs = self.prf.get(updated_since)
  File "/usr/local/lib/python3.7/site-packages/monocle-0.1.0-py3.7.egg/monocle/github/pullrequest.py", line 226, in get
    hnp = self._getPage(kwargs, prs)
  File "/usr/local/lib/python3.7/site-packages/monocle-0.1.0-py3.7.egg/monocle/github/pullrequest.py", line 198, in _getPage
    for pr in data['data']['search']['edges']:
KeyError: 'data'

web: reduce date format to different parts

To improve readability, dates used in the labels should be reduced to the parts where they differ. For example, if all the dates are on the same year, year must be filtered out.

Search authors page

As a user I want to search for an author and automatically fill the author field in the filter box.

Add index name support (tenant)

An EL index name should be able to be specified when calling the crawler.
When starting the web API the EL index could be specified.

This will help to support multitenancy.

autoscaling

  • do not expose the interval anymore.
  • compute the number of points automatically according to the period.

get filenames from Changes

this will enable to compute languages according to file extensions and detect if there are tests in the change.

Use Link instead of a

To avoid page reload, internal links must use <Link> instead of <a> to respect the Single Page Application principle of React app.

Configuration management in the UI

Manage the configuration in the UI. An authenticated account with the right authorization will be able to change the settings for his tenant:

  • add/remove repositories
  • add/remove users
  • manage teams
  • manage periods to be able to manage sprints or release cycles.
  • manage projects (group of repositories)

home page

have a light home page listing all the available indexes.

default start date

provide a default start date to avoid overloaded graphs and too big data to manipulate.

Role management

manage 2 different roles:

  • manager defaulting to the team view
  • developer defaulting to the contributor view

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.