I'm, my name is Martin Plank, you can find me by this name, like literally everywhere. And I'm currently head of DevOps at Threadmark, which is a small startup here in Bernal. And many of the lessons learned that you'll see in the talk are from this company. So something about me, I hope some of you remember me from Red Hat, because I was formerly software engineer working on Overt and Qvert. So I have really close relationship with infrastructure and with monitoring and with performance. What I really like about moving away from developing the infrastructure to this thing they call DevOps or SRE or whatever it's called now, it usually means that you have two full-time jobs. One is developing, the other one is servicing the infra. I really like the movement to business side and, you know, to the actual production and deployment where you're not really making some kind of piece of infrastructure in a silo where you think that's how it's going to perform and everything, but you're really trying to make sure that you bring some value to your customer. So I'm also maintaining the monitoring stack at Threadmark and I also have a colleague here who is usually the one who points out the mistakes, so that's awesome. And I'm automation and data geek, like I need to have everything automated and if something is not automated, it's not ever going to get used and the same is for data. If something doesn't give me data, I don't like that thing and I would use it at all. So why are we talking about Grafana? Now the thing is I don't want this talk to be too Grafana centric. Grafana is just a tool that displays data from your monitoring system. In this case, I'm using Prometheus alert manager, but the thing is there are more monitoring alternatives. There are the old school Zabix, Nagios and stuff, there's Datadog. This is really generic concepts of monitoring real production workload and how it performs and what do you need to look for in your monitoring system. So but we have decided to go with Grafana and why is that? So the first thing is you're using Grafana because you want to use Prometheus because Prometheus is the good stuff and Grafana just happens to be nice and complementary with that. And the thing is it also fits nicely in cloud native landscape. So nowadays you're probably running Kubernetes or Docker or some other cool high technology that is in this large cloud native landscape and Grafana nicely fits there or Prometheus fits there and you need to display data from Prometheus. So Grafana therefore fits there. It's really beautiful. Like the graphs are beautiful. They may not be showing relevant information, but you can make some absolutely stunning graphs and we'll get to that a bit later. And the thing is, yeah, it's super easy to mess up because you can create many dashboards and you can monitor many data and items and then you end up monitoring nothing. So that's pretty bad. So I would like to start this talk by talking about context. And what I mean by context is context in monitoring.  Why does it matter? Why do you need to see it? So you might be monitoring your performance metric because you need to deliver for your customer. You have some kind of crazy SLAs or you may be monitoring availability because again you have SLAs. But there are also more use cases like business intelligence and other things that you just want to know about. So let me start this by showing you a graph. I hope it's readable. Is it readable? Okay. I have a backup picture. So if you can't really see one picture, I probably can show you a high-res version. But this graph shows how many engineers are at lunch in a week. So you can see there's a very small spike Monday but it goes all the way up on Wednesday then it falls down. Now one thing I want to point out that this is obviously graph generated using fake data because people, startups have to work on weekends but that's just like a small thing. But the thing is why would you graph this? Like it may be interesting. Our manager maybe want to graphing this but let me ask you a question without giving you more context. If you think that this graph shows absolutely useless metric, raise your hand. That's not too many hands. So I just think that this is useful graph. Cool. Because then we can change the context a bit and instead of showing this data in context of company that happens to be tech company, we could be showing this data in a restaurant. And this restaurant is tracking how many people are at lunch. And then this changes how the data is useful because restaurant needs to stock up on their food, they need to order in advance, they need to handle all the logistics of food. So it becomes critical business metric just by small change of context. So something that might look irrelevant at first becomes relevant just by shifting it. So in summary, what context means in monitoring is that there are some metrics that you need to prioritize. First level of prioritization is you probably need to monitor metrics that make your company function. You can't really, you know, if you're having a web application, you need to be serving.  If you're Amazon, you need your Amazon working probably. So that's the most critical thing that you need to know. Then the second part is the SLAs. So I have started talking about SLAs and they're going to be throughout this whole presentation because I'm dealing with crazy SLAs. Now this can, what does SLA mean? So it's some service level agreement and it's probably something that's written in contract with your customer. Now your customer may be proper paying customer but it may also be different department in your company that, you know, you need to provide some service for them and make sure that it's available for certain periods of time. Next, two small items. One thing is optimizing for cost. So for example, if you are thinking about running AWS, and you probably don't want to go bankrupt the next day. So having monitoring set up and monitoring all the things that AWS charges for might be a good idea. And the short one is extremely business specific and that's the business intelligence part. So you probably want to monitor metrics that help your business grow and, you know, scale and go further. So this one takeaway from the context part is you should try and focus on the needs of your customer, whether it is paying customer or just different department or anything, focus on the customer. So I have a few examples and I'm going to show some details or explain these charts. So this is how one SLA focused dashboard could look like. And what this is tracking is mostly performance SLAs. So you do have some kind of data source that shows you how your application is performing. In this case, it's how many requests are under given time. Then you might have some written codes from your proxies so you know you're not erring out. And then there's this absolutely beautiful and useless, but we'll get to that later, graph that shows exactly the same thing as the one above, but in a different way. So this is almost the same thing, but slightly shifted. And this mostly focuses on some kind of saver queue length. So you might have SLA that you need to display your data to the customer in some specific time. So customer can't wait for two hours before the data is up to date. So you might be tracking this metric. And again, it extremely depends on the use case and the application. Now last one is kind of modified note exporter that shows just metrics that are usually infrastructure related. So your CPU usage, memory usage, and disk space. And this is example of tracking your costs. So you might be paying for your CPU time. You probably want to track your CPU time. So I've already started digging into this. The thing is showing relevant data isn't always about showing nice data and nice graphs with nice colors. It usually is pretty ugly. Something like nice stuff. You want to see these graphs that are like nice, periodic. You can see that your system is performing well. The problem is that kind of data doesn't show you when your system is on fire and it's dying and you need to save it, preferably before it dies. So I have a few examples of beautiful graphs. This graph is Redis command calls. And it's beautiful. I really like the colors and everything. And you can see how it peaks every day. That's really cool. But there's one hidden pitfall of Graphana. And it is very able to hide peaks that have occurred within these time frames. So there might be some spikes that are just hidden because it's displaying too much data. But I really like the graph. It's nice. Then there's this one. And that is HAProxy throughput. This shows you in our specific context, this is our HAProxy where we see that customer is pushing traffic to us and that we are returning some kind of traffic. It's not really application-centric, but it gives us an idea whether the connection is working. Now, there's one kind of crazy pitfall with this graph. And the whole Graphana and Prometheus is running at the side where this proxy is connected to. So if this proxy went down, this monitoring is utilized because we wouldn't even be able to access the Graphana. Think about whether this is something you really want to track. And now this is the flame graph that I absolutely love. But it unfortunately shows almost no relevant information. You can see, hopefully, there are some blank spaces where you can guess that there was a maintenance window, for example. But other than that, it doesn't show anything relevant.  And it's ugly, it's spiky, and it surely shows nothing interesting, except there is a very hidden spike here. And I know it's probably not that visible. But if you're close, there's a very obvious spike here. I have even arrow pointing to it. And this ugly graph actually pointed out that our Redis is leaking keys like crazy, and we are not deleting them, and that led us to crashing. So it was this ugly graph, not the beautiful ones that are just nice and handy. This one showed us an issue. So don't focus on the form of your graphs, but really try to monitor relevant metrics in maybe not so nice way. So this is my first conflict with Grafana, where I think Grafana is terrible because it just happens to be too nice. You can graph anything in Grafana and make it look nice and make it look important and then show it to your managers, and they will probably like it. The problem is it doesn't have any value. They are just creating something that could be considered art, but you don't really want to be artistic with monitoring your infrastructure. So try to don't fall into this pitfall and track the scary stuff. Have ugly graphs, but make them show what matters. The next point is if you have already debutified your graphs and created ugly metrics, question them. It's really easy in Grafana, at least, to have wrong units, to break the law of physics, to just track something that doesn't exist, and that's really easy to do. I might have a few examples of this. So in this case, if you remember the HA proxy graph that was beautiful, this is how it started. I guess these numbers won't be really visible, but you can see there's 715 megabytes per second pushed through this proxy. There's one issue with this graph, and that's the fact that it's on 100 megabit line. So in this case, we are pushing more data than physically possible through a line, and that's kind of wrong, right? In this specific bug, you can hit it pretty easily if you use Prometheus and HA proxy and HA proxy exporter, and the proxy has multiple processes, you have to track each process each or this is what happens. So this is pretty easily reproducible, and it can lead you to false assumptions about your infrastructure pretty easily. Now another one is IOPS of disks, and again it's not too visible, but here the peak of IOPS is 15K, and on the lower graph it's roughly 4K, but with multiple devices shown. The thing is, this is the same system, and what's the problem is there's a rate on the system, and we happen to be double or in this case roughly triple counting the IOPS. So this is where questioning your data again becomes relevant. So first thing, when you add a new metric, be it Grafana or any other monitoring system, try to look at it from really primitive standpoint and ask yourself, can this really happen? Have someone else ask, is this really the right metric, is this possible, isn't this like 100 megabit line that's pushing 150 megabit, that doesn't make sense? The mistakes I have shown, like really check for double counting or anything else, display the labels in Grafana and make sure the data is correct. One thing is that physics can be handy, like there are metrics that depend on the speed of light, and if your monitoring shows that you're breaking the speed of light, you're probably monitoring the wrong thing. So be careful about that. No clutter, and this is where pretty much the talk name comes from. You might have many dashboards, and you have many metrics that you want to track, and it may start to look like this. And that is just crazy. It's intentionally made worse to prove the point, and you shouldn't see anything there, except for there's a weird hole but ignored it for now. The thing is it's beautiful, like there are these small speedo metrics showing you things and there's small graph within them, but like if I see this dashboard and I have five minutes before the next meeting, I have no idea what's going on with my system. The system can be breaking down, you know, there's, I don't know, like small spike over there, and I'm not sure if it's important. It's just showing too much data in no focused way, and I have no idea what's going on. Or another example is from my SQL dashboard, where again there's a lot of data, it's not segmented by the means of it, and it just looks crazy. So you know, this probably makes sense if you're operating something like that, and you're launching things into space where you have a room full of people monitoring it, and everyone has his or her assigned graph, but if you're monitoring a simple issue, for example, I think that might be too much data. So again, I think Grafana is terrible, and it's because you can start creating many dashboards and you can spam multiple graphs into these dashboards just really easily, and it's just so convenient, you know, just copy this dashboard, adjust something, and leave it there, and that eventually turns into what we have seen before. So what you can do about that. So one thing is try to segment your monitoring into two parts. One of them is the overview part, where someone who probably doesn't have too much time or, you know, you just need to have dashboard where you can see that your application is working, your customer is getting the data, the customer needs. So I call this the overview dashboard, and it shouldn't have too many graphs, but it should focus on the important external metrics. Then it might make sense to have a few dashboards that are as detailed as these are, but then think about having people who are able to monitor the 24-7 or, you know, high, really the service people or operations people who can care about these graphs. So one question is, can we fix this? And can I open the water? Yeah. The arms phrase we probably can. And I'm going to start with the previous MySQL dashboard. Nothing has changed, it's the same mess. And we can just add more spacing and reorder the metrics, and it then becomes like this. And I think it's way more readable. It's clustered, so your SQL locking is in one row with some graph about that that shows the general state of locking. Then you have, like, other metrics grouped on the second row, so you have, like, queries per seconds against f-syncs per second. So you just group these data together into the rows. You make the charts bigger, and it just becomes much more readable, at least to me compared to this. Like, the amount of data is probably going to be same. It's about presenting it in a nice way where, you know, someone who hasn't worked with your Graphana for two years can just come in and see that, okay, this little spike might be wrong. Whereas here, I have no idea. Like, yeah, there is spike, but here isn't a spike, so what's going on? This seems unrelated. So just moving around dashboards can lead to much nicer and better experience with your monitoring. So these are some of the points, like, think about spacing, think about positioning, put data that correlates or is relevant together. And one thing that you should, that's Graphana-centric. One thing that you need to take care of is if your dashboard grows too large, and you have many, many graphs in multiple rows, and you have these small folding rows and all the cool features, the dashboard becomes slow, and it's crazy slow. If you try selecting different timescale, you might be waiting a minute, and minute in monitoring can mean that your system will crash or not crash. So that's what minute does. And that's really pronounced. If you use the selector where you can select multiple timeframes at once, it really kills your Graphana. So I was talking about the split between overview dashboards and then your regular deep dive dashboards. And the thing is, try to think about dashboard space as limited resource. It's the same in the previous slide, I believe. Yeah, this is something important. Like, the space at the top of your, it's like supermarket where they try to put the most relevant items or the most advertised items right in your eye line. So think about the top of your dashboard being as the most expensive space where you really want to move the metrics that matter to you most. And as you go down, it should represent going deeper in how important the metrics are to be monitored. In overview dashboards, we need something that when you open it, you can see, okay, my company is working, my company is running. Or on the other hand, you can see there's something going terribly wrong. And we need to fix that immediately. So this is an example of overview dashboard. And I've circled a metric, it's called RV ServingJS, and it's because we are trying to serve JavaScript. And we can see that there is a spike going down, whereas every other metric is fine. And the spike should be pronounced somewhere here, but it's, I guess, invisible. And this is what I want to see in the overview part. I know that there was an issue with serving of JavaScript. Now, this is important for me. And there might be someone else who needs to debug that and figure out, okay, so we didn't serve JavaScript for a while, where's the issue? And then you can start digging deeper and have your node exporter. And then you come to this conclusion, for example, in this case, it was about running out of disk space. So on your node exporter, you may have this kind of graph that shows really low level detailed metrics that isn't very relevant for your customer, but it's relevant when you are debugging the issues that you found in the overview dashboard. Now, don't try to track everything you see in your Prometheus, for example, in Grafana. You should probably have some kind of logging setup. You might have some tracing setup. And all these other tools give you a different view of the system that you can debug and analyze in a better way than just from graphing everything. One example of tracing is Yeager, for example. And there you can see each request and how it performs. And you might not really need a big picture that your monitoring normally brings. Logging is another example. You should probably feed your logs to some centralized monitoring system which can pull out its own metrics, but it might not make sense to track too many logging related items in your Grafana. Now, one struggle is that your company might have multiple deployments, multiple customers. It doesn't really matter, but your app probably is running in multiple instances. Imagine, for example, Amazon, like there's only one Amazon, but they're trying to serve in Europe and USA and Asia and every other continent probably. So in that case, you need something that gives you overview of your company, of every deployment in your company. And you can do that in Grafana pretty nicely. There are roughly two approaches. One of them is this one. And I can't really show, it would be nice if I could hover over that, but there's confidential data in there. But we have multiple deployments, and each of them is tracked in this graph. It's just showing zero to one, whether that service is currently running. And if you hover over that, you can see the customer name. So you can debug the deployment instantly. And we have the same thing for JavaScript. And this dashboard simply tells me, okay, the company is fine and alive and it's probably gonna survive the day. Or it's crashing and we might have some kind of a problem. And currently, this is the whole dashboard. I think there are no more metrics. The other metric is 500 responses, again, from all deployments. And that's simple. If we see a spike in any of our deployments where we have started serving 500 errors, then again, we might have a problem. Something maybe is not crashing yet, but we are not really returning valid data. So this is one way how you can capture your whole company, your multiple deployments into a single dashboard. So the other thing is, this is great for overview. But when you start digging deeper, you probably don't want to track your every system in your company into a single graph that will, it will kill the graphana. And it won't show you any relevant details. There are two features that can help with this struggle. One of them is graphana templating. And I'm gonna jump straight to that. And this is how it looks. I would really love to show more deployments, but again, that's confidential. But imagine having for each customer, you would call the deployment for each environment in that customer setup, you would call it environment. And in this way, you can select specific customer and specific deployment running at the customer. And then use your more detailed dashboards to actually analyze what was going on. So again, you can see here something might be going wrong and then you start digging deeper, you choose the customer, you choose the environment and then you can actually start debugging your metrics. The other approach is repeating panels. And this is pretty dangerous approach for multiple reasons. So the data is currently irrelevant. The thing is this is a single graph repeated for some kind of variable. And it's similar to templating, but instead of having a single dashboard display from multiple data sources, you have a single dashboard displaying one data source multiple times, just with different data. And this is dangerous because in graphana, the width of the dashboard is 12 units. It doesn't say what, it's just 12 units. And that means you can only have limited amount of graphs in a line. And when you extend or when you overflow this number, the thing will start spanning multiple lines and it just looks bad. So this is great if you know that, for example, there are no more than two load balancers or there will never be more than four load balancers. But at least in tech saying there will never be is a terrible thing to do and I wouldn't recommend it. So that's why having this kind of repeating panels, not really a good idea. One thing that this would really solve is having repeating rows. So if you see this, if you could repeat the row for each customer that might be interesting, but that's as of graphana 5.3 or what is the current version, that's not really supported. So this is probably the only way to track so much data on a single dashboard. And this is great if you're tracking a limited resource. Now, another point is don't leave a mesh, don't leave a mess in your graphana. So you might be tempted to, like for example, after this talk to create some beautiful graphs and visualize them in a different way, instead of tracking them in line, create flame graphs and see how it turns out visually. Maybe even do crazy things, try dashboards that don't make sense, try dashboards that are just weird. It doesn't matter, but the thing is, make sure you clean up the graphana. And so it doesn't look like this. You're gonna see there are probably some relevant dashboards, like for example, it's our company running, but the test debug dashboard and test permit is ready, it's multiple a's, that probably doesn't belong to your production graphana, even if you're trying to test there. Also try to name your dashboards in a way that they represent what they actually are.  And I mean, it's great internal joke, but if you come to that graphana as an outsider, you probably have no idea what that means. Now, one thing that I would like to mention is the tags in that graphana. So the relevant dashboards also have tags. And these tags usually point out what is actually the dashboard monitoring. And you can see that these can be combined, so you have like, in this case, it's the data source. So here we are taking logs and readys and some kind of, I don't know, traffic as the sources for the data shown. So this might be one way of tagging your dashboards. But the thing is, this probably is not the right way, but try to think about some kind of structure for your tags so you can always open your dashboard and you know what's going on. And one thing I really like about graphana is that if you're deploying it through Ansible, for example, you can do so-called provisioning. And provisioning is a process of moving dashboards to your new deployment, where instead of going to the graphana UI and clicking at dashboard at anything, you bring the YAML files of the dashboards straight into the graphana directory and then you can't change these dashboards. So if you have some evil colleague, for example, who would enjoy changing the dashboards, this way you can log them and make sure they are not changed unless the change goes through proper code review process. And we're at code review. The great thing about graphana is that the dashboards are YAML files. So we can store them in Git, for example. And in Git, when someone does change to your monitoring variable, you can have proper code review process. There's one pitfall about if you just take your graphana YAMLs and put them all in a Git, then do a change. This is what happens. And it is pretty crazy thing. So I moved one panel below other panel and it did 106 changes because it generated like new IDs and new coordinates for every dashboard. And when reviewing that, that is just annoying and you don't wanna deal with this. So there's one great tool that I recommend using and the link is down here. It's called Graphana Life and it's library in Python where you can create the dashboard in Python structures. You can use Python structures to hack around issues that you would normally not have supported in graphana. You can use for loops, you can use templating, you can generate special templates. It just gives you power of Python in graphana which is absolutely cool. It makes the code reviews for example and when you are reviewing dashboard made that way, you can actually see, okay, this has been renamed, this has been moved down. It doesn't look that terrible. Actually, the main reason why when comparing YAMLs, it looks terrible are graph IDs and coordinates. So there's a special function for generating all this and you just call that when you're generating the YAML. I have an example which you probably can't see. The idea is that it looks like the YAML that you would normally use to generate your graphana but it just uses Python structures where it defaults most of the values so you don't really have to see them and you only see the parameters of the dashboard that you care about. So that's pretty cool. It's probably not visible but have a look at the GitHub link and you can see examples there. So there's an issue because again, graphana is terrible because you can add dashboards too easily. There's a unique dashboard ID on the graphana website. You copy that ID, you plug that into your graphana, it automatically downloads the dashboard, it bootstraps it and it just starts working which is really cool but when you're trying version control for your dashboards, it doesn't scale for this use case. You're adding random graphs. It's pretty much like cool graph, pipe, graphana. So how do we solve this when you start version controlling your dashboards? And I have a few ideas listed here. One of them is implementing them in the Python link. For me, that's terrible idea. It's just duplicating what has already be done and I don't wanna re-implement the thing. But it's an idea, it works. The other approach could be just considering them rendered. Download the YAML, put it into Git, but don't ever review it. Treat it as external dashboard and just leave it alone there. It will probably rot away so that's pretty bad. And I wonder if anyone has an idea how to store these dashboards, track them, feel free to say it at the end of the talk. But these are two approaches I've seen. The first approach really doesn't work having them as external rendered dashboards work kind of nicely but it's not an ideal solution. Anyway, when you migrate to this graphana lip, the difference has become way more manageable so I have moved one panel here. I'm not showing the code because it's too small for the projector but you can see that I've brought 106 changes down to 11 changes. And you can really see, maybe it's not there. You could see that it really took a codebook and moved it below so that's really good. Now the next part is I've been talking about monitoring your memory, monitoring your response time, monitoring your availability proxies but I'm now trying to monitor my application. And really important point is that I'm trying to make is that you can monitor your application by observing the infrastructure at which the application is running. So if your application is not monitored, it doesn't have Prometheus export ready, you can probably gather many metrics just by observing the infrastructure, the database, if you're using Redis or any other queue and that's pretty good. But graphana has this really good feature where you can connect directly to SQL data source. So I know it's probably not too cool to talk about it because nowadays we all have document DBs where you throw your data, you forget about it and your data eventually gets lost. That's how modern databases work but if you have a bigger application, there probably is SQL somewhere down the stack. And this is where the SQL data sources become handy. So this is how it looks and this is mostly relevant. You can see that when you deploy your own graphana but you just specify the name of the database, it's type, host the database as regular connection. Better read this note, not here but if you're doing that because it tells you to make specific user just for graphana so that someone cannot kill your production DB in this way. And then you just do a SQL query and you get free application monitoring based on your database. So this is pretty cool. There are several problems with this. Again, not probably not visible but to generate this data, you probably need to use group by and doing group by on a huge database is not exactly efficient operation. So this query might be pretty heavy. Now there's a comparison like this. This is some kind of application score that's not relevant but there's counting query in the group by times. So you group by your data by time. And if you need to compare that to one value, you need to select that value. So you might end up doing select asterisk from table. So again, if you have huge database this could become quite tricky. And really be careful using this data source because not everyone has multiple replicas for different department. I don't think there's an issue pointing this to your production database as long as you have the user permission solved but then consider the performance implications. Like it could happen that someone opens this dashboard and it kills your production database. That's not what you wanna see in your monitoring. Now the last part I want to talk about is alerting. I hope this is my last point that Grafana is terrible but alerting in Grafana is really nice. And I have to show this. Again, this is graph from our production Grafana and there's this broken heart that shows you that it's critical and there's this line that shows you that the cutoff for your alerting it's really beautiful but the problem is it's not really sophisticated enough if you are monitoring something critical. So you can see, I have to stand this way, sorry. You can see that I've set a cutoff line at a constant and then there might be weekend fluctuations there might be monthly fluctuations and there might be even daily fluctuations where tracking a constant number just doesn't scale. It doesn't alert anything. It either alerts every other day except for the one that you set it for or it just spams random alerts and no one likes random alerts. The other problem is if you opt for this approach you are trying to alert on what is broken and it is already too late.  So that's why I think that you shouldn't rely on Grafana's own alerting and rather use something real like Prometheus and alert managers. The most important point I hope is that you should alert on symptoms. Don't alert when your whole application is down. Like there has probably been thousands of alerts fired before that happened and try to monitor your syndromes, monitor your memory usage, just look where when something broke, look at which graphs spiked and set up some kind of monitoring there. And one of the approaches is that there's anomaly detection. You can use this simple approach where you take the average of some time and it's standard deviation multiplied by two and that pretty much shows when something has spiked. This doesn't really work when your workflow is too fluctuating again. In that case, you need something more sophisticated like buckets for a specific day, specific month and you need lots of data to alert on that. But this is good beginning. It can sometimes predict something useful. The second thing is if you're using, for example, Prometheus, it can use linear prediction where you take the rate at which you're doing something and predict how that will expand into the future. So this is really the way monitoring can scale to symptoms monitoring instead of issues monitoring. And there are, of course, recording rules and much more in Prometheus. And this is the graph you have seen before where we have run out of disk space, eventually. And in Grafana, that's how it looked like if we alerted a certain threshold, the systems that are always above that thresholds would be triggering nonstop whereas systems that were under that thresholds would never get triggered, for example. But in our Prometheus, using linear prediction and a constant, we could see that there's a time, so this was at 1417, this was at 1404 and the crash occurred at roughly 16 p.m. Not p.m., sorry, too much America today. But the thing is, we could see, this is when Prometheus considered this alert to be critical and where an alert manager was actually firing alerts. So this is why more sophisticated monitoring might make sense. So some summary, I wanna leave time for questions, so the summary is everything you've heard before. Maybe the most important point is try to show relevant metrics, make sure your metrics don't break physics or that they're real and you're not pushing more data than is possible and try to focus on what the business and what the customer needs instead of what your developers want to see and have nice dashboards. Just adding new metric is super cheap. You just create a graph for it, you commit it into Git and put it somewhere on the dashboard that's great. The problem is if you start monitoring something you don't care about and you use the space of something that was more important, there are implications. You could be crashing, you could be breaking SLAs. So really think about each metric that you're adding to your dashboards. And that is, that's it. So thank you for listening and staying. And if you have some questions, feel free to throw them on me. Yeah. So you've explained how to conserve space on the dashboard, but then you also have the dashboards which show just binary data, true or false. Why does it even need it? Is the tool to display this kind of metaphor like the line graph? Why is it needed if there's just two values? Okay. So should I repeat the question too? Yeah, so the question is some of the dashboards that are showing binary data, for example, are we serving API, are we not serving API? My answer is that it's probably not the right tool or maybe not the right chart, really. So we could have table, we could have anything else. On the other hand, this is really good if you need to track your uptime or availability over time, where then you can query when this variable was zero, when this variable was one, and you can generate your availability like 99. whatever percent. So I think it's pretty good to display this kind of information in this way. But if you have, again, if you have more important metrics, I wouldn't put this on top. But really, you need to know whether you're running and if it's a table, if it's a board that just says okay or not okay, that would be enough. So, any other questions? All right, so thank you.


I have all afternoon to spend with my family and then I can still study in the evening or write a note or do my case study or work on my master's thesis project. Study for the pants. It is beautiful.  This is Donna. Welcome back to my channel. So for those of you who are new, I do PA related content on YouTube. Take your time right now. Go look at my channel. See if you like what you see and if you do, go ahead and subscribe. Also hit that notification bell so you can know every single time that I put out a new video. So this video is going to be about how I manage my time. I've had a lot of questions about this, just how I manage my time in PA school and how I manage my time as a mom and a wife and things like that and I've kind of touched on it here and there but I don't think I've ever done a dedicated video to it and so that is exactly what I'm going to do in this video. So with respect to managing my time in didactic gear, obviously it was a lot different because didactic gear, we were there in school literally eight hours a day and then it's a lot in didactic gear because you are testing. You are having these quizzes all the time and so you're always studying because obviously you have to know the material. It's new stuff to you so you have to learn the material because it's new to you but in clinical year it's a little bit different. So didactic gear, like I said, we're in class from eight to five, yes, eight to five every day. On Fridays it was a little bit different, yes, we still had to get into class by eight. That was typically our clinical day like where we would go to the clinic and see patients so although we'll be there at eight, you know, we'd go to the clinic at like nine something. We'd have like maybe like a little 30 minute break. We would end the clinic at 12 if we were in the morning as our clinic day and then we'd come back to school for one and then we would have problem-based learning where we're like in a room and we get this new pretend patient and we have to diagnose them and you know write up a note and all that stuff and that would last four hours so that we would be out of class again at five. So although it's a little bit nicer in the things that we're doing, we still have an eight to five day but it was every day. From that I would go home and you know study depending on if it was Monday through Thursday because Friday typically it was like you know get ready for Sabbath so like kind of wind everything down because they don't study or do anything school related any work from sunset Friday to sunset Saturday and that was my time off. But with respect to that like it was just really super militant regimented when it came to didactic year. My day started early I'd have to like get up, get ready, make sure that you know little my daughter was ready so that she can go to the bus stop for school. Thank God the bus came like literally right to our doorstep essentially for her to go to school so that wasn't something that had to be concerned about too much and then I would go off to school and school would start anywhere from eight o'clock. I think there were some days where we started a little bit later on Tuesdays depending on when my sim class was maybe I would start at like 9.15 or 9.30 but typically it was like an eight hour eight to nine hour day. Apart from that I would come home I literally go like just get back into mom mode like cook, clean whatever it is that I had to do from the hours of five to like seven thirty because kids are in bed at seven thirty. Yeah! So that means that I get to study and so I would study from literally seven thirty to maybe like ten thirty although like you know like yeah I keep talking about my kids but yeah I have a husband and so he'd be there too. I would have him like you know we'd be in the same room or something like for me it's just a matter of like being in close proximity together so if I was upstairs and he was downstairs no I didn't like that so I'd go downstairs and if he's working on a project like I'm there studying as well and just as long as we're there we can talk to each other I know he's there I like I like that. So that was like my didactic year. Clinical year y'all! Man if you can just make it to clinical year you are golden like it is you are set okay because it's like the light at the end of the tunnel you know that like for the most part you're going to like pass clinical year rarely do people like fail at a clinical year they may like fail and end a rotation exam or something like that but then typically I guess there's like a remediation that's put in place so for clinical year likely you're going to be fine you are going to fit in and you're gonna like be golden with come when it comes to clinical year so just make it to clinical year and you will be okay but in clinical year like my year my time is so much more my own now don't get me wrong there are hard aspects of clinical year because in clinical year you you have to direct everything you know you don't have these teachers I'm saying hey we got a test coming up in two weeks you need to study or you know you don't have like that consistent constant like grind that you had in didactic year so it's easy to kind of be like oh you know I'm just on my clinical I don't need to study for this test that's coming up in you know ten months called the pants that is going to be you know really my actual like major test that I need to pass or you know I have time to study for that certification exam or you know let me go here and you know take a little nice vacation because I was only I only have to work three days out of this week because I did 312 you know so it's easy to get into that low you know it's easy to get into that mode because again like you don't have anybody there like pushing you constantly saying hey you got to study you got to do this but don't fall into that trap because you're just going to shoot yourself in the foot and it's going to be a negative on your part so for me in my clinical year depending on the rotation I'm on some rotations lent more time to this than others but like for instance you know on my trauma rotation where I worked 224s in the week I would have a lot of time off so I would go ahead and study I would schedule myself to study like there were days that I put off for myself like for my family apart from Saturday which I already automatically has built in because you know of my religion I already have that that time off just for me in the fam but you know during the week I may like put off a day because oh I have to go and get some more clinical sites and so I would have to lock those down so I would take that day to like go travel here and there to like try to see hey do you take PA students if so are you willing to take me on your next rotation and if not you know then I move on to the next thing but I would also study study study so like for all of the things that I'm doing I would study with respect to my EOR I'd study for that and I'm going to have a video on that I'm gonna have a video on that studying for my end of rotation exams just exactly how I go through that but I would study for my EOR I'd also just kind of review things or subjects that I felt like I needed a little bit more extra help in cardiology being like one of those and you know it's a huge portion of our certification exam and so it's important that we know cards and so I would study that as well and then also I continue on and just like looking at some of the materials for like my upcoming rotation I would do that as well so with respect to managing that time obviously in my trauma rotation I had more time to do that because I'd have five days off before like my next shift or maybe two days before my next shift and then I'd you know have three days off so it worked really really well on rotations where I'm doing like four tens obviously I would study in the evening after I've gotten home that's more so like didactic gear but again it's still not the same because during the rotation as well you have time to study like on your lunch break I would study you know there are there are times when I was inpatient and we didn't necessarily have any patients to see because we saw them already I already did all of my rounds and then it's just like waiting for you know a consult call to be called in from the ED and so I have time to do other things so I would do that as well and I'm still doing that because I'm still on rotations but literally like what depending on when I started my day be it seven eight nine you know sometimes ten I would either wake up take the opportunity to wake up kind of late you know I have my devotion and then get ready to go to work on my rotation and then you know go through that day but then come home and spend time with the fam again you always have to give that time to the family and study so from didactic year to clinical year the studying doesn't end it's just how you study and how you structure that it's not as regimented as it was in didactic year because I'm not like okay I only have from 7 30 to 10 30 to study no I literally like on my clinical year I may be getting off at 4 I love it you guys I love clinical years so much I might be getting out at 4 or 3 o'clock in the afternoon and so I have all afternoon to spend with my family and then I can still study in the evening or write a note or do my case study or work on my master's thesis project study for the pants it is beautiful so I love it but that is how I manage my time very very strategically I always make sure that there is time for family God and studying those are really important to me not in that order it's like God family studying but that's I make sure that I manage my time well with respect to that and I make sure that I am getting the information that I need because I want to also know that I know the material because I know that for the most part I'm gonna be tested on this because you're tested on every core rotation on my elective rotations which we're we get four of them we don't get tested on those except for like oskies which are you know your preceptor is asking you like questions they're pretending to be a patient and now you have to come and diagnose them but other than that it's like it's pretty like just kind of go with the flow so that was that's how I manage my time I hope you guys you know learn something from this or you guys like the whole idea of clinical year a lot more because it is amazing but I am really excited to see what these next couple months hold and again pray for me all because I will be taking my pants in a few short months I'm really really really nervous about it but you know I think that they are preparing as well anyways if you have any other questions go ahead and leave them in the comment section below if you have any video ideas that you want to see that I may not have addressed yet go ahead and leave those as well and follow me on Instagram at Adana the PA and go ahead and like this video thank you guys so much for watching I will talk to you guys next time


The Yulivieri, 1985, algorithm was found to be the most accurate method for retrieving hourly land surface temperature from Fongyun 4A, FY, 4A, geostationary meteorological satellite data. This algorithm was then modified to distinguish between dry and moist atmospheres during both daytime and nighttime. These refined coefficients were then applied to produce FY for ALST official products. The results showed that these products had a lower root mean square error, RMSE, than other methods when compared to INSITA measurements at two different locations. Additionally, the FY for ALST products had a lower RMSE than the moderate resolution imaging spectroradiometer, MODIS, LST product when comparing the same two locations. Finally, the FY for ALST products also had a lower RMSE than the XLHT, CITY, and GZH, Dessert, sites when comparing the long-term changes in temperature over time. This article was authored by Lee Sin-dong, Shurhao Tang, Fu Zhou Wang, and others. We are article.tv, links in the description below.


Well, alright. As many of you know, my video yesterday was taken down very promptly, I think within 20 minutes of being up. And all I did was talk about the two New York Assembly bills, A416, A11179. You can look those two up if you'd like. YouTube takes the video down, gives me a community guidelines warning saying I violated said community guidelines. And if you guys can please sign up for the newsletter at frank-tofano.com to stay in touch and updated. I've worked very hard on building my social media personality for the past several years, uploading every single day, giving away free content, information, education, and they don't even have the decency to directly contact me about the video. The violation states, YouTube doesn't allow claims about injections that contradict expert consensus from local health authorities or governing bodies. Thing is, I didn't even say the V word in the video. I didn't state any of my own or personal opinions or anything that goes against those authorities. I simply repeated the assembly bill, basically word for word, as well as the headlines of several recent news articles. I can understand if YouTube wants to remove my video and just get rid of it like they did when I filmed the hospitals or exposed that nonsense documentary out of shadows, but I don't see how they can justify giving me a warning here. Other people on YouTube are allowed to talk about this. This guy's even using the bill to sell flashlights and survival nonsense. And do I have to say anything about the other content that's allowed on YouTube? Really? It's very obvious who's in the club and who is not. And the problem here is that I was incredibly careful with how I worded that video script yesterday. I made sure not to say any of the actual terms and I made sure not to say anything that goes against guidelines. I don't really know if I'll be able to cover current news anymore on YouTube. It seems really crazy if that video was taken down that I can't talk about official government bills that are trying to be passed in Congress. What kind of censorship is that? It's absolutely crazy. Does it really have to be said? I understand that my channel is directly suppressed because of the topics I talk about, you know, throttling my viewers for about two years now. And even recently, they took away 7,000 of my subscribers after I did a video critique on a Victoria's Secret model. Look, they're tall. They're models. They have wide shoulders. I can't crack a joke. You take away almost 10% of my subs for making a joke. Considering the hundreds of thousands of dollars in ad revenue I've made for YouTube and the dozens of thousands I've spent personally on advertising on this platform, you would think I get treated reasonably, but I guess these lunatics in control just print their own money. I don't believe there is anyone else here on YouTube that has produced so much content for so little in return.  So as I said earlier, please go to frank-to-final.com, sign up for the newsletter. I'm working on organizing all of my old videos in a folder. I have, you know, the source files that I uploaded, but I need to rename them and organize them, which is probably going to take me about two weeks along with the thumbnails. And once I do that, I'll start uploading all of my videos to some of these other websites and I'll see if I can just draw more viewers under no circumstance. Am I going to say, Hey, go here instead of here, but let's see if I can, let's just see if that does anything. So thank you guys for joining me today. I don't know if I'm going to have that video up anytime soon on another platform, but we'll see. So if you guys could please drop a like on the video, leave a comment down below, subscribe so that YouTube can unsubscribe you next week. And I'll see you guys for tomorrow's video.


الله الرحمن الرحيم الحمد لله رب العالمين والعاقبة للمتقينة ولا عدوانة إلا على الظالمين وأسلي وأسلم على المبعث رحمة للعالمين سيدنا ونبينا محمد وعلى آله وصحبه ومن تبيعهم بإحسان إلى يوم الدين أما بعد إن شاء الله today we're going to start a Kitab written by the author Al-Alamah محدثوا الدنيا شيخ محمد ناصر الدين الألباني the book in which he authored تلخيص صفة صلاة النبي okay brothers what are we going to do here we are not going to do explanations and fit and all of this and this is the call of fulan and this is the call of allan this book right now we are studying is called تلخيص صفة صلاة النبي I am only going to mention what each word in this book means and if I feel like there's a point that's not clear just clarify and move on it's like you reading a book in which you understand that's the way we're reading it together but I'm just reading it to you in Arabic and then I'll explain it straight away okay word for word translation that's what it is إن شاء الله it's not a shahrah it's not nothing like that quickly before I start that a minute or two let me just quickly mention the sheikh he authored two other books which are what we need to know in regards to سفة صلاة النبي this book is not the only book he wrote in regards to the صلاة as I said last lesson he authored and I said I'll define the books a bit is he wrote three books in how the Prophet ﷺ used to pray he wrote one which is three volumes that's the biggest one three volumes I'll have it in my book I'll look for it later I'll show you all in Sha Allah it's three volumes which in Sha Allah we plan it study then it was a bit too big and you know he thought okay you know what let me take out everything because the three volume one it's all about the hadith and the sheikh goes into the chain and authenticity and the calam regarding it and so it's a bit expanded onto as student of knowledge who started to learn how to pray doesn't really need all of that yet so the sheikh said what he did do the one that everyone of us here right now know is called سفة صلاة النبي which is one volume he brought it together and that's the one a lot of the people study when he did that one again that's the middle version it's called the أوسط which is the sheikh sorry that he authored which is basically all the chapters he brought it together with the hadith but not all the gradeings and excessive gradeings that he did but the chain of narrations are in there this one what did he do he took out all of the hadiths so there's no hadith it's just the wordings and we're going to stick with that if I bring the hadith in it then it's going to be the second book that we're starting and that's not the goal so I'm going to mention all the words in there and what he said and what he meant and how he said it when we finish that next book we will go into the evidences and the next books we'll go into the authenticity and the chains and the views of the scholars regarding so let's follow the book as it is and let's not go too deep into it so everyone if you open your book and you have with you we'll start in ليلان كريم the sheikh started his book by saying بسم الله الرحمن الرحيم in the name of Allah the most merciful the most gracious and starting with بسم الله الرحمن الرحيم when writing is the sunnah and it's what the prophet صلى الله عليه وسلم did when he used to write letters he used to do the عليه الصلاة والسلام in the surah of Hudaybiyah the treaty of Hudaybiyah he wanted to write بسم الله الرحمن الرحيم before Suhaida when Amr refused the Qur'an the Qur'an he said write what we know and then write what we know and then the prophet said ماذا اكتب what shall I write بكيف اكتب he said to him بسم الله that's what we know so the prophet wrote بسم الله I told Ali بسم الله instead of بسم الله الرحمن الرحيم but the prophet he wrote بسم الله الرحمن الرحيم then the sheikh started by saying إن الحمد لله he praises to Allah نحمده we praise him وان استعينه we seek refuge help him or we seek him وان استغفره we seek forgiveness from him وانعوذ بالله we seek refuge in Allah من شرور نفسنا the evils of our نفس our souls ومن سيأتي أعمالنا and the evil of our actions من يهده الله anyone who Allah guides فلا مضلله there is none to misguide him ومن يضل and anyone who Allah misguides فلا هادي الله there is none وأشهد I bear witness لا إله إلا الله that there is none worthy of worship إلا الله except Allah وحده لا شريك له so this لا إله إلا الله is the word of what كلمة التوحيد I bear witness that there is none worthy of worship except Allah وحده is affirmation emphasizing on what you've already said لا شريك له is again affirmation of what لا إله so there is two affirmations and there is two affirmations sorry two emphasis and two emphasis two emphasis for the affirmation and two emphasis for the negation وأشهد I also bear witness أن محمد محمد صلى الله عليه وسلم عبده he is his servant so he is not إله he has a rich level and he is the Rasool he is better than the rest of the ummah so he is in between that level بين الألوهية بين إله and بين أن يكون عبد normal servant the Prophet is higher than that so he has been uplifted by message and he has been put down by servitude أما بعده to proceed أما بعده is a word used to what انتقالوا من أسنوب إلى الآخر to move from one position of what you were saying on one speech to another to follow, to proceed فقد اختراح علي أكثر من أكثر من أخي it has been so I'm going to ask everyone word for word what it means فقد اختراح علي it was put to me علي it me on me أكثر من أخي more than one brother أو صديق or a friend أقومة for me to stand بتلخي سيكتابي for me to summarize and abridge my book سفة الصلاة النبي the prayer of the Prophet صلى الله عليه وسلم described منتك بيري from الله أكبر from الله أكبر الاتسليمي to السلام عليكم which is the last final point of the Salah كأنك تراها as though you can see it as though you can see the Prophet praying from the beginning to the end they requested for me to abridge the middle one the middle one because we said the first one was the أصر which is three volumes and then became a volume which he abridged the big one and now he abridged even that one even more so they said they bought this to me وقت صار و to summarize it و تقريب عباراته and to bring the word is much closer make it easy for the people إلا عامة الناس it to the general mass like us و لما رأيتوا when I saw اقتراحا مباركا when I saw this suggestion this thought to be a blessed thought and a blessed suggestion و كان موافقا لما كان يجولوا في نفسه and it was intact in that which was also in my mind that I used to think about من زمان بعيد for a long time I also used to think of that to summarize that book but then when the people came and asked me it went hand in hand exactly what I was thinking شجني ذلك my wanting and their suggestion pushed me and made me ذلك على ان اقتلع له قليلا من وقتي that I should suffice some of my time for it المزدحم my time that was very busy my busy time very busy to take some time out and summarize this book بكثير من الأعمال العلمية with the excessive works knowledgeable works that I was doing to take some time out from that سبادر to a hasten look how the person should hasten to good فبادر to a hasten إلى تحقيقه to fulfill حسب طاقة to my ability وجهدي and my ability طاقة ينجهدي is the same سائل المولى asking Allah سبحانه إجزالت وتعالى and how he is أن يجعله خالصا that he makes sense for his sake وينفع به إخواني and he benefits my brothers المسلمين my Muslim brothers وقد أورد too and I have submitted and transmitted فيه in this book بعض الفوائدي some benefits so this is an additional thing I did to this book by adding some form of benefits أزعيدة that is extra على الصفة in the description what description is he talking about he means the صفة صلاة النبي the second type I've added additional benefit to it he said وقد أورد too I wanted I'm sorry وقد أورد too I transmitted فيه in this book بعض الفوائدي some form of benefits أزعيدة extra benefits على الصفة over the cipher that I previously read so he is referring to his other قتاب صفة صلاة النبي which is the middle one this book has extra benefits I added to it so what is it it's summarized and there's also some type of benefit in it that you won't find in the other book تنبهت لها he said I became a lot of these benefits وستحس so after he authored the book he came to his attention وستح meaning in the other book وستحسان too and I found it good ذكرها to mention it here في أثناء التلخيسي when I summarized it I thought these benefits are needed I should mention it كما عنيت عناية خاصة the way I also gave extra or more emphasis بشرح بعض الألفاظ trying to explain particular words الواريدة that are transmitted here in this book or both in this book في بعض الجملة الحديثية some wordings of a hadith أول أذكر or even the adhkar that people should do when I mentioned some of them and they are very rare وجعلت I made he's talking about the book له عناوين I made titles رأيثية each part I made a title for it so you know which chapter you're studying what is this about I made her headings for it وأخرى كثيرا and other things that are a lot جانبية توضيحية side matters that are clarifying وأوردت تحتها and under those headings and those points I brought إلى الكتابي بأرقام متسلسلة نمبرين and figures next to it وصراحتو I also clarified directly بجانب كل مسألة next to each topic مسألة and ruling issue بحكمها it's ruling whether it's واجب or sunnah he mentions it whether it's a short condition or it's a pillar he said I mentioned that that's what he does من رقن whether it's a رقن or if it's واجب وما سكتو anything I'm quiet about I don't say it's a رقن I don't say it or I don't say it's a what a واجب and I'm silent about it فهو من السنان this is from the students it's a sunnah وبعضها some of them قد يحتمل القول بالوجوب some of them can sometimes be wajib the ones I'm silent about and the reason why I'm silent is why he's telling us and he didn't say which of the two it is he said because الجزم الفميطة put my hand down and said this is واجب or this is sunnah both of them are unable to affirm ذاك ينافي التحقيق العلمي and it goes against the way I mentioned the matter now insha'Allah he's going to mention what is رقن what is شرط what is واجب and what is sunnah those four everyone needs to know okay so now he mentions it and this is not in his other books it's only in this book إلي الله الحمد لله he said what is رقن no, رقن means what هو ما يتم به الشيء it is the thing that matters become complete with it I love you who are in it and it's in that matter it's inside the action ويلزم من عدمه and with its absence it necessitates وجوده its presence بطلانة nullifying ما هو رقن فيه the pillar in it the absence of that thing will necessitate the existence of the salah to be nullified that's what it means okay كالرقوع like the رقوع it's a pillar مثلاً because it's in the salah فهو رقن فيها it's a pillar in the salah is the رقوع outside the salah inside the salah يلزم من عدمه بطلانها its absence رقوع its absence will necessitate the nullifying of the salah وشارطه the شارط كالرقنو it's like the رقن what does it mean by it's like the رقن in terms of both of them will nullify the action if they know if they're not found that's the thing that they have in common this is one of the things you need to learn what are these two things or these matters the same at and what are they differently a pillar and a condition when they share one thing in common which is what both of them if that matter it's not found then the action will not be accepted it's nullified but the difference between the two is pillar is within the action and condition is before the action that's it you see a pillar is in and within the action and of course logically it makes sense right pillar inside the house and a condition is prior prerequisite before the action okay and you'll mention that such as the وضو the وضو is it before the صلاة is it after the صلاة before ha كر رقني it's like the رقن in terms of the بطلان remember that كر رقني the مشابهة the resemblance he's putting here is between the بطلان which is what عدم وجوده بطلان العمل the nullifying of the actions can actually take absence they both are the same in that إلا أنه يكون خارجا عما هو شرطون فيه but the شرط will be outside the action ليست في ما هية الشيء كالو وضو like the وضو مثلا في الصلاة إن الصلاة فلا تصح بدونه the صلاة will not be permitted and will not be accepted with that طحارة والواجب what is wajib now هو ما سابة الأمر بي في الكتابه سنة it is a matter it is affirmed and it is found in the كتاب and the sunnah and order regarding it it has been ordered by way of the كتاب or the sunnah ولا دليل على رقلياتي and there is no evidence to show that it is a pillar or شرطياتي or it is a condition there is no evidence for it وَيُتَابُ فَاعِلُو the one who does it will be rewarded for it وَيُعَقَبُ تَارِكُه the one who leaves will be punished إلا العدر unless he has an excuse for it that is the wajib صحيح he is definition I am going to ask you وَمِتْلُهُ أَلْعَقْ وَاَجِبْ is al-fart al-fart is the same definition as wajib to the jumhoor except the Hanafi the Hanafi they see the fart and the wajib to be different so that means it is different but to the jumhoor of the أئمة كمالكية والشافع والحلابلة واجب it is the same it is the same the example like wajib is what al-fart التفريق بينه بين الواجب استلاح حادث لا دليل علي شغلاصر said to distinguish between it بينه أي الفرق to distinguish between a fart and the wajib and to say they are different استلاح it is given a terminology a definition حادث is newly invented لا دليل علي to distinguish it from one another it is a newly invented matter والسنة and سنة ما واضب النبي يو it is the thing that the prophet then continue with me عليه من العبادات from the from the عبادات دائما continuously أو غالبا or most of the times ولم يأمر به أمر إجاب and he did not order it in a forceful manner وَيُتَابُ فَا عِلُهُ the doer of it will be rewarded وَلَا يُعَقَبُ تَارِكُهَا the lever who leaves it off will not be punished وَلَا يُعَقَبْ and he is not blamed with it ما شاء الله those are the four we need to know before we study the book وَأَمَ الْحَدِيثُ الَّذِي يَذْكُرُوا بعض المقلِّدين as for the hadith that some of the blind followers say and they narrate ascribing it to the prophet which is what من ترك سنة anyone who leaves off my sunnah لم تنل شفاعة my intercession will not be given to me will not receive my intercession because he just said right now the sunnah if you leave it will you be blamed for it can you be blamed for it so some people would say that this hadith what are we going to do with this hadith Shaykh Nasser said this hadith that the blind followers transmit to one another فلا أصل له عال رسول الله it has no authentic transmission to us from how the prophet said it the prophet didn't say it the sunnah nobody can be blamed for it وَأَمَاكُ وَمَا كَانَ كَذَالِكَ and anything that is like that فلا يَجُزُن نِسْبَتُهُ إِلَيْ anything like that weak narration as mentioned one should not ascribe it to the prophet خشية تقول عليه fear of saying for the prophet that which he didn't say فقد قال صلى الله عليه وسلم because the prophet said من قال عليه anyone who says about me ما لم أقول that which I didn't say فالية تباوء مقعده من النار لأهن ببقى his place in the house fire do you see and that shows you the love of the sheikh of the sunnah how he defended it صحر the sunnah he was رحم الله تعالى وإن مانا وإن مننا فلا تلقول and one of the additional points of speech that should be said and as qurada I should mention أنني لم ألتزم فيه that I have not I have not لا إلتزام meaning force myself to follow تبعني أصليه following the original words which is مدهب المعين I haven't forced myself I am not confining that's my specific I'm not confining myself upon one particular مدهب in this book من المدهب الأربعة from the four المتبوعة that I have followed I have not confined myself if following one particular مدهب وإنما بطرادة سلكت فيه I have followed مثلك أهل الحديث I have followed the path of the people of Hadith الذين يلتزمون الأخذة بكل ما ثبت عنه صلى الله عليه وسلم من الحديث those أهل الحديث who have confined themselves forced themselves made themselves follow that which has been transmitted to them authentically from the messenger صلى الله عليه وسلم و لذلك and because of that كان مدهبهم أقوى the people of Hadith المدهب is the strongest من مدهب غيرهم from other than them المدهب كما شهد بذلك المنصفون the way it has been witnessed by those who are مصفين is a person who is just honest من كل مدهب from all madhabs every madhab anyone who is مصف will affirm that the people of Hadith are the strongest in terms of their madhab from those who affirmed it with its insraf and honesty and said the people of Hadith are the strongest is العلامة the excessively knowledgeable one أبو الحسنات اللكلوي الحنفي he said القائل the one who said و كيف لا why are they not good how can they not be mean the people of Hadith how can they not be the most strongest in madhab و هم ورثتوا النبي and they are the inheritors of the prophet حقا truthfully و نواب شرعه سبقا and they are the vice of the prophet صلى الله عليه وسلم his legislation with truth حشارنا الله حشارنا الله may Allah resurrect us في زمرتهم in their ranks و أم اتنا may Allah kill us على حبهم و سياراتهم loving them I am taking their path و رحم الله الإمام أحمد بن حنبل may Allah have mercy upon الإمام أحمد بن حنبل إذ قال when he said دين النبي the prophet sasem's religion is what دين النبي the prophet محمد's religion محمد أخبار it is news generation نعم المقي great is the riding beast للثة for the young one أعثار the best أفضل من قراءة بيس لأصل all over the places the best one of it is taking the texts the evidence is the sunnah لا ترغبا بنا do not choose over and like over the حديث وااليه and its people do not choose anything over it فرق you views and minds and thinking is ليلن logic is night والحديث نهارو and the حديث is daytime brought they like clear as that ولا ربما جاهل الفتا sometimes a person may be ignorant of a matter اثر الهداب the text guide the text و الشمس بازغة and the sun is out there in the open لها ان وارو has its nor meaning that the person will be misguided without the text of the sunnah so this quote دين النبي محمد اخبارو نعم المطية للفتا الآثار لا ترغبا بنا عن الحديث واهله اما وآله فرق يوليل والحديث نهارو ولا ربما ولا ربما جاهل الفتا اثر الهدى وشمس بازغة اللها ان وارو written by man written by who الشيخ محمل ناصد where are you when you stand ايه المسلم الى الصلاة oh you Muslims if you stand up for the Salah 1 تقبين الى الى القبلة تب face towards the qublah حيث كنت wherever you are من الناس الصلاة ، إذا لم يوجد فرصة ، his prayer is not valid. It's invalid. Good. Now he's going to tell us four times when it's permitted. Not to be stuck in there.


Hello and welcome to the session in which you would look at how to handle intercompany, the third gross profit on non-controlling interest. What is the effect on non-controlling interest? Well, there are two terms in the title that you need to be familiar with. One is what is the third gross profit? Well, the third gross profit arises when we have intercompany transaction, when one company sells inventory to another company. If the second company sold it to an outsider, we don't have any gross profit to defer. If we have any inventory left on the books, then we have a certain amount of the third profit that we have to take care of, handled. The question is, how does the third gross profit affect non-controlling interest? The non-controlling interest is the minority interest. It's the interest of the shareholders that don't own the majority of the company. So, make sure you are comfortable with those two terms before we discuss the topic here, because the topic is specifically about the third gross profit. How does it affect non-controlling interest? Well, how does it affect non-controlling interest? It all depends whether the transaction is a downstream transaction. It means the parent selling inventory to the subsidiaries or the subsidiary selling inventory to the parent, which is called an upstream. So, this is a downstream. A downstream means the parent is selling down to the subsidiary. Well, if it's a downstream, any intercompany ending inventory gross profit deferral is all attributed to the parent company. Pretty straightforward. If it's an upstream sale, intercompany ending inventory gross profit deferral is attributed to the non-controlling interest. Now, we have to split it a little bit between the non-controlling interest. The best way to illustrate this is to actually look at an example and see how it works. We have a parent company that acquired 80% of the outstanding stock of a sub on January 1, X1. No difference between book value and fair value to keep this example simple. In 20 X1 in the first year, intercompany sales of 90,000, the original cost was 54. And at the end of the year, 20% of those were remained unsold. In 20 X2, sales of intercompany sales was 120,000. The cost is 66,000. Of this amount, of this amount of sales, 30% remained unsold. Now, I did not tell you whether we sold from the parent to the subsidiary or from subsidiary to the parent because we have to learn both. I have to show you how to deal with both. The parent company X2 reported net income was 300,000. The subsidiary's X2 reported net income was 100,000. Well, the first thing we want to know is how much of gross profit do we have deferred from X1 to X2? And how much gross profit do we have deferred from X2 to X3? Because we're going to be dealing with X2. Well, here's how it goes. In X1, sales, intercompany sales was 90,000. The cost of the sale was 54. The gross profit for X1 was 36,000. We are told 20% remained. It means we still have 20% of the 36,000, which is called the third gross profit. Gross profit that we did not realize. Why? Because we did not sell all the 90,000 that we sold to the other company. Therefore, within that remaining inventory, we have 7,200 of the third gross profit. What's going to happen to this? This is the third gross profit. It's going to be deferred to X2. It's going to be counted to X2. In X2, we have sales, intercompany sales of 120 intercompany inventory sales. The original cost for the seller was 90. Therefore, the profit was 54,000. The gross profit of this amount was 30% remained unsold. 30% of 54,000 is 6,200. This amount will be deferred because it was not sold to 20X3. Now, we just want to take a look at the journal entries just to kind of show you how do we deal with this and the following year. So in X2, what we do is this 7,200 that we deferred to X1, we deferred to X2. If it's an upstream sale, we need to have retained earning, which is beginning retained earning from the prior year and reduce cost of goods sold to increase the profit in X1. And we talked about this in the prior session. If it's a downstream sale, we debit investment in sub and we credit cost of goods sold. And I talked about these journal entries just as this is a review. And if you want to see more journal entries, please look at the prior recording, because in this session, I'm focusing specifically on the non-controlling interests. Now, before we discuss non-controlling interests, most likely you are either an accounting student or a CPA candidate. Well, the reason you are looking for help, that's why you end up here. I can help you, farhatlectures.com. Please visit my website, whether you are an accounting student or a CPA candidate, I can help you. This is a partial list of my accounting courses. I have lectures, multiple choice, true, false and resources that's going to help you with your courses. My courses are aligned with your courses as well, and everything is broken down by chapter. My CPA material is aligned with your Becker, Roger, Wiley, Gleam, or any other CPA review course. If you have not connected with me on LinkedIn, please do so. Take a look at my LinkedIn recommendation. Like this recording, share it with other. If you find it helpful, obviously you're watching, share it with other. Put a like, press on the like button, subscribe. Connect with me on Instagram, Facebook, Twitter and Reddit. And I started a CPA group me account. So if you would like to join a CPA exam support group. So now what we're going to do, we're going to look at how do we compute the non-controlling interest and how much is the consolidated net income. First, we're going to start with a downstream sale. The subsidiary had income of 110,000. Now, remember downstream sale is when the parent sold to the subsidiary. So we have parent selling to the sub. This is what a downstream sale. Well, remember we own 80% of this company. Therefore the sub 20% is the minority shareholders or the non-controlling interest. So of the 110, 22 goes to the minority or the NCI interest. Well, to compute the consolidated net income for this company, what we're going to do, we're going to look at, look at the parent net income, which is 300,000. At the parent, the 80% of 80% of the sub, sub reported net income. Then we are going to add 7,200 of inter company gross profit. Remember, we're dealing here with X2. So the amount that was deferred from X1 was realized in X2. Realized means we assume it's sold because we assume we're using FIFO. The amount from X2 will be realized in X3. We'll need, we'll need to be deferred. Therefore we'll add 7,200. This is the 7,200. Then we deduct 16,200 to defer this profit to X3. Therefore consolidated net income is 379,000. Now if we are dealing with a, with an upstream sale, with an upstream sale, the sub has net income of 110,000. Now the sub made the sale. Therefore the sub has the deferred profit from X1. They will need to add this profit because this profit was realized in X2. Then the sub will have to remove or defer this 16,200 to X3, 20 X3. Therefore the sub adjusted net income is 101. Notice the non-controlling interest now is 20% of the 101. Therefore the non-controlling interest will absorb that deferral. This is what we're trying to say here. Therefore the NCI interest of the consolidated net income is 22,200. Now let's compute the consolidated net income starting with 300,000. Then we're going to take 101 times 80%, which is 80,800. Therefore consolidated net income is 380,800 dollars, the consolidated net income. So this is basically just to show you the difference. Most likely this topic is not on the CPA exam, but I don't want you to take any chances, but it's definitely part of your advanced accounting course. What should you do now? Go to farhatlectures.com and work MCQs. Invest in yourself. Subscribe. Don't shortchange yourself. I can help you. My resources can help you clarify certain topics, which will help you with your courses, which will help you with your CPA preparation, which will help you with your career. Good luck, study hard, and of course, stay safe.