|
1 | 1 | # log-classifier |
| 2 | + |
| 3 | +The purpose of this project is to analyze tickets that are in the IOHK Zendesk system and provide solution to the end user while collecting statistics so Cardano developers can prioritize the issues. |
| 4 | + |
| 5 | +## What it is |
| 6 | + |
| 7 | +- Log-classifier is a [command line interface](https://en.wikipedia.org/wiki/Command-line_interface) IOHK Zendesk agents can use to classify tickets. |
| 8 | +- Currently, identifying the issue manually takes decent amount of time and knowledge. Using classifier, agent will be able to automate the identification of the issue without having to know all the known issues. |
| 9 | +- This is a Haskell program so agent will need [stack](https://docs.haskellstack.org/en/stable/README/) and [Nix](https://nixos.org/) in order to use the classifier. Instruction on how to use it will be documented on different file. |
| 10 | +- Classifier cannot find any unknown/unique issues. |
| 11 | + |
| 12 | +## How it works |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | +- Many of the Daedalus's issues can be identified by analyzing the log file. Classifier will utilize this by analyzing the log file and map with possible solution and problem which can be provided to the end user. |
| 17 | +- Ticket sent from Daedalus bug report has log file attached. Classifier will analyze the log file that is attached to the ticket. If any known issues where found, it'll then post an comment to that ticket. (See example below) |
| 18 | +- It uses [CSV](https://en.wikipedia.org/wiki/Comma-separated_values) (basically small record file) which contains all the information need to perform analysis. This make it so it is easy to add new known issues. |
| 19 | +- Zendesk agent will use [command line interface](https://en.wikipedia.org/wiki/Command-line_interface) in order to run the classifier. |
| 20 | +- Classifier will use the [Zendesk API](https://developer.zendesk.com/rest_api/docs/core/introduction) to perform any action. Because of this, agents will need to provide Zendesk token to the classifier. |
| 21 | + |
| 22 | +## Requirements |
| 23 | + |
| 24 | +In order to use this, user must be IOHK Zendesk agent and be able to acquire Zendesk token. |
| 25 | + |
| 26 | +## Features |
| 27 | + |
| 28 | +### Provide error text, problem, solution to the ticket |
| 29 | + |
| 30 | +Classifier will analyze the log file attached to the ticket. If any issues where found, it will post a comment which states |
| 31 | + |
| 32 | +- Errror code |
| 33 | +- What is the issue |
| 34 | +- Possible solution |
| 35 | +- Error text classifier caught in the log file that is related to the issue. |
| 36 | + |
| 37 | +See example below. |
| 38 | +<br/> |
| 39 | +<img src="https://user-images.githubusercontent.com/15665039/39680438-b148ef40-51db-11e8-9d51-f555cebde807.png" alt="analysis" style="width: 700px;"/> |
| 40 | + |
| 41 | +### Add tags to the tickets |
| 42 | + |
| 43 | +After classifier has done analysis on the ticket, it'll add tags to the ticket which can be used to identify what the issues are. Agents can later use this tags to collect statistics of the Zendesk. <br /> |
| 44 | + |
| 45 | +<img src="https://user-images.githubusercontent.com/15665039/39680413-6c3970a0-51db-11e8-81d9-8c0faf53d1af.png" alt="tags"/><br/> |
| 46 | + |
| 47 | +### Provide statistics of the Zendesk |
| 48 | + |
| 49 | +Classifier can collect all the tags assigned to the ticket, accumulate them and provide to the Zendesk agent as statistics. |
| 50 | + |
| 51 | +```terminal |
| 52 | +There are currently **** tickets in the system assigned to *********@iohk.io |
| 53 | +*** tickets has been analyzed by the classifier. |
| 54 | +**** tickets are not analyzed. |
| 55 | +Below are statistics: |
| 56 | +analyzed: ** |
| 57 | +can-not-sync: ** |
| 58 | +cannot-get-db-size: ** |
| 59 | +cannot_connect_to_wallet_using_network: ** |
| 60 | +closed_by_merge: ** |
| 61 | +coin_redemption: ** |
| 62 | +connection-refused: ** |
| 63 | +db-corrupted: ** |
| 64 | +db-path-error: ** |
| 65 | +directory-not-found: ** |
| 66 | +.... and so on |
| 67 | +``` |
| 68 | + |
| 69 | +### Collect email addresses of the tickets in which both requester and assignee is report server |
| 70 | + |
| 71 | +[Report server](https://github.com/input-output-hk/cardano-report-server) had a bug where it assigned both requester and assignees as report server and write down user's address on the comment section. This made it so that Zendesk agent where unable to reply back to the user unless agents create new tickets manually which takes some time to reply back. Note that this issue is already fixed. |
| 72 | +Classifier can collect email addresses of tickets with this issue. |
0 commit comments