 Počuš, da je očelo, da sem po drugi začne, smo na bladej do vsevaj vsevaj načo je, da se v Valerijo Consentino... ...zanoš, da se vsevaj, da se vsevaj, da se vsevaj, da se pr snakesoj vsevaj do vsevaj, da se vsevaj, da se vsevaj, da se vsevaj, da se vsevaj, da se vsevaj, da se vsevaj, je to, in ga se je zvomčite za začutljenje data. Imeprimenje bolj pletforms. Saz katera pa si pobrište nekaj občur, njelimo in deedsb, gitab, bazila, in za odstevenje, nje možem odmah bateri in kar učal o tem komunikacjo, kako ona videli, Twitter, Mitap, stakv o完全stvo. Vse tej tulej se wrz到j seemserjega. ali bo zapravil. Zelo je lahko da se vse tudi ta idej... ...zapravil, da je to dobro. Sveš, da je to dobro, da je to dobro. Ako je to dobro... ...jak dobro, da je to dobro... ...zapravil, da je to dobro. I res se vse bo zelo vse. Sveš, da je to dobro... ...zapravil, da je to dobro. ...o Perseval. Perseval znosi data vsakšnje težev ki pa čedati do data sourcies, main bez več boundvenosti. Takšnje data sourcies je aspozivne do teženkih dveda. Perseval, na co to sem z vrlo in svoje data share v golej PS-готовičenje. Danas boljš bi se dajte data, da se naredite da je svoje projekte. In potreš pravne strategije, da ima do vrlo nekaj priprav ... kako izgleda izvukovati nekaj, in kako je tega nabil srednjev. Kako se vse vse zelo, zelo je, da je to nekaj, zelo je inšločno informacijo z data. Informacije je zelo na zelo na mojdučne oboče. Tkaj, da, se, da pri vse staramo vukovati gita, zelo smo vse zradi izvukovati tako, kako pri vse staramo gita, zelo smo nekaj komit. Zato vse item, vse ise vse komit, is then transformed into adjacent. This, because then it will be used to, it will be stored in an elastic search database. So the structure of adjacent file is this one. Here we have two types of data, the data source data that comes from the data source. So in this case we have an example of an issue extracted from GitHub. So here there are two important things to note. First of all is this field updated up. So personal relies on this kind of fields to perform the incremental gathering, meaning that if you are fetching issues from GitHub, maybe the first time you will extract all the issues from the first one until the last one you have on your repository. But then, some days later, maybe you want to fetch just the data that is new, like new issues or comments. So in this case, Perceval, you can instruct Perceval to retrieve issues from a given date, so it's just a parameter. The other thing is comments data. GitHub has other APIs. What it does is it doesn't give you all the issue information at once. You have to perform different calls. So in this case, if you want comments of an issue, you have to perform several calls. So Perceval does it for you. So in this kind of fields, the ones that finish with underscore data, you will find comments data. Or you can have request information, so everything in just one JSON. All this data information, all this data that comes from the API, then is decorated with Perceval data. So the Perceval data is basically the backend you are using, or the platform you are targeting, the version of the backend you are using, or from where you got the issues, or the category of the items, in this case issues. So how Perceval does these things? So we have three actors. The backend, the client, and the command line. So the backend is the orchestrator. He is the one that receives commands like fetch issues from a given date, or fetch the issues with this token. So he takes these commands, and then send request to the client. So the client is a smart client, because he is not just dealing with the specificities of each API, because in GitHub you fetch issues in a different way from Git Club, for instance, or with Baxilla. So he takes care of all these things that you don't want to see. And in addition, he takes care also of possible problems you can have in this data, maybe connection problems. You send a request and you get 500 HTTP error. So this client is able to recognize these errors and try to retry the call several times. Then we have another actor that is the command line. This is basically helping you if you don't want to see the source code. So you can just launch Perceval from command line, so you will pass the arguments you want. So if you are target GitHub repositories, you pass the name of the organization, the name of the repository, maybe the API token, and the from date, if you want to fetch just issues from a given date. So we have two operations here. Fetch and fetch from archive. So every instance starts from the backend. The backend starts sending calls to the client, like give me all the issues. So the client then what he does is he sends a request to the data source, so for instance the GitHub API, gets this data, takes care of this possible problem like connection problems and so on. And then since he's smart, he saves this data in archive. We will see it later on. So then he returns the data to the backend and the backend decorates this data that we saw before. So from where you are extracting the data and so on. Fetch from archive is much simpler and for a developer is almost transparent because you have to implement just the fetch from archive method. In a nutshell, instead of querring the data source, you query the archive. So what is the archive? The archive is a database, an SQL database the URL, the payload and the other of the request you did plus what you got from the API or from the data source. So when the backend says to the client, give me all the issues, so the client gets the archive and is able to retrieve the issues that were stored in the archive. So basically is able to rerun an execution, a fetch execution in a transparent way. So then you get again this data that is decorated again with Perceval data and you get basically the same JSON. As maybe you got one month before when you created the archive. So how can you execute Perceval? So there are two ways. As a program, so if you don't want to see the source code, you go to the command line, you type Perceval, GitHub, because we are targeting in this case, the GitHub backend, but here you could put GitHub, PiperMails, Slack and so on. Then since we are targeting GitHub, you have to pass specific information, in this case the name of the organization, the name of the repository, the from date, if you want to fetch data just from giving a date and then the API token. So then what you will see later is a list of the bug information telling you that everything is fine and you will get your data in this case printed on the console but you can store it directly into a JSON file for instance. In the other case so you have just to import this library. If you are targeting GitHub, you prepare the from date object, you initialize the GitHub backend with parameters you want and then you call this method GitHub fetch and then you will get all the information for issues. So Perceval is part of a toolset Perceval focuses on extracting the data but then you can take this data enrich it do many things. If you want to know more about this we have a standard and we can explain all the full chain but then at the end from this data you can generate visualizations that can be static ones like reports, pdf or dynamic like we have a browser where you can click and see all the metrics you want. So this is an example of dashboard you can get. The dashboards they cover three aspects of the project. So we have activity dashboards, so number of comments along the year, the month and then we have community dashboards. Maybe you want to see how your project how the community behaves in your project. So for instance how many organizations are contributing to your project or where the people come from and then we have the other visualization that is activity community and processes. So processes is maybe you want to see how long it takes to close the issues in general or to answer messages on stackware flow or to integrate to merge pull request to your code base. So the tool is open source, of course you can have a look on github, it's Grimoire Lab Perceval. We have also a nice documentation that is not just for Perceval but it's for all the toolset. We have a video, this is tailored to how to install and use Perceval and then this is the twitter information. Anyway for other if you have questions or things like that we have a stand and we are watching the cafeteria. So that's it. Yes, yes we have discourse, we have pipermail, inbox hyperkitty, I think. We have like so that's it. No more questions? Thank you.