DoESLiverpool / somebody-should

A place to document practices on the wiki and collect issues/suggestions/to-do items for the physical space at DoES Liverpool
31 stars 11 forks source link

Build(/find) a tool to get better stats from our issues #546

Open amcewen opened 7 years ago

amcewen commented 7 years ago

Recently there was a question asked about how reliable (or more specifically how unreliable) the laser-cutters are. At present, any answer to that is highly subjective. However, we do have some data about it that could help - the issues raised and closed here.

Github don't seem to have many tools to help with this (which I'm a bit surprised at, tbh), but the sort of things I think would be useful would be ways to find out (and graph?):

Ideally we'd exclude (possibly optionally) issues that were closed with "5 - Won't DoES", "duplicate", "invalid" or "Holding out for a hero" labels as they're issues that didn't result in a fix.

We'd also need to only include issues with a given label, in order to just look at issues with Sophia, for example.

Some sort of view of how that changes over time would be good - maybe by month, or by year? - so we can see if something is having an increasing number of problems (this could be just because people are reporting things more, but could also be a sign that we need to start planning a complete replacement)

As I mention, I was surprised that there aren't such tools already lying around, given how many projects are managed on Github, but the nearest I've found so far is https://github.com/MorrisJobke/github-issue-counter

I'll have a look at modifying that sometime, but it's in Python which isn't my strongest language. If someone else wants to pick it up and run with it I'd be most happy :-)

ajlennon commented 7 years ago

I wonder if this would be an ideal project for somebody from somewhere like The Studio - Partners

I see Red Ninja are partnered with The Studio.

Perhaps DoES should reach out and have a chat?

DoESsean commented 5 years ago

This seems like something that would be useful, and also (from an absolute layman's position) doable.

Is it likely to happen? Should we just close it and give it up as 'nice idea but not going to happen'?

amcewen commented 2 years ago

https://lukasz.langa.pl/f15a8851-af26-4e94-a4b1-c146c57c9d20/ is an interesting blog post detailing using datasette to analyze github contributions. It's commits/PRs rather than issues, but some of the data ingest stuff might be applicable.

Datasette also has a related tool to fetch data from github and turn it into a database, so just running that against this repo to fetch all the issue data would be a good first step.

MatthewCroughan commented 2 years ago

Can that github-to-sqlite be turned into an InfluxDB so we can use it with Grafana and-or other tools?

It does look like SQlite works with Grafana via this plugin, via so maybe no conversion is necessary.

curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/DoESLiverpool/somebody-should/issues currently returns stuff like this, would it be any good to put each value into an InfluxDB over time?

[
  {
    "url": "https://api.github.com/repos/DoESLiverpool/somebody-should/issues/1620",
    "repository_url": "https://api.github.com/repos/DoESLiverpool/somebody-should",
    "labels_url": "https://api.github.com/repos/DoESLiverpool/somebody-should/issues/1620/labels{/name}",
    "comments_url": "https://api.github.com/repos/DoESLiverpool/somebody-should/issues/1620/comments",
    "events_url": "https://api.github.com/repos/DoESLiverpool/somebody-should/issues/1620/events",
    "html_url": "https://github.com/DoESLiverpool/somebody-should/issues/1620",
    "id": 1028087328,
    "node_id": "I_kwDOAWVneM49R14g",
    "number": 1620,
    "title": "Tony not cutting square",
    "user": {
      "login": "magman2112",
      "id": 37077154,
      "node_id": "MDQ6VXNlcjM3MDc3MTU0",
      "avatar_url": "https://avatars.githubusercontent.com/u/37077154?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/magman2112",
      "html_url": "https://github.com/magman2112",
      "followers_url": "https://api.github.com/users/magman2112/followers",
      "following_url": "https://api.github.com/users/magman2112/following{/other_user}",
      "gists_url": "https://api.github.com/users/magman2112/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/magman2112/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/magman2112/subscriptions",
      "organizations_url": "https://api.github.com/users/magman2112/orgs",
      "repos_url": "https://api.github.com/users/magman2112/repos",
      "events_url": "https://api.github.com/users/magman2112/events{/privacy}",
      "received_events_url": "https://api.github.com/users/magman2112/received_events",
      "type": "User",
      "site_admin": false
    },
    "labels": [
      {
        "id": 147446470,
        "node_id": "MDU6TGFiZWwxNDc0NDY0NzA=",
        "url": "https://api.github.com/repos/DoESLiverpool/somebody-should/labels/2%20-%20Should%20DoES",
        "name": "2 - Should DoES",
        "color": "fbca04",
        "default": false,
        "description": null
      },
      {
        "id": 214422685,
        "node_id": "MDU6TGFiZWwyMTQ0MjI2ODU=",
        "url": "https://api.github.com/repos/DoESLiverpool/somebody-should/labels/maintenance",
        "name": "maintenance",
        "color": "e11d21",
        "default": false,
        "description": null
      },
      {
        "id": 867327626,
        "node_id": "MDU6TGFiZWw4NjczMjc2MjY=",
        "url": "https://api.github.com/repos/DoESLiverpool/somebody-should/labels/Tool:%20Laser%20Cutter%20-%20Monster%20(Tony)",
        "name": "Tool: Laser Cutter - Monster (Tony)",
        "color": "c2e0c6",
        "default": false,
        "description": ""
      }
    ],
    "state": "open",
    "locked": false,
    "assignee": null,
    "assignees": [

    ],
    "milestone": null,
    "comments": 1,
    "created_at": "2021-10-16T16:18:54Z",
    "updated_at": "2021-10-18T19:46:11Z",
    "closed_at": null,
    "author_association": "NONE",
    "active_lock_reason": null,
    "body": "I was cutting some larger items on Tony today and noticed when I cut two parts that were mirrored that they didn't line up. Further tests shows that the vertical access is not square.\r\n\r\nI would estimate that this axis is out by at least 5mm front to back, which just happens to be one tooth on the toothed belt drive for this axis.\r\n\r\nI will need some help to access the belt adjustment, so I wasn't able to complete this repair today.\r\n\r\n@DoESLiverpool/laser-maintenance ",
    "reactions": {
      "url": "https://api.github.com/repos/DoESLiverpool/somebody-should/issues/1620/reactions",
      "total_count": 0,
      "+1": 0,
      "-1": 0,
      "laugh": 0,
      "hooray": 0,
      "confused": 0,
      "heart": 0,
      "rocket": 0,
      "eyes": 0
    },
    "timeline_url": "https://api.github.com/repos/DoESLiverpool/somebody-should/issues/1620/timeline",
    "performed_via_github_app": null
  },