So hi, I'm Omar. I will talk about how to craft ML demos with Python Just quick question. Do you know what Hogan phase is? Yeah, okay. Do you know what radio is? Right. No worries. So have you seen something like this in the last couple of weeks? So this is Dali mini Dali mini is a public space a public demo that anyone can try out directly in the web It allows you to write something in this case It says the Timor Gorgon from Stranger Things holding a basketball and it will generate images and this is a Open source public free model. This is not the open AI Dali version And this is a demo created just with a couple of lines of code using radio, which is an open source tool I will talk a bit more about it in a couple of minutes And this was launched or this got viral in early June Since then it has had over 70 million views in just the last month, which is quite wild But there are many many other demos are over 5,000 public open source spaces in the last Nine months. This one is called informative drawings It allows any user to upload any picture and it will give you some nice Drawings or lines around it and this one is a bit a wilder It gives you some object and it allows you to write something like an explanation Person a man a woman Wearing a hat with a shirt with a skirt and it will draw an image of a person based on that so What is this about? Demos and it is about making machine learning more accessible and more public and more open for everyone So these pictures are from a conference called CBPR CBPR is one of the top computer vision conference conferences in the ecosystem and Few years ago people were creating papers They were publishing papers, but they were not creating any demos or any way for people to try out the model models directly So in CBPR this year, it was a bit different quite a bit of people were sharing a Demos so that meant that people could go there and or open their phones or open their computers and directly try out the models in their browsers so without having to run any code without having to know Too much about machine learning without having the resources to train any of these models They were anyone even if they were not from a computer science or software engineering background They could go and try out This these models thanks to these demos And it was very very different three years ago So this was a spreadsheet of how it was on before which has all of the paper Titles from one of these conferences the authors As you can see many of them did not have the code available And she's like this and today we have Things in a very different way. So for example, this one is for a CBPR And now people are open sourcing not just the code to train the models But they are also open sourcing the model weights the data sets that were used to train these models And also public demos for anyone to try out. So for example here people can Go for the CBPR, which is this computer vision conference. I was talking before and they can find which papers have a Hocking face space or a model Directly related and I will talk a bit more about this in a couple of minutes, but I just wanted to Give this comparison of how it was done before and how it's done now So why demos so first it allows to easily present a wider audience So let's say that you create a very nice demo about some model About language for example about Spanish, but then you only have wide male computer scientists Traying out the model. So of course you will not identify a bunch of biases that the model will have So thanks to this you can really have anyone and that really means anyone just open their browser and try You know these models and then with flagging you can identify lots of biases that the models might have Second is that it allows reproducing reproducibility in research. So what is reproducibility? It means that these results that are shared in your paper Can be replicated by others or reproduced by others and that means that anyone can go there Test with their own image and see that the model actually works and it's not just some cherry-picked result by some researchers And finally it allows to identify and debug different failure points so for example Maybe the certain model was not working for certain type of handwriting for example And that's a nice way to identify it and these things are only Identifiable if you really have a wider audience a wider diverse set of people trying out these models So we're really at a turning point in usage of machine learning until a couple of years ago even two years ago Just the people that knew about software engineering just the people that knew about machine learning or the people that knew Actually how to run the code we're able to try out these models now anyone that has a browser can go up and Try out these models, which is quite interesting and previously let's say you spend a Six months training some fancy models and then you want to build a web app So then you realize that you need to learn JavaScript a flask docker CSS And then you might say okay. I won't do it building a demo will be quite complicated But now a building a demo is easier than it looks So as I was mentioning before Previously you had to use a bunch of different languages a bunch of different tools So first you train your model and for that you might just tensorflow like it learned by torch, which is in Python Then you might use flask and docker Then you might want to use SQL and then at the end the interactive interface previously It was always with JavaScript HTML CSS and front-end technologies and I heard that the Python communities don't like Sorry CSS and JavaScript too much. So of course they replaced everything with Python. So great. Yo is a open source tool It's a open source library, which allows people to build a demos with 10 lines of code. So it's really a Quite simple. So even if you don't know anything about machine learning. Don't worry You can use greater to build some nice interactive interfaces And I just want to show a couple of other demos before diving in a bit more into it So this one is a from a paper from Microsoft Microsoft actually built this demo and it allows people to upload two different audio files So someone speaking and it allows to identify if it's the same person speaking or if it's or if the audios correspond to different persons So it's a voice authentication And this one is using a model called Joe Joe gun. So it allows to do face stylization So here you see myself in Disney style And I just you will be thinking like okay. This looks extremely complicated. I don't want to do this But don't worry. It is really quite simple and I will show the building blocks of radio Yeah, and this is everything So first you import radio Then you have a interface so the interface is the main part The main building block of radio and it has three components or three parts So first it has input or a set of inputs So in this case the demo is a demo in which a person uploads a picture of a of an animal or any picture And then it will classify what what animal this is. So for example, this is an American alligator So the input here is an image And then you specify what's the output so the output can be text image audio in this case It's a label. So a label just means that it's the science a probability of a classification to this image and then you have a Prediction or inference function, which in this case, it's called classified image But what is very nice about radio is that it's not tied to any ML library So you can just create it with any code. So classified image is just any a Python function that takes an input Does some magic and then has an output But this can be anything that you want. So this could be a scikit-learn model. This could be a TensorFlow model This could be raw Python code. This could be using a whatever tool that you in your School in your university in your company, whatever tool you use you can use within this function The other part of this nice is that you can run this anywhere So you can run this in the terminal if you like Jupiter you can run this in Jupiter if you like co-lab You can just type in Google co-lab So I've talked quite a bit and I will show now code because I think that might be nicer So in this co-lab, and I can show the code later I'm just installing a couple of libraries that I will just but here I'm showing Yeah, I think this is better here. I'm showing the same building blocks So I have a radio interface which as an input has text and it will output text and that it has a Prediction function which in this case it's called grid. So great is really just saying hello and then the name I Said before that it could be any Python function. So this is also allowed It takes a couple of seconds I will zoom out a bit But pretty much here I have my demo and I can write here test. Hello test Nice, so I can write hello mer and that's pretty much it. So now in Ten lines of code I was able to build this nice Maybe a bit silly hello word demo But what is nice is that this grid function could be any code that you have So many people it mentioned before that don't know what hooking face is so hooking face is an open source company That has a bunch of open source libraries one which is very famous is called transformers transformers allows people to easily use Existing pre-trained transformer models transformers are very popular architecture nowadays in the natural language processing and computer vision And audio domains in machine learning Don't worry too much about it But what is very nice is that you have access to over 60,000 Public open source demos shared by research labs by the community for many many different applications for hundreds of spoken languages, which is quite nice and in this a Sell a first. Let's look at the bottom part the interface I have a predict function which is same as before we will look at the function in a minute We have a set of inputs which in this case I have text box And I can specify a bit more information around that and I have an output which will be text You can add a bit more style if you like to do that so you can have a title and some examples So examples are very nice. It's a way of Telling users what kind of things will work in this demo? So I will run this And in the meantime, I will show the predict function This is very specific to the transformers library But again, you can use TensorFlow so I could learn by torch or whatever a Python ML library studios But here what I'm doing is I'm loading a translation model Which is shared by the Helsinki NLP university which translates from English to Spanish and in the predict function I have the inference part So here I'm pretty much passing the text to a pipeline and then I'm extracting the translation text So this is the demo I created with those again 15 lines of code So it's has a nice title interactive demo blah blah blah It has some examples at the bottom left which I can click and then when I click submit It will do the inference and then I get a translation So I like the workshop my Ustaz the tiger, which is the translation in Spanish and That's pretty much it Now you might be wondering where does this model comes from the Helsinki NLP Opus empty in yes, so hocking face as I was mentioning before has Thousands of models for many different applications So for example, I will just copy paste this, which is the model ID. I Will paste it here So the Helsinki NLP group has open source a 1200 translation models for many different combinations of languages So for example, this one is English to Spanish and it has a bunch of information here So this is called a model card and a model card is pretty much a way in which people can document What their model does so a if you are a person that does not know how to train models But you're a software engineer So you know how to run code and you know how to use existing models The model hub is a very nice way because you have and again all of this is open source and free It's kind of a github for machine learning So you have access to models for image classification Segmentation for NLP you have translation sentence similarity you have for audio you have for tabular data You have for reinforcement learning So you really have access to models across different modalities for many different applications and the model cards are the way in which you Will find the documentation of what a model does and what it's supposed to do So in this case I was just picking this translation model from Helsinki, right? That was it for the first demo time So now I built a nice demo I put it in a code lab, but then I don't have a way to share it with the community, right? So if you have a very good eye, maybe you notice that at the top here It created a public URL and that means that right now if you go to this URL in your computer or in your phone You will have access to the demo, but this will only happen as long as the code lab is up, right? But if you want to do permanent hosting a hugging face has also this tool which is also free, which is called spaces So spaces was launched around October of last year and it allows people to host and share with the community their own Their own demos with radio Since then people have created portfolios have organized university courses with these So it's quite nice and nowadays we have five thousand or six thousand spaces, which is quite exciting So right now you can go to a hf.co Slash spaces and you will find many spaces share by the community and again this code for all kinds of applications So I will try to do it more a quick live demo of this but It might take a bit to build but yeah just to show it. So here I went to my profile picture. I create I click new space. I Wrote the name of the space. I will select radio, which is the open source SDK. I'm using today I will click create space and Under the hood and hugging face everything are git based repositories if you don't know what it is Don't worry, but for those who know Just as in github you have git repositories and you can do git clone and git push and collaborate with git repositories In hugging face spaces are the same. So under the hood they are git based repositories Which means that I can git clone this repo work locally and work with other people and collaborate but if you prefer to not use git for any reason you can also use the web UI and What you need to do is just create an app dot by file and I will literally copy paste the code I have here in the code lab Here, so I'm literally just copy pasting. I will click commit new file and Here in files. I can see like all the files that are here and I can see the git history So it takes a bit to build maybe a minute or so But in this case it will give me an error A Because I don't have transformers installed here. So something that you can also do with spaces is create your own requirements So Like this. So requirements that when you do peep install requirements, so this is the same thing So I can specify which libraries I want installed so transformers transform Merse sentence piece and By torch So when I click commit new file, it will start building again and it will set up the demo after a couple of seconds A couple of minutes the first time the outcome will be something like this Exactly this which is exactly the same as what we were seeing before in the co-lab But now it's in the browser So now I can put this link in social media and I others can come and try this out So they can click hello, my name is a mark click submit and try With their own text, right? So that's quite nice and as this is open source People can go to files and they can see the history of the report and they can even open PRs to do some suggestions or modifications and They can even click here in the link it models and it has a direct link with the model that was used To create this demo, which is also a nice addition Right So that was the demo time. So three reasons you should build IML demo So we talked about accessibility. So really this allows anyone to try out So we've seen people from psychology, for example, trying out demos and finding some interesting issues that were not Catched by the people that were creating this demos It allows to understand real-world limitations of our own research So that's especially interesting for the research perspective and it's really easy You just saw these ten lines of code, but really a Even if you're building very complex demos That's pretty much everything it takes so you can go to to great adult app and it has components for text for check boxes for radio for Dropdown images videos and so on and even for 3d objects and whatever So it's quite easy to use it has the same building blocks So input output and an inference function and it allows you to use Python to build some very nice demos And what we've seen in the past is that people are sharing this in social media, for example And that has allowed some of these demos to go a bit parallel, which is quite nice Some people are building their own portfolios of machine learning with this and they are they are paying two jobs with that and apart from that we've seen a People doing all kinds of things for example some universities what they are doing is that they are hosting their demos of as a way to show their final projects and I Wanted to quickly show you a couple of last demos So this one is telemini which is the one I showed at the beginning and these are public So that means that anyone can go and try this out with their own input So these are really not cherry pick this one. I just wrote minions attending to our Python hackathon And then you see the minions There is this one, which is called YOLO. YOLO is a very popular object detection Algorithm and there have been many versions of YOLO in the last couple of years, especially in the last six months And it allows users to upload their own videos and then it will output a Video, but with object classification. So here is a person and so on This one is from CBPR, which is this very important computer vision conference I was talking to you before and it allows someone to write some text here All right Then a target language So for example Korean and then it will give you a translation in Korean and it it will generate a video. I Don't have the audio. Don't worry, but it has a Talking face and this face is generated. So this is with a model And with an audio translated with text-to-speech. So all of this is using machine learning and if you don't Like Python and you really like JavaScript. That's totally okay So in spaces you can also host JavaScript with flask or even with fast API you can host your own sites here So for example, this one is a this Pokemon does not exist. So if you can click submit and it will generate my own a Generated Pokemon for this conference Which is not that too nice, but it's green. So I guess that that goes with the topic. So that's nice and then for very Important libraries or very popular libraries or keras or a pytorch for example in which they also have their own official Examples or their own hubs of models There are some very nice integrations. So for example with a single line of code There's an integration that allows radio to load and run inference on an existing Transformer models on the hub. So it allows to use any of these 60,000 models without running these 10 lines of code So just that with a single line of code But also for example, Keras has some very nice official Keras examples. Keras is a very popular TensorFlow library and The community and all of this is open source done by the community has created 81 different demos in which anyone can go here and Try out any of these demos and also the open source almost 100 models Which is quite nice So this sounds Interesting and then maybe one question is I want to to get involved. How can I do it? So in the next couple of days or from today until next week, we are organizing a hackathon It's online, so you can just join if you are someone that is new to machine learning You can also join because as I just shared Really, you don't need to have ML expertise to be able to create these demos and we can also share a couple of ideas On how to build some of this so I think the email was shared by email as well But you can go to this link and I have a couple of cards I can share after this talk, but anyone can join actually will already have 70 members here Since this just started today that there are some instructions here to help you Sorry for the scrolling But there are already a couple of demos up there that you can explore if you want Again, all of this is free. All of this is open source All of this is using Python based libraries and we also have a table right next to the to the food Which has a bunch of a hugging face stickers, so you can also come in the next couple of days We will be around and you can also grab some stickers That's pretty much everything I wanted to present today. Yeah, thanks a lot Should we make questions? Yeah, are there any questions? Yeah Should we use microphones or Thanks Hello. Hey What are some self-hosted options for a radio? Yeah, so great. Oh a It's just a very simple a fast API a program Which means that you can pretty much host it wherever you want So spaces is nice. It's free and you can just use it. It has some machine limitations so if you want to host a model that Wates, I don't know 100 gigabytes. You will not be able to do that So if you have very custom cases or if you would like to host it internally for your own company You have a couple of options So if you want to use the spaces you can also do private spaces and it has organizations So you can just share it within your organization But you can also just use Google Cloud or Amazon web services or whatever provider to choose Again, it's you can also even run it locally. It's it's an open source tool So, yeah, so you have this app.py file. So you just do great. You do Python Yeah, you have a flag for that, but yeah sure By the way, if anyone is interested in exploring I really recommend to go into hf.co slash spaces Because here you can explore all of these spaces created by the community and you can sort them by most likes So you can find some of the most exciting ones. So for example Anime gun was once sure a couple of months ago and it allows people to upload an image and It will convert to anime style, for example Yeah, cool. All right, do we have any other questions? Cool, if anyone else has questions I will also be outside for a for the next couple of minutes and then you can also come to the table in the ground floor I will also hand out some stickers patches and cards if anyone wants Thanks


Hey guys, it's Nate A.K., the Foot Account, and welcome back to the channel. Normally by this time of the week, we're talking about the cards that are leaked to come in the promo that's one day away since it's Thursday, but today, the day before ultimate birthday starts in this game, we have no leaks. We don't know anything concrete that is coming for the promo tomorrow, and that's a little bit weird. Now, hey, I'm down for a surprise. Imagine this week we don't have leaks for the first time in years, and we actually are surprised by the promo team that comes out. I think that's a little unlikely. I think we will get some leaks, but I want to talk about that in today's video. And of course, today's a Thursday with a brand new season in coming, and maybe our last showdown SBC, so we'll talk about that and more in today's video. If you're excited for it, drop a thumbs up, subscribe if you're new, and if you're seeing right off the bat that something looks off about my account, that's because there is, but that deserves a whole other video. And let me tell you guys, that's going to be interesting one. There's going to be another video dropping today explaining why I have zero coins, and let me tell you, it is not good. But let's get this video going for you guys and talk about what went on yesterday with content on a Wednesday. We had our showdown SBC, again, a cheaper one. As expected, they went with the expensive ones on Tuesday with Felix and with the pie who I still think I'm going to steer clear of, and they released some cheaper ones yesterday with Marius Wolf and Knoff. Also EA is showing all SBCs right now and even some cards and preview packs. After the new update that dropped yesterday, that spring update is already out with the gameplay changes and everything.  So it's a visual glitch of the zero game loan thing, but it does show them as loans with zero games, kind of weird. But, you know, Marius Wolf and Knoff from Frankfurt, this Wolf card actually looks kind of decent, four to four high high, good pace. For the price that he is as well, it is a decent card. He's got anticipate jockey, quick step rapid, long throw in even, but the whipped pass plus is obviously very nice. He's six foot two. And the price is pretty nice here. It's only 50,000 coins to get done 72k to get Knoff done from Frankfurt. I think if you're going to do either of these, I think you're doing Marius Wolf. And I think it's a good card. Like the potential for this is that he could go to an 89 with a win and then to a 90 with the evolution. If you're a Dortmund fan, this would be a really nice right back for your team. And it could be pretty good in game. I don't think though, for most people in this game, that it's that crazy and Knoff as well as four star four star, he's got great pace, but 75 composure at this stage of the game is just not it, especially with only one playstyle. Again, these are the cheaper showdown. So one playstyle is kind of expected. So I think Wolf is decent, but it's not anything crazy. If you want to get it done, get it done and craft it. This game is happening on the 17th guys, there are three massive games happening on the 17th. The showdown we got yesterday for Dortmund and Frankfurt, the showdown, of course, between Felix and the pie that game is happening on the 17th. And then the showdown, I think we're getting today from the Serie A is all going to be played on the 17th of March. That's going to be a big, big day for these live cards. Now also yesterday, we had another piece of foot birthday released in terms of content. That was the ultimate birthday daily login upgrade. And guys, this one you got to start on. If you haven't done it, I would really, really encourage you to get it done straight away because this SBC is only out for 15 days. And you have to complete it 15 times to get the full objective that is tied into it done. So I think you can't miss a day. I know that it's out for technically like 16 full days, but I don't think you'll be able to do the SBC 16 times, right? Because if SBC drops with 16 days, you know, it'll only refresh 15 times, I think. I don't know, the math here, it's either one day off or you can't miss a day. So I'm going to treat it as you can't miss a day. So here's your daily reminder, right? When you see the YouTube video pop up, the TFA is uploaded like we do every day. Treat that as your reminder, double check that you've got the daily login done. I got mine done. The rewards, I don't know, they're decent, pretty typical, 84.5, 85.3 by the end, 85.4 and then an 83 times 20. So it is worth it to get it done. If you can imagine by the second team of a foot birthday by the end, you left some pretty solid packs there to be able to craft with whatever is going on. So we always love a daily login, especially because this daily login is one of those really cheap ones where you all you have to turn in is one bronze player. So that is very, very nice. Now that was all the SBC and objective content yesterday. It was not a very busy day, but what did keep us busy was the fantasy upgrades. Guys, some of these upgrades that they had yesterday were nuts, and this one is really the most nuts. It is changing the game.  This card is him. All right. I mean, I know I'm a Spurs fan, so I'm a little bit biased, but after trying this card out yesterday, I tried out Poro with the upgrade, delict the for rich SBC and the Werner with their upgrades yesterday. I took out Cafu for this Pedro Poro card and Cafu is not coming back into my team at least right now, because this card is just as good, if not better with the whipped pass plus his pace is unbelievable. His like everything he is so good. I don't know what it was about this plus two upgrade. It just changed a whole lot about this card. I think he was good even to begin with before that, but now he is cracked and you can tell by his price on the market that people are believing in this card and that he is good. He is 44,000 coins right now after he was already, I mean guys, this card was 20k. You know how many people invested between 20 to 25,000 coins on this Pedro Poro card and how often he was packed. So many of us had this card in tradable in our clubs because he was so easily packable and now he's already up to 43,44,45,000 coins in the hype. Yes, he links to Werner who was again one of the most popular SBCs, which definitely helps Pedro Poro's case, but the fact that this card got that plus two has the potential to get upgraded further and is so cracked. This might be one of the better right backs right now in the game, especially for the price that he is. Take a look at the rest of the market, the proofs in the pudding guys. Louder up winter wild cards went from 190 yesterday down to 140 where he is now. Right backs in so many different areas of the game are down bad right now, especially the middle to lower tier are down and dropping in price because of this Pedro Poro card being so cracked. Now Timo Werner got a nice upgrade as well. They gave him plus two pace and plus two physical a game. This card's looking really good is Pat or sorry plus two passing I always say pace plus two passing and plus two physical and then plus one in every other stat category he has 97 pace now and 86 passing which is the passing that's that needed the biggest upgrade that's definitely a weaker point to this card and it is very very nice that he got plus two there for sure. Now we'll say yesterday the new patch is out right it was released the spring update that we talked about in the second channel yesterday with the nerf of the power shot plus in my opinion it is noticeable I will be completely honest those power shots are still fast but they are not as rapid traveling through the air towards the back of the net like they were before the patch I still think the power shot is useful and it does not make this card rendered useless for sure he's still so meta so jammy right 56 goals and 38 games this card is incredible right I just think now with power shots you maybe have to be a little bit more accurate and precise with that left stick where you're aiming to get the power shot in the perfect spot for the finish rather than just having so much power that you can maybe aim a little bit towards the center of the goal instead of the like the 90 top or lower 90 to get the best finish possible so try to work on your aiming with power shots a little bit more but yeah power shots do seem to be nerfed a little bit as they were said to be in those pitch notes and a lot of people were saying that the gameplay feels a little bit different I thought the gameplay felt very similar except I could 100% notice that pinged pass plus is better it said that it was getting a boost they were reducing I think they reduced regular ping pass but they buffed pinged pass plus and yudogi is definitely staying in the team for me because those pinged pass plus passes that he has a rofo has them as well so good absolutely incredible especially just playing entry passes into like playing Timo Werner a pass from the midfield with yudogi since he gets forward for me into the edge of the 18 Timo can turn around dribble whip a power shot or technical dribble a little bit with his great dribbling stats and just get down in the byline for a decent shooting opportunity with his great dribbling anyway like those sorts of plays are very very possible with those pinged pass plus players so don't sleep on that because that was a big part of yesterday that I think I noticed with the patch in the update a lot of people were trying to figure out the game again because it does feel a little bit different with those play style pluses for sure after the update yesterday now we also had a team of the week 26 which is really not that crazy of a team of the week the coolest card in my opinion is this juiced in terms of play styles good sir I know we have the 89 good sir who's got more actually he has less shooting in pace than the 88 rated inform and this was that was a live card but this one has two play styles press proven and first touch he also has finesse incisive pinged tiki taka technical and flair that's a dope boost for team over this card has zero play style pluses and he's 4 4 medium medium and this card is high medium 4 5 this is the best version of good sir in the game kind of a fun card to try out that's like the only gem for me and from team of the week ben white looks decent as well if you want to run him as a center back 85 pace 90 defense that could be a fun one to try salmos in there with some pace and then Harry came with an incisive pass plus play style might be interesting to try to but the rest of team of the week just looks pretty average so yeah that was the quiet day yesterday on this game really the patch was the biggest thing to talk about with the updates to the game and how it was feeling and those sorts of things and of course the fantasy upgrades to right those are big things on wednesdays that we always are looking for mendy's extinct at 7.6 mil which is kind of where he was before but it's it's absolutely outrageous that he is that price guys i don't know i'm still being very careful with these fantasy cards not many of them dropped per se a lot of them are in the same range only a couple of them dropped like liza razu dropped this is one this is a good reminder liza razu dropped off a lot yesterday he did rebound but he dropped off a lot because he has no more upgrades he fit all the upgrade criteria he went from 1 milie down to 790 he's back up to 890 now but watch out when somebody hits all four upgrades or especially when all their games have been played for the upgrades their prices dropped because a lot of the price that's built in is the potential to upgrade further now let's talk for birthday because that is the promo that is at hand that is upcoming that we are still very excited for but we don't know much about ea did not change the loading screen yesterday they didn't say a thing about it where's the leaks there's literally nothing guys it's very surprising right now to be at a stage where we have no leaks posted by any of those accounts that we most often see them from right romania a foot sheriff of course maybe foot police maybe foot scoreboard some of these guys that we've been looking at leaks for for weeks and years throughout the whole game this year they have not posted anything this week why is that the case really we have no idea i don't think they're withholding information from us guys these guys they get the information early that is there kind of like that's how they get interactions that's how they shared that information and build the hype around these promos is because they're privy to that leaked information right they have the sources the context whatever it may be to get that info and they share it and that's how the hype builds right and that's how they can create some hype for themselves too but right now we have nothing so if there's nothing that's being posted in my opinion that would mean that most likely there's not much either being shared ea has somehow kept all this stuff for foot birthday under wraps or something has changed with the leaks in some way shape or form i don't know that's a really really interesting thing that we have no leaks so far because usually by the time we get to a promo friday the day before on thursday we've got the half the team leaked a couple icons right maybe even an sbc or two and right now we have nothing now if you've seen leaks you maybe want to double check they might not be leaks there is a very popular prediction that is going around right now that has been retweeted by like sheriff and stuff a lot of predictions are out there about who could be in again guys if you see a prediction predicts the own right those are not leaked cards so just be careful what you're seeing on twitter slash x or instagram before you believe that it's true there's a lot of suarez hype and i am so hoping that suarez gets a foot birthday card because that would be unbelievable right the inter miami links to messy i mean technically guys right now as it sits it's not possible because suarez is not an ultimate team but suarez has been added to kickoff mode for inter miami right with his recent transfer to inter miami there's a lot of hype for him jordi alba boost gets in messy all playing together again and technically if he's in kickoff that means he could be added to ultimate team right how they do like the winter transfer cards and stuff like that so he could be a part of the promo that'd be super sick if he was i think that's kind of a little bit of a stretch at this time and so we until we see suarez actually in the game but i think that going off this prediction i hope this prediction is so far off because it does not look very good besides like suarez looks cracked ben yedder could be cool gretzka maybe decent even kudos maybe pretty good i don't love this prediction i hope it's i hope it's wrong to be honest right now for the icons being predicted i think this actually could be pretty spot on it's a lot easier to guess from the icons because there's such a smaller player pool and you can kind of look at the icons that haven't got a special this year and or maybe do a new version charlton would be crazy can you imagine a charlton with the power shot maybe maybe they update right and and don't just do power shot for this next version of him but he's already got the five star weak foot imagine a five star five star charlton with power shot and like i don't know technical plus or incisive plus or maybe they give him like finesse or something like that like that could be really crazy a billy blanc there's so many icons this year that haven't had a promo card yet or a special version blank it's probably up there it's one of the top hype cards of this year everybody did his base sbc and we haven't had a special since then looking forward to one for him eto who's in that prediction is also like a great name that could be released in this promo so there's so many icons that could be released it just comes down to who is it going to be when are we going to see some of these leaks because i don't believe guys that we're going to go all the way until friday without seeing leaks i think that's basically impossible we're going to get some leaks it happens every single week all we have right now is the car designs but they're on the loading screen so that doesn't really feel like a leak and then of course we have the loading screen that tells us it's five star skills five star weak foot upgrades five star celebrations still not quite sure what that means but i guess we'll have to see i definitely know we're going to get some more news about that today i would imagine today is a leak day if yesterday wasn't then today there's got to be at least some news that is going to end up being shared now one thing you can a lot of people have been kind of scheming through the menus to try to find the people that maybe do have a little bit of information are they panic selling cards on the market and is that a reason the way that we can see what cards are going to be released in this promo cantina has gone down a lot since tuesday from one million coins to right now being 775 thousand coins in the market um maybe cantina is dropping in price because he has been leaked in those private channels that information has been shared there but it's not yet released to the public that sort of thing is going that's possible but honestly i don't think there's a direct correlation we'll see if cantina like watch cantina is going to be in like the season release today or something and then i'll be like oh yeah there he is right and that's why he was dropping we'll have to see or maybe he's going to be in foot birthday but as of right now it's too hard to try to tell what players are dropping on the market because of leaks and what's just dropping because foot birthday is around the corner and prices are dropping like legitimately a lot of the market right now guys is dropping um and it's it's dropping at a pretty fast rate i think it's going to continue to drop as well just as you get closer and closer to foot birthday if there's no leaks for this team yet maybe that means this team is going to be absolutely cracked i don't know i really don't know what to expect um with uh with all this and with what's leaked and obviously with what's not leaked so we're just gonna kind of have to go and and fly by the seat of our pants if you will um about that whole situation so we're just gonna have to adjust with what happens but right now it's really hard to like read into something dropping on the market because a lot of things are dropping like i sold rashford for 1.75 and he is 1.5 wow what a drop for rashford um anzu fahti who i actually have one of my transfer list right now that i bought for 1.05 because he's been selling for around 1.2 he is down right he was just under a milli he's at 1.03 right now so hopefully i can get a good sale for that anzu fahti on a quick bounce back um ramos who i sold many times okay he's rare right now but a lot of these prices are dropping and that's probably going to continue to happen today as well um with the foot birthday news if the leaks start dropping and they're crazy then you're definitely going to see some market prices impacted because of that as well because people are going to be interested in foot birthday cards for sure and the icons let's talk about fodder because guess what ea ran the lightning rounds again yesterday and they were once again supplying these cards now it didn't drop the prices like a crazy amount you can see that it dropped them some like 80 uh 89s were 30k they went down to about 28 they're back up to 29 right now but it is not as low as they were it's like 26k on tuesday when they were their absolute lowest i do think though since ea ran the lightning rounds yesterday they're gonna run them again today so i would watch out very carefully for fodder prices potentially dropping today but it could be depending on what we see leaked well if you think back to last year during foot birthday the sbcs that we had we had that remember the balloon blowing dynamic of enkunku that was crazy expensive but also pretty hyped and a lot of people did it i think we had a pejori sbc we had some pretty big name players in sbcs last year during foot birthday i don't remember how it impacted fodder specifically but if they drop big name players for foot birthday with big upgrades um the prices could on fodder could actually go up during foot birthday and they could be really low now beforehand just because in general fodder prices are crazy cheap but it's all going to depend on the sbcs that we get of course um and also there should be an icon pack coming this weekend right because we had the hero pick last weekend the every other week schedule continues i know we have the icon on core that's out right now but that's kind of different right that's not a normal icon pick that is like more expensive that maybe requires 87s 8s and 9s this one obviously is the cheaper one that everybody's grinding right now that is 83s 4s and 5s so that part of the fodder market is inflated and if i were to tell you to sell anything if you had these tradable in your club i'd sell 83s to 86s because they're inflated they're up and they are not low like the 87s and above are i would just take the cash on those and be careful with that if you were curious now let's talk thursday today today's actually a big day guys new season right new season is going to be coming out maybe it's already out by the time you're watching this video what we always look for in the season is what players they're going to put into this what packs they're going to put into this i think this season is going to end up being longer since we have the uh the champ's bonus objective that's already out and it's out for 40 days this might be a 35 maybe even a 40 day season i don't know how long it's going to be but i think it's going to be longer so watch out for that today i hope that as a part of today we have more players like this give us some foot birthday players today and actually the fact that these car designs are in the code already that bodes well there might be a foot birthday player that is in the season today i would be really looking forward to that of course right now it's not out so i don't know but i like when they drop a player in here that is like musa right for future stars his cards nowhere else available it wasn't in packs it wasn't in sbc's it's in here in the season and i like that i think they should do a little bit more of that i know that at level 25 whatever we had the figo there's probably going to be an icon in here that's a rerelease that happens almost every single season but i like it when they kind of put those exclusive players inside of the season i think that's cool and it gives you it gives those cards a little bit more of like a rarity to them and importance if they're good and meta and if they're interesting to you so look out for a good season today hope it's really interesting hope the packs are good and then of course today we should see a new showdown and the last showdown that we haven't seen yet that is still leaked i think is going to be bastoni and la vatka i would imagine that this is our showdown that's going to be coming today on this game and hopefully it is two play style pluses on these cards and i hope they are 88 rated or 89 rated that's kind of been like the maximum right felix the pie a kanji bobby clark were 89 with two play style pluses i hope these are 89 or 88 with two play style pluses they're big name players so i have hope i genuinely have hope for this one i think it might be 88 it's not 89s but we'll see this could be a good one this game is also taking place in the 17th of march so we'll be watching out for that also um but this actually but this is a player of the month that is nsbc that's going to be coming soon i think kane and grimaldo might be the favorites for that i don't know who's won yet i don't even think it's been leaked but i think that player of the month could be either today or tomorrow on friday i think but this like a player of the month actually comes out on fridays so watch out for that then and then there is one other thing since the new season just dropped in the season notes that were available this player pick like a moments player pick sbc between the three newly promoted teams from the championship into the primary league for this primary league season we're going to get a morris i forget this guy's name from burnley five star skills and then we're going to get a medzovich center back card these were all a part of what ea told us was coming in the new season update and since that update is out maybe either or all of these cards could be released via that sbc that's coming it's going to be a player pick between one of the three so i choose wisely i guess whenever this comes out but that might be today that also might not be until like next week but i imagine they'd want to keep it pretty fresh so i'm going to guess that these are today that's my guess and then of course marquis matchups on a thursday that is something that comes out every single thursday on this game so that's kind of the video for today guys i'm looking forward to more news more information my pack save is slowly getting there add another 83 times 10 to the stash yesterday i accidentally opened an 84 times something or an 85 times four and then i have my 84 times 20 from level 25 from the season here and hopefully we will be able to get ourselves a few more packs couple more 83 times 10s i might try to save all three of those today for tomorrow because at this point it's like i'm not packing anything from this re-release let's just try to pack something from foot birthday coming out on friday so that's the video for today guys if you did enjoy dropping thumbs up on it comment below if you have any questions subscribe if you're new and stay tuned for another video later on today that is definitely a weird one guys all right that's enough i'll say about that i'll see you in the twitch stream today that link is down below in the description beneath for account peace out


My name is David. I'm a developer advocate for a company called influx data Our primary product is influx DB and open source time series database Anyone familiar before I begin? Okay, a few hands All right, first we'll start with me. So I'm Scottish. I Have a load of animals in my house. I Really like esoteric programming languages Now this is the question I ask every time and I've not had a hand So I'm looking for someone here But has anyone ever heard of or written a line of pony? All right, that's your mission after this talk. Go look up pony lang very very cool Rust usually gets a few more hands still kind of esoteric, but a very cool language, too. I am quite Into the container ecosystem I'm a member of the kubernetes organization and I've been involved in a release team for the last year So if anyone wants to talk about kubernetes or containers at any point, please come and speak to me And I am a practice in stoic So if you're not familiar with stoicism, it's just the idea that being uncomfortable with being comfortable with uncomfortable situations like this and My animals, so I've got a small video. Does anyone know what a chinchilla is? So I have two daggers five chinchillas free Roman ferret a dog some fish and some other stuff But aren't they just the cutest animals in the world? No, it's stuck. There we go. Okay, so the talk introduction to time series Before we begin I'm going to start with a small pop quiz When we talk about time series, we generally think about monitoring and IOT we talk about financial trading, etc But there's a whole bunch of fundamental concepts of time series that are actually much much older So we're going to play the invented when game and I'm just going to play with myself I'm not going to make anyone participate that doesn't want to participate but as developers or operators or anything like that We have to deal with the concept of encoding Probably on a daily basis whether that be json encoding or other formats But when do we think encoding was first used in modern civilization? The surprising answer might be that actually it goes back to 410 BC So not that new The encoding system back then was documented in Plutarch and it's just ancient Rome kind of I guess Studies diary mixture of both And what they said in this book was that there was a mercenary Someone who had a boat with a crew and the ability to fight Called al-Qa'bedis who didn't fight for any one particular side in any war What he used to do is show up to the battle Kind of scope out who's who and then raise a flag to see which one he was going to kill That was his entire premise and I'm sure he made a lot of money during that Now maybe it's a bit of a stretch to consider this encoding But he used a very simple flag based system to indicate to a much greater audience What side of that battle he was going to participate on? Now we're talking about the 14th century. So think about that as 1500 years at minimum And the system hadn't really evolved much in that time So they're now on a system with one flag or two flags 1500 years to decide we could add another flag But then shortly after that just another hundred years things started to get a little bit more sophisticated They actually had 15 flags to represent different letters or Actions that they were going to partake in the war and then just a couple of hundred years later in the 17th century This system is actually still used today by most Navy ships So we have a system that represents numbers and some letters with flags and they have different colors and that's it All right, so in coding not new very very old and has been used across the last 2000 years So they ask you when sharding is Is anyone brave enough to think it's modern hopefully not sharding is also very old But when we talk about it in a technology sense We may think of sharding as this new thing that people didn't use before But it actually dates back to 150 BC Wasn't documented until many years later, but the concept of sharding may not be what we think of today What the Romans did Was take the Roman alphabet, split it across five tablets with five letters on each tablet And the reason they did this is because the way you won any war 2000 years ago was how fast you could communicate with your troops in different posts Been able to use tactics to your advantage to attack your you know your anyway So I actually find a 2000 year old photo This is how they did the encoding and they used a flame system or smoke system So on the left wall, they would have five people all with the flame torch And they would indicate which tablet the message was going to come from if they raised the four smoke flames They would know fourth tablet on the right hand side They would do the same to indicate which letter on the tablet and they were able to transmit messages really really far and really really fast And that was the biggest advantage of the Roman Empire had when it came to fighting their enemies If like me you appreciate learning about these kind of historical Points and how technology maybe isn't as new as we like to believe There's a really good book called early history of data networks Most of the examples I spoke about here are in this and there are so much more So if you enjoyed that by this book read it, you'll have a great time Okay, now the time series that has to be new right? Can't be old time series must be new Unfortunately the time series is also really old the Romans had a concept of time series in fact The Romans used to have IPOs The Romans used to have stock markets the Romans used to trade shares and companies with their peers People were tracking the price and profitability and value of all of these companies Going to the Roman markets and trading the shares and all of their companies making some extra money And I find that fascinating right nothing we do is do the Romans did everything 2000 years ago But we can learn a lot of lessons from them So again many many many years later the Netherlands were the first to have the first IPO that we have on record I was in 1602 the US were lagging behind of course And they had the first IPO then now I think what's important here about these two events is that the concept of time series as a phrase has never been used in any public writing ever at this point in fact There was an 1884 that someone actually coined the term time series And what they were interested in was if we import silk and cotton and other textiles from around the world Does that have any correlation with the export price that we are getting on our wheat and the answer was yes I would not suggest reading that article and it hasn't aged. Well, it's very dry, but you know, it's there. It's available But as a term time series isn't that old 1884? Okay, so that's the date that none of us were alive, but not too long ago Why is this important? Well, it was the first paper that ever actually used the dimension of time and any statistical mathematics or analysis of numbers And that's what we're going to talk about today Okay, so my CTO Hates it when I put a slide in But on my first week of the job I spoke with him and he told me that most data is best understood on a dimension of time And that has stuck with me for the last 15 months And it really opens your eyes when you think about that Especially when you go back to your jobs on Monday and you're starting to look at the amount of data that you have Start to think about it's a dimension of time and how that applies to your data and the whole world of possibilities are going to open up So now we're actually going to start the talk. That's the history bit done What are we going to cover we're going to talk about what time series data is I Am going to talk to you a little bit about TSDB's or why you should use a time series database instead of a general purpose database I will use some examples with nflux DB because that should pays me and that's the product that I'm most familiar with What I will tell you is that everything I cover is very much agnostic and we'll work with Prometheus or any other TSDB that you may be using I will talk a little bit about the value and not just the value but the cost of time series data There's a lot to understand and mostly because generally you have a lot of time series data And you have to understand the trade-off of storing it all or storing some And then I'll talk a little bit about as developers and operators where we have moved in the last 10 years And why time series data is so important to understand that migration from monolithic to cloud native to microservices and servers Okay, so what is time series data? Nice and simple any piece of data with a timestamp is time series data That's it. There's nothing fancy here If you have something in a file or written to a database that has some sort of created that last updated that Any of that that is considered time series data So I'm going to kind of walk you through an example to understand why we need the dimension of time when we talk about data And what I have here is just random scenarios that everyone here should hopefully be familiar with inside of our infrastructure So in the light red color, we have the memory hitting 100% That would be a cause for concern, right? If we see the memory usage at 100% something may be wrong Next we have a health check failing if there is a health check failing and our Production infrastructure something is wrong. And of course if we see a pod killed by the memory That is a bad thing. We don't want pods to be dying or processes. Whatever you want to think of there And then in the orangey yellow color what we have are potential causal events These are not dangerous on their own, but they could be a trigger for the dangerous stuff So if we have a database migration that runs that could cause problems that could break our application If a pod gets restarted in Kubernetes, that could lead to potential problems too. If we deploy a new version of our app I've spoken to developers. We are likely to introduce bugs new versions equal new problems Ever see I pass the start ease may not necessarily be a causal event But could trigger something else in our infrastructure in the purple We have things that should have absolutely no correlation whatsoever to any of the dangerous stuff in our infrastructure So if you do a git commit or the CPU is hovering around a 12% mark that should not give you any cause for concern and The red herring and pink Scotland qualifying for the World Cup. I've lost all hope of that ever happening Now it's really difficult From here to understand what happened in the system But when we apply the dimension of time things actually begin to make sense What we see here is the memory hit a hundred percent that process was killed by the arm We triggered a new deployment because of that now if you're in container land that could be used in the latest tag All right, very dangerous. You're always going to pull stuff so you don't necessarily know what's running in production When that happened it caused a database migration to run Was broke all of our tables because we weren't supposed to release it yet Our health check is now failing and now our application is in some sort of crash loop back off state So understanding what happened when it happened and the order that happened is how we make sense of complex situations Everyone familiar with this screen Right, no matter what you use for storing logs logs or classical time series data What is the first thing we put at the beginning of every log line? timestamp These are events Now I'm not going to talk a lot about structure and events But if you're not right in your event or log data and Jason that can be parsable by a tsdb or other system You're losing out in a lot of intrinsic value And there'll be some examples of that later But if you want to talk about structured log and just come and find me after this talk So what is time series data? Well, we know there's anything with a timestamp, but there are actually two classifications of time series data as well So what we have first is regular time series data, and I'm going to try and refer to this as metrics for the rest of this talk What makes it a metric is that it is predictably available. So regular time series should always be available on the same interval Examples of that would be the CPU usage and so forth Regular time series is not predictable. I cannot tell you when that next event will happen and we're going to call that events It's unpredictable and inconsistent So an example of regular metrics or regular time series and metrics CPU usage Memory usage, so we're talking about Linux system and for such a monitoring here We could be tracking the ping time or latency to some sort of external service and we do that every 10 seconds That is predictable and if we want to track the number of processes running on any machine again If we request that value every 10 seconds, it will always be available Irregular time series of things that we cannot predict Can you tell me when the next login event will happen in your system? No, you do not know when the next user is going to get their password incorrect Nor when the CI is going to finish or if someone is going to trip over a network cable and your data center and take down a few systems These are things that are all valuably important and should be stored somewhere But you can never predict it and the way that we handle these two different types of series time series data has to be different Okay, so we have a football game There's time series data everywhere and for a start there's time series data in this room As a metric any interval I can ask how many people are in this room and I will get a number from zero to whatever So in a football game, we have the exact same Now there are a few different types of time series data here first. We have the number of people in the stadium So that would be a metric and regular We also have goals scored So they have a timestamp. We know that at 54 minutes and 7 minutes in this game. There is a goal scored We know who did it that is an event and it's irregular We cannot predict when the next goal will come if we could we would all be a lot richer We also have aggregate and that's really important in time series data as well So we are actually able to calculate an aggregate score over multiple games We're not going to talk about aggregates too much today, but there are special form of metric And in fact, there is Some more event based data here If we take the number of people in the audience That is an aggregation of a set of events How many people came into the stadium? How many people left the stadium? If you track every one person in and one person out you have an aggregate or a metric So you have to understand the difference between metrics and events And what's important is that all metrics are aggregations Everything Even the CPU load on your machine is an aggregation We just don't find a lot of value in storing every CPU instruction sent every instruction sent to the CPU It would be very costly because it would be billions and billions, but all metrics are aggregations So how do we collect time series data? I'm going to talk about a couple of ways And just from nflux db and infrastructure monitoring point of view Of course, you can have client libraries for php to write to your tsdb of choice But a lot of this work has already been done and is already available to you to be consumed So there is a project from nflux data called telegraph It has a whole bunch of inputs and outputs. The reason I'm listing the outputs is that we are a very open company We don't really care or mind if you want to use telegraph to write to another tsdb We don't lock you into nflux db We support inputs like cloud watch, elastic search, kafka, jenkins, kubernetes Anything you have running in your infrastructure is emitting time series data And the tooling to collect that is there and a couple of lines of toml So you don't even need to write anything complicated to start restoring this time series If you come from a Prometheus background, then there's a whole bunch of exporters that are very similar to the telegraph plugins as well Basically, no matter what you run in your infrastructure, there's something there to collect that data So you should begin to leverage it Anyone who has already been doing a little bit of time series research, there's a bit of a dogmatic war Should I pull or should I push my time series data? You know Prometheus goes down the essence of you should always pull nflux db actually supports both And the reason for that is you really do need to support both Right for metrics. Yes, you can pull that on a regular predictable interval The value will always be there and you're going to have a really good time You're going to collect loads of data and learn loads of insights For the For the Events and unpredictable interval stuff. You cannot pull it. You don't know when it's going to happen For that we do need a push approach. So you're going to have to instrument your code to push those events to a tsdp So there's not one right way. You have to kind of adopt both Use cases for time series data As developers you may be very familiar with monitoring your application Of course the Linux machines that run on any cloud VMs and so forth Iot masses amount of time series data there, you know, if you have a digital firm stat in your house It's constantly checking the temperature and emitting that it's constantly tweaking the Water pressure and the boiler etc And of course real-time analytics if you have a website online and people browse to it You maybe want to track them when they go there How long they stay there when they leave where they go to where they came from all time series data So time series data literally is everywhere in our stack already And you just have to identify Now the database bit. So why should I use a tsdp over any other system? Well, the way that time series database stores data is in a very particular format, right? The way that we read the data is very very unique as well time series data is not small data Generally, we're talking millions to billions of points on a regular frequency That means that we have to have high velocity writes Our reads are very different and unique, right? You would never go to a tsdp and say give me every value for this series across all time That would be really painful Generally 99% of the time you're going to go I want all the values for this series within a specific window So the way the sharding has to happen the way the indexes are built is all built around time And because there's a very heavy cost To storing time series data just because of the pure volume and size We have to have time to live or some sort of life cycle management for that data to either expire it Round it up or down some button so forth and we will talk about that in a minute So this graph comes from dbinjins.com And they track a whole wealth of statistics about twitter mentions google searches active repositories on github all this other data And they try to track the growth curves of each individual database but also databases as a category The blue line that's storming away at the top here is time series It's the fastest growing category of database for the last two years maybe a little bit longer And I think the reason this is the fastest growing database is we're now starting to change our architectures I won't make you show your hands But there are going to be a number of people in this room who have a monolithic application That are talking about containerization, micro services and cloud native And what we do when we make that architectural switch is that we move a lot of complexity that we used to keep in our code to the infrastructure layer And it's that complications in the infrastructure layer that have led people to make their monitoring a lot more advanced So the new stack did the study and they asked people or developers You know, do you have time series data and if you do do you store it in a time series database? 12% said yes So 88% of the people that had time series data weren't using a general purpose database instead of a time series database Now I think that's mildly confusing And I don't think it's entirely accurate And what I want to show you besides just using a really cool rick and morty image Is that you probably already are using the time series data and just wear and aware So if your company has too much money You may be using urelic If you have like that's a little bit less money You may be using datadunk And probably everyone was using google analytics These are all time series databases just with a different ui showing you different stuff and metrics and measures about your applications or your websites Excuse me, so you probably already are using the tstb So I think that that study was just a little bit flawed Nice question. Who's using kubernetes? Okay, only a few hands. I sent a poll on twitter I think it was around march last year And I said I run kubernetes in production and I monitor width There's 74 of the people that responded said they were using prometheus Right, and that's great. At least they have some sort of metrics and monitoring in place And because prometheus is a cncf project that number is always going to be higher than any other tstb We had 10% using some sort of sass like urelic or datablog We had 3% using nflux db And then 13% that are using nothing Now I don't know what your level of knowledge of kubernetes is But I did see production And 13% of those people are not monitoring it and it's a big scary system So if you are in that 13% right what you learned today, hopefully you can take it away Run nflux db or prometheus or whatever and begin to monitor that All right, so it's not too late. This is where we start talking about time series with nflux db as a few examples Remember it's agnostic. You don't need to use nflux db But it's just the one I'm more comfortable with Okay, so nflux db is a time series database What's really cool about the company I work for nflux data is everything is open source And we have a very very small enterprise Code base just to make money to keep us ticking over But we are a full stack Time series company what that means is we have telegraph for collecting your metrics We give you chronograph for visualizing that for dashboarding and other tools You can use grafana if you're already comfortable with that it works right out of the box We also provide capacitor which allows you to do real-time streaming and anomaly detection on top of your time series data We are currently in a process Of working on v2 of nflux db is on beta 4 as of last week And we'll be hitting g a within the next three months And nflux db2 is is built around containerization and kubernetes and all that other cool stuff So if you are doing that migration you may get a lot of value from playing with that That's the sales pitch bit Let me talk about time series data. We talk about points the best way to think about that is that at some point in time This equal this Now if we use an example Hopefully we're all relatively familiar with linux, but it has this concept of load averages I have a small series key on the left here Excuse me the series key is made up of a measurement name. So here it's called load We then have a couple of tag values. So we're saying the host that this load was collected from it's called vm1 In the blue we have the fields So that's just the one minute the five minute and the 15 minute load average And then in the yellow we have the timestamp on the end because all time series data needs a timestamp A couple of examples here. We could have the stock tickers. So the measurement name is stock price in yellow The series key is the market and the ticker So the market we need to know which market the data came from and the ticker is the company we're tracking And there would be some value on the end And of course you can use that format for anything within your infrastructure So if you are microservice based you could just track users which service they're hitting with their api calls and so forth Just to cement this when we talk about a series what we're saying is that the tag set is the same So even though the market is nasdaq on both of these these are different series because the ticker is different So if I wanted to pull out all of google's pricing for the last 24 hours, that would be a series of points on a series Now why do you need to understand the difference between tags and fields? Well tags are always indexed which means they can only ever be strings That just means that when I want to pull out one very specific series from the tstb is really really fast But we do want to store multiple types of data across that series So you can use fields which are not indexed, but they do support multiple data types So they can also be strings. They could be integers. They could be billions and so forth But they are not indexed and doing aggregations across them can be really slow So generally you always work with a series and you filter by tag So let's talk about this value and cost about time series data And in order to understand how costly time series data is we have to understand one of the most important concepts Inside of time series and that is resolution So when I spoke about metrics earlier, I spoke about predictable intervals. We call that the resolution of the data So if I'm going to collect a load average every 10 seconds, that is a 10 second resolution If I collect a load average of over 30 seconds or one minute, that would be a 30 second or one minute resolution And the more sophisticated we get with that resolution is going to determine how expensive it is to store that data So the value of time series data is directly correlated with the resolution and how many points of data we have You can actually reuse a formula and say 10 second resolution across 10 metrics Multiply them together and I have some sort of storage requirements of how many points I want to store and you can calculate that But it's more important to understand this through an example. I feel so Let's assume we're doing Linux infrastructure monitoring. I'm going to keep this really really simple to start with We're only going to track one value So if I have one machine one series I have one value that's the CPU at one second resolution That means I'm going to store 86,400 points per day inside of my database Now in order for this example to really strike home with you what I would suggest is think about storing this number of rows in a general purpose database as the number increases If we have two machines in our infrastructure still one single measurement at one second resolution We have 172,800 points per day A modest production infrastructure may have 10 machines, which is 10 series And you're going to want to track more than the CPU CPU memory disk. I owe a couple other fields So we're going to have five measurements We're still going to track it at one second one second resolution And all of a sudden we're jumping up to four million points per day Again, think about this in the concept of a general purpose database. Are you comfortable storing four million points a day? It depends on the database, but maybe not Now let's jump to a real example of time series data. We have financial trading On the NASDAQ there are 3,300 companies Let's just assume we're only tracking the cost of the ticker and because it's financial trading. We may have sub second resolution Here we're going to use one millisecond Realistically when I speak to financial companies, they are using nanosecond resolution on the trading data so I just couldn't fit that number on the screen But it's a really big number per day Right very very very difficult for anyone to store that amount of data in a single database But time series databases are built to do this and they will handle it much better So what happens if we take the one millisecond resolution and drop it to one minute? Well, we're back down to the millions, which is good What if we drop it to an hour and we're in 79 000 points, right? We're now in the comfortable territory regardless of what database we use We are feeling a little bit more comfortable about storing that on a daily basis And if we jump to a six hour resolution, we're at 13 000 points You could store that in a json file on the disk and load it every time and you would still be happy with that So six hour resolution. We're very very comfortable now. This is good Here's my wonderful draft I do this myself. It's not my kid But what's important to understand here We have the dimension of time And we have the value of the data And what happens is if I have one millisecond or in fact, I have 10 seconds resolution That data is valuable to a certain plane And then that level of granularity or resolution no longer is that important to me anymore You know, once my time series data is what a day or a week old Do I really need that level of resolution? No for real-time observability or debugability. Definitely So then we can maybe move it and we go to one hour resolution So the purple line is the The resolution being changed. The green one is just the value without ever changing the resolution After an hour, we're still getting more value. And what we really want to achieve is this top purple line We do want to change the resolution and we want to maintain as much value as possible But the longer we store the data when it's not important to us anymore. We have to down sample it or delete it And that's what it's called and time series data. You have to down sample You may find some systems talk about rolling up the data Calculating averages is all the same thing. So down sampling data with time series is one of the most important things that you can do Especially as you move from the thousands to the millions of points Influx DB makes this really really easy This is called a continuous query It runs on a regular interval. It pulls out data from a predictable window Calculates the average and then stores it in a different retention policy for longer So what most people use it in flux DB do is collect data at high resolution say one second And they'll keep that for one day Anything older than a day they calculate the average For the day and store it for a week or a month Anything older than a month they calculate the average for a week and store that for a year So you have that nice value curve going down slowly And you're reducing the points the same as we did with the NASDAQ You know we went from the 200 billion points per day to 18,000 And it's as simple as a five line continuous query like that So it's really important It's the one thing that I always say to people if you leave this talk with nothing but this That's good right roll-ups down sampling really really important Unfortunately for events in a regular time series you cannot calculate the average All right, there's no predictability there the average would tell us nothing So there's an entire wealth of information on doing anomaly and outlier detection You can google for that with influx DB. There are plenty of docs I definitely do not have time to go into this today But there are approaches to do it. So if you want to store your logs Inside of influx DB you can and there's a really good way to sample that over time Okay, so now that we have all of this time series data What does that mean for the monitoring of our applications on our infrastructure? What can we do with it? Let's talk about the most simplest architecture in the world. We have one application That speaks to one database This is the monolithic architecture If we want to monitor this system And I'm only going to speak for my own experience here. I'm not saying this is necessarily what everyone does But in the early 2000s what we would do is set up check-based monitoring Check-based monitoring says if the CPU ever goes above 80 percent, I'm going to reboot the machine If the memory usage ever goes above 80 percent, I'm going to reboot the machine If the response time of my application hits above 300 milliseconds, I'm going to reboot the machine Black friday, I used to work in e-commerce stores We would go out we would buy a whole bunch of new machines We'd stick them on our racks and then we'd sell them two weeks later Right that's how we handled scale back in those days This was just really simple right when you have one application speaking to one database Life is easy kind of so in this system When do we send a message to our devops or sre our operations people? And generally we just have a health check on our application and if that begins to fail We page someone and they have to go look at the logs and work out why that's failing Again, things were a lot simpler in the early 2000s And if you're lucky enough to still be on this architecture today, I'm very envious But then of course we started to do horizontal scaling We'd have more than one application still speaking to one database and it got a little bit trickier How do we send a page when we're doing horizontal scalability does A health check failing on one of our nodes mean we should page someone No What we actually used to do was just kind of work out how many 500s we had and if it was a certain quantile Eventually we would page someone and they would have to go and look and see what was wrong So things were still okay at this point Fast forward to the modern day And this is generally what we're working with So we have microservices now We have independently scalable services service b has two instances here. We've got service one Service c has a canary deployment because we wanted to do traffic shaping and send 10 percent of our traffic to one's individual new version Of course, all our networks are virtualized now Whether we're in the cloud or using kubernetes c and i's everything goes through some sort of software defined networking there Each microservice generally speaks to its own database And those databases vary in different types And of course we've got the service mesh because everybody really needs a service mess now So we're proxying all of our traffic through that as well How do we even begin to understand if this system is healthy? So there is a cloud native convenience versus cost argument I guess it's really difficult when you make this migration to microservices to continue doing check-based monitoring In fact, you can't there is no way to tell the system is healthy Using check-based monitoring and i'm talking about systems like nagios and the singa right we have to start using tsdbs That's why the db engines graph is going up at the fastest going rate because many many companies and teams are adopting this So we can no longer treat the symptoms We really need to understand the system as a whole and determine how to fix it So we have to upgrade our monitoring And what we're talking about is causality How can I find the root cause and fix it? And not just that but how can I do that quickly and efficiently without major impact to my users or customers? And if I had an answer for that that would be great, wouldn't it? So when we use a time series database We have access to weeks months or years of data at different resolution So we can leverage that for statistic modeling to understand our systems We have tags that are indexed on all of our time series data Not only do we understand the type of user we have what services they're hitting What region they're coming from all of this is tag-based data that can really apply to the time series or the events And we have a wealth of statistical methods available to us in prometheus and influx and datadog and urelic Now that's just a list of six. There are dozens of statistical methods You do not need to know how they work And you just call the function you pass in some data and it's going to give you some sort of distribution Or graph or chart that allows you to understand your system So I've got a couple of examples In a previous life, I was an sre I wasn't a good one But I was an sre And my biggest complaint about that job Was being paged at 4am With a disc alert Hopefully a few people have had this you get woken up at 4am because the disk is just across 90 capacity Now because I was a terrible sre I would fumble through to my office get my laptop SSH into the machine and type rm minus rf And delete as much as humanly possible from that machine so that I could go back to bed That meant I deleted far temp. It meant I deleted far cache. It meant I deleted Var log because I'm never going to need to log there anymore But it worked My machine would be back to 30% disk utilization. I go back to bed mental note. I'll fix that tomorrow. I never fixed it tomorrow And that just repeated This happened a lot Now what if we had this as time series data? What if I wasn't doing check-based monitoring? Well, I could actually track the growth on that disk over time Which means I can use linear prediction algorithms that are all provided in every tsdb To predict ahead of time Hopefully at 1 or 2 p.m. In the afternoon when I've got my good brain on And say This is a really highly probable chance. This disk is going to fill up at 4am. I'm going to page you now And that's what we need. This is the value in time series data using that Monitoring of growth or regression tracking it over time and sending alerts to actually improve your infrastructure and your job And of course if we use Loads of tags that show which process is right into the disk at what speeds we can actually track down the problem Demand is problem process the problem application And work out why it's producing so many logs The next thing I want to talk about is as we adopt microservices How do we understand if our users are having a happy time on our website? And histograms are really really important The problem with histograms is There are two different variations now Some of you may be very familiar with this And this is how we instrument our codes at present using tools like permeatious and data log and a few other ones We define these buckets and our applications So the request comes in We say oh, we're about to respond to this the time since the request came in was 311 milliseconds We stick it into a bucket in our application and send that to our tsdb The problem with this approach is we're pre-aggregating that event-based data As my application always going to respond to one of those buckets Are there any scenarios where that can change? How do I make that dynamic? If you want to change this you have to deploy And then you lose all previous data Well, at least your previous data will have the old buckets Your application has had massive speed improvements And now everything is in the first bucket. There's no value there. There's no distribution So we cannot use histograms in an effective method or modern architectures with pre-aggregated buckets So that's your warning What we really want to be able to do is do the histogram at query time Pass it in a time series of data using dynamic buckets to understand We're looking at 24 hours of data Calculate some means do query time bucketing But not only that we then want to forward all of that data to something called mode What does mode allow us to do? Well, it allows us to generate distributions from highly available tag sets within that data So if we talk about that in a more practical example If we have a percentage of our users That are experienced in one second response times. That's bad If we grab that data and zoom in to it pick out that bucket pass it through the mode It's going to analyze all of the tag sets for that data and tell us which tags are most frequently used And it may be that for our premium customers We inject an extra set of scripts or javascript that does some sort of extra tracking Which is delaying some sort of response or low time on the client side of the browser And just by using the modality function we can identify that really really quickly and at query time And finally because I have a bit of an e-commerce background One of the toughest things we had was Under how many servers we were going to need to handle events like black friday or christmas and so forth And it's still a really difficult problem. I also used to work for a media company That dead rock and metal news And the biggest rock and metal news in the last 20 years was probably the death of lemmy And we could not scale to that But fortunately well, no, not unfortunately if we were using a time series database We could have ran scenarios through something called whole winters Predicting major events and trying to have it taken a series of data from like and like events And applying some sort of scale to it to work out how many servers or machines or vms I would need to handle certain failure scenarios So whole welters is again available in most tstbs You just pass in data and look for cyclic data or things that repeat Very very handy and very very convenient And the whole point of this is that once we have time series data allows us to build our automation Determine root cause analysis use historical data. And that's just The start right we can then start to do prediction and machine learning on that stream of data as well There are a wealth of tools that who can influx db Prometheus through Kafka that run machine learning models on your time series data to do security threat Detection anomalies and so forth Very very cool So in summary, please use a tstb Do not use a general purpose database of your time series data Please roll up and down sample your data as much as possible. All right. It's very expensive to score billions Very expensive to serve billions of points So you have to understand how long it's able to you and plan your down sampling appropriately You can run outlier an event based detection run outlier an anomaly detection on your events And really just build as much tooling dashboarding and automation as possible with this data There's no point in storing it for it there not to be consumed and used to your advantage So that's all I've got. Thank you very much And I hope you're interested in the time series data, but a little bit