Okay. Thank you, Candace. I appreciate that introduction. Good day, everyone. In this session, we're going to talk about how you can unleash declarative configuration with GraphQL to solve some of your most challenging application networking problems. So, but just wait a minute, you say, how do you even know what my problems are? Well, I know this because for the next 45 minutes, you, the audience are going to be Wayne Telecom. I'm a Telecom services provider based in Gotham City. You're the largest provider in Gotham City and you require highly available low latency communication with your services from both mobile and web clients. Together we're going to embark on this journey that will enable you to spend less of your billions on cloud infrastructure and wasted developer time and will revolutionize your communication stack in the process. Trust me, it's going to be fun. First, just a word about who I am. My name is Jim Barton. I am a field engineer with solo.io in the US. My career in the enterprise computing space spans three decades. I've been with solo for the past two plus years. And prior to solo I was an architect with companies like Amazon and Red Hat and Zappos.com. Who is solo.io? Solo is a company that was born in the cloud that specializes in helping enterprises manage the complexities of application networking in a cloud native context. We do this via community leadership and strategic open source projects like Istio Service Mesh, Envoy Proxy, and of course GraphQL. And we offer an enterprise grade platform based on those projects. All right, so now let's turn our attention back to your problems at Wayne Telecom. So you are hemorrhaging money. Your mobile user experience is absolutely dreadful. You're spending way too much money trying to band aid problems. And your development and operation teams are both really unhappy. So let's drill deeper into why these problems exist and then explore some potential solutions. So here's a sample page from your billing web application. This page loads in all the phone plans that the current user is paying for. In order to get adequate information for this plan summary page, we have to make multiple REST API calls per item on the page. Your back ends live in microservices that are split across various business groups. So fetching data for this summary page currently requires making multiple calls to various microservices and then aggregating the responses and sending it back to the front end. The problem with making these multiple REST API calls per page is illustrated here. So because you have a multinational business model, you often get traffic from across borders and even from the other side of the globe. So request round trips take really significant time, leading to a slow user experience that's exacerbated by bad mobile signals and slow connections. So we can solve some of our latency issues by using a back end for front end architectural pattern. We can create an additional back end service that exposes aggregate endpoints so that the mobile app only has to make a single API call to the BFF service which will then aggregate the responses from the individual back end services. In addition, we can apply some further optimizations like content delivery network level caching and load balancing as well to increase the performance of our system. It won't help us so much with HTTP posts and puts, but in terms of get operations, it actually could work reasonably well. So it's not a complete solution for the way apps are built in distributed multi-tenant organizations like Wayne Telecom. So we need to explore some other optimizations that so we can free up our organization to again fight crime in Gotham City. Alright, so this is where we're going to introduce GraphQL into the mix. We can solve problems like request waterfalls and large payloads and even improve developer efficiency by utilizing GraphQL. So if our front end leverages GraphQL, then it only has to issue one query to a GraphQL server to get all the data it needs. So what you see on this slide represents a single GraphQL query that returns all the data and only the data that the front end needs in a single HTTP response. This allows us to transform the back end to use GraphQL. And that's going to offer us some really significant benefits. Number one, now all of our queries return exactly the data we need and nothing more. So with GraphQL, we are no longer at the mercy of bloated service interfaces returning every piece of data that a potential client might need. Instead, we can specify precisely the data we want. And that's all we get back. Number two, GraphQL allows us to use a single query to retrieve data that lives in multiple back end resources. So no longer are we required to make multiple service calls and splice the data together in our client. With a single unified schema, we only need a single query. And we allow the GraphQL server to manage the request dispatch and aggregation of response data to match our query. Number three, and this is a really important one, GraphQL offers first class support for a type schema. You can almost think of the GraphQL schema in the same way you think about an open API or swagger specification, only this is for our GraphQL endpoint. You can see that clearly by kind of following along with this example with the GraphQL query that our application issues on the left and the corresponding schema definition on the right. So if you watch the bolded and underlined text on both the query and the schema, you'll see exactly how each individual part of the query on the left precisely matches the schema on the right. And so this type schema opens up a whole new world of helpful tools for Wayne telecom developers. Now you can leverage tools like GraphQL playground as shown on this slide. Front end developers can explore schema they can build up their queries interactively, and then they can easily incorporate those queries into their application code. Okay, so where do we stand now with Wayne telecom so let's review, we have deployed a GraphQL server. We have our application teams that have added GraphQL schemas and resolvers to their services, and then those schemas and resolvers have been added to the GraphQL gateway, and there's a platform team that will of course manage this new gateway. So the good news is that our front end teams are now happier and more productive. The developer experience has improved tremendously. We've removed a lot of the friction that existed between back in and front end teams by using this back in for front end pattern to create an efficient GraphQL interface between the two sets of teams and our mobile app is now much more efficient thanks to these changes that we've made. So, on the front end, we delivered some massive improvements, but there are still challenges that remain on the back end so we operate in the telco industry, which means that we're highly regulated. We need to implement things like zero trust architectures throughout our infrastructure, and we need to worry about capabilities like using MTLS to secure the communication among all of our service not not only between our new GraphQL gateway and back end services, but also among the back end services themselves. Well, that's a pretty lift pretty heavy lift for an enterprise that operates at the scale of Wayne telecom. So we adopt Istio as a service mesh. This is going to allow us to externalize general platform features like MTLS and rate limiting and caching away from the applications themselves and absorb that into our service mesh infrastructure. After making the changes to adopt GraphQL and Istio as a service mesh, our revised Wayne telecom infrastructure looks something like this diagram. We're showing a single Kubernetes cluster with Istio installed. We have an Istio ingress gateway where our traffic enters the mesh. And from their requests are forwarded to our GraphQL server, which acts as our back in for front end. It manages the dispatching of requests to our back end services. It also aggregates responses and then returns those to our service clients and of course, all of the internal communication within our mesh is now encrypted using MTLS. So that represents the current state of our enterprise architecture. Now, next we're going to zoom in on two of the components in this architecture, the ingress gateway slash envoy proxy, and then the GraphQL server so this diagram represents pretty common configuration we see with customers who are deploying GraphQL today. Application teams pick up a GraphQL framework and they write some code to resolve multiple upstream data sources into a GraphQL API. They integrate with a number of libraries in that process and they produce an application deployment that's then managed by a platform team. The platform team owns the operational responsibility for the health and availability of this deployment, but the story doesn't end there. The GraphQL server then exports an API and it needs to be protected so that so the platform team fronts that GraphQL API with a proxy. So the proxy in this architecture is managed as cloud native infrastructure, it's configured declaratively compatible with modern Kubernetes best practices, and based on the leading proxy technology in the market in envoy. The GraphQL server however is a separate deployment that requires code changes to modify and evolve behavior. It also represents an extra network hop in our data path and additional operational overhead to maintain it. There's nothing fundamentally wrong with this approach, but we feel there's a more efficient way to support GraphQL in an application architecture to simplify the lives of app dev and platform engineering teams alike. Another question that arises from this architecture is where best to handle platform concerns like authentication and authorization. Ideally, we'd like to separate these concerns from the application itself and handle them at the gateway proxy level just as we would if this were say an open API interface that we're talking about. But with the GraphQL server separated from the gateway proxy we're forced to pass some of these concerns through and handle them outside the proxy layer so we see GraphQL users handle this in a couple of different ways. The left side of this slide reflects an approach where we simply take the auth related context from the request and just delegate off NZ decisions to the back end services. The right side illustrates another approach where we take that same context and instrument identity aware off code directly into the GraphQL server. Neither of these approaches is ideal. What we'd like to see is the ability to offload these concerns from imperative application code and handle them in a declarative policy driven fashion. So, let's take a step back and review where we are in the Wayne telecom journey. We've solved a number of significant problems already we've increased our front end dev efficiency or we've reduced data over fetching and bandwidth requirements, and we've implemented a back in for front end architectural pattern, all using GraphQL. Plus, we've adopted service mesh technology using Istio to lay the foundation of our zero trust networking architecture. We rid Gotham City of crime yet. It might be a little early to declare victory in that battle but but we'll keep we'll keep working on it. But, as we all know, in engineering decisions are rarely 100% positive, all decisions represent trade off. So let's consider some of the downsides of the changes that we've adopted so far. Number one, we've added a major new moving part in our server side infrastructure, a dedicated GraphQL server, and our platform team must be responsible for owning and maintaining that. We've also added new responsibilities for our application teams in that they need to learn GraphQL and maintain the associated schema and resolvers for their services. Excuse me. And as we explained just a moment ago, they also need to reimplement some platform related features like authentication and authorization to account for the fact that they are now using GraphQL as a core component of their application strategy. So, as we consider these trade offs, we want to maintain the good things that we've achieved with GraphQL and Istio, but we want to do that without adding the burden of new server types to maintain, and with less of a burden on the application teams whose services need to participate in that mesh. And so we conclude, Robin, there must be a better way. All right, so toward that objective of finding a better way, let's take a closer look at both our Envoy proxy that serves as our Istio Ingress Gateway and also our new GraphQL server. So this GraphQL server is its own separate deployment that requires code changes to modify and devolve behavior. It also represents an extra network hop and an extra moving part to maintain in our server portfolio. So again, there's nothing fundamentally wrong with this approach, but we feel there's a more elegant and efficient way to support GraphQL in our application architecture. And this approach will simplify the lives of both our application and our platform engineering teams. So let's begin our exploration for a better way by asking ourselves a few questions. Number one, what if GraphQL APIs didn't require dedicated servers? Number two, what if you could reuse existing API gateways to serve up GraphQL? So in other words, GraphQL would be just another supported type of API, much like REST or OpenAPI or SOAP. What if you could use best DevOps practices like declarative configuration in building out these GraphQL APIs? And finally, what if you could leverage existing API contracts to build GraphQL configuration? In other words, what if you could construct those GraphQL APIs without the underlying services even being aware of GraphQL that's being used at the gateway level? So where these questions lead us is to a simplified architecture that consolidates GraphQL and application networking responsibilities into a single component. What we're proposing is to update our Envoy proxy fleet so that it can function as a GraphQL server. So just a quick summary of the benefits. This is going to eliminate the deployment and operational expense of maintaining a separate GraphQL server application deployment. And by removing the additional network hop to this separate GraphQL server will improve performance and even resilience because we're going to avoid an extra failure mode on the data path. Finally, these GraphQL capabilities are based on declarative configuration and not imperative code. In other words, it's just like the rest of your cloud native infrastructure. And so it's fully compatible with CI CD and GitOps workflows. Alright, so how does all this work? Well, by leveraging the existing capabilities that solo.io provides via a GraphQL Envoy filter, there's no longer a need to integrate with third party libraries to create resolvers that run inside GraphQL specific servers. With some simple configuration changes, we can leverage existing gateway an existing gateway proxy to add policy driven authentication and authorization. Plus, we get services like rate limiting response caching and WAF rules at the edges of your application network. All of these capabilities now are driven by declarative policies, not imperative code and that's far superior to solutions where you basically have to implement these concerns yourself. All right, so let me present you with a little riddle here. You may have noticed earlier that I kind of waved my hands and magically transformed our existing services into GraphQL services. So does this mean that each app team now must go off and implement GraphQL in their services to make them GraphQL aware. We appeared on a panel discussion with a Netflix engineer who said that the process of enabling pre existing back in services for GraphQL was one of the most difficult passages of Netflix's GraphQL journey. So we'd like to avoid that pain as much as possible. So what if we could do this, what if we could, what if we could transform these existing back in services into GraphQL without touching the application code. In fact, there is a popular open source library that already exists that does this very thing in JavaScript is called GraphQL mesh and it's a fine project. It leverages existing service specs to generate code that facilitates the conversion of pre existing services into GraphQL aware services. However, we can avoid even the adoption of tools like that, since that discovery capability has already been integrated directly into our existing proxy fleet. The secret sauce is to leverage these existing interface specifications that are already in place on the back end services so open API, swagger for rest services, proto buffs via reflection for GRPC services, and so on and so forth. By putting a sidecar containing this discovery and translation logic next to each service, we are able to translate incoming GraphQL requests into requests that the application understands in its own native protocol. Effectively, we've now converted all of our services that we want to include in the graph into GraphQL services, just by including them in our SEO service mesh. So, now let's zoom back and consider our new deployment architecture with GraphQL, Istio, and the glue platform. This new model opens up new architectural possibilities which not only enable more efficient traffic handling, but also better separation of concerns within our service deployments. For example, we can see from this diagram that we have three back in for front end deployments here for billing sales and HR. But these can now be strictly virtual deployments, virtual services from a deployment standpoint they all live within our gateway envoy proxy, just on different request routing paths. So, the infrastructure is not only more efficient at runtime, but it's also much cleaner from a design standpoint. So, not only is this new approach more resource efficient, but it's also easier to administer. You may recall that with our original design we were forced to write imperative code to handle concerns like authentication and authorization. Now with GraphQL embedded into our proxy, the kinds of declarative Istio policies that are shown on this slide for things like off and failover and circuit breaking and rate limiting again work exactly as we expect. There is no separate GraphQL server instance to gum up the works anymore. So, we can now happily move from imperative code like this to implement platform concerns. We can move from there to declarative configuration like this GraphQL API custom resource to specify how our APIs should operate. Excuse me. This will allow us to replace programmatic GraphQL servers and resolvers with declarative configuration propagated to envoy by the control plane. We can also use GraphQL custom directed such as the at sign resolve directive to link resolver configuration with particular fields in the schema and what's more, this configuration can be discovered by the control plane from your existing server interfaces, essentially writing the GraphQL server for you. So, we can discover and create GraphQL API schema on a per service basis, leveraging the interface contracts that those services already published but using that discovery capability is not required we can also build and maintain our own schema if we prefer that approach. We can also stitch individual schemas together whether discovered or built by hand into a unified super graph so that allows clients to think just about the data they need from the graph, and they don't have to worry anymore about what services need to be called in order to retrieve that data. The embedded GraphQL proxy filter will handle all of those details for them. All right, so if we review where we are, in addition to resolving the initial concerns that we did in the first part of this talk, we've also now addressed some of these, these new issues. So, now we no longer have to have our platform team maintaining a separate GraphQL gateway. So, our app dev teams don't necessarily have to learn GraphQL to the extent that they would have with our initial approach don't even have to maintain their own schemas and resolvers if that makes sense. And also, they no longer have to reimplement platform concerns using imperative code. All right, so that's good. And that's enough talk about adopting a declarative approach to GraphQL. Let's switch over and take a look at how that operates in action. All right, so we will switch over here so I'm doing this demonstration today on the instruct platform which is really nice for for doing demonstrations you can see I have a terminal here on the left to have have some kind of explanatory self guided text on the right this is. This is a tool we use commonly at solo to deliver to deliver technical content and even longer form workshops where you get a chance to get hands on with with the relevant technology so I'm just going to walk through a piece of this here so already installed into our sandbox environment here we have a we already have a Kubernetes cluster, we have a glue platform components installed. We've also installed an application here and this application is the pet store application which is a you know sample app that's out there on the internet will take a look at that in just a second. And so what we're going to do is we're going to. We're going to use the glue GraphQL technology to discover the interfaces that have already been published via open API from this pet store from this pet store app. We're going to take that we're going to build some routing rules that will take this discovered API and route request to it both requests that respond to the the old, the older rest interface the original rest interface, as well as request that will will hit the new GraphQL interface and those can live perfectly well, side by side, and we'll show how all of this works in a development context alright so let's get started here. First of all, everything that we do with solo products in the glue platform is based on a Kubernetes custom resources as the as the API so we think this is just a this is a critical design design center for us so that it's easier to manage these resources that you're going to be building with their routing rules or WAF policies or open policy agent, you know authorization policies, or specification that represents to a graph that represents a GraphQL API. We specify all that in Kubernetes custom resources so that it'll be easier to manage in your favorite CI CD platform or get off platform of choice whether that's Argo or flux or any of the any of the popular choices out there. So there is this the CRD called GraphQL API and I just want to show you starting out here there's nothing up my sleeve we haven't pre created anything here all we've done is we've installed there you know there's a Kubernetes cluster there's the glue platform, and there's a pet store application that's been deployed into the environment just those three things so if we take a look at this, you can see there is no GraphQL API abstractions that are active in our, in our environment so what we're going to do first is we're going to explore this discovery capability that I mentioned in the presentation so what we're going to do that all we're going to do is we're going to, you can do this on a larger scale basis but in this case, we're simply going to enable, we're going to enable this discovery, just for the pet store application. Hang on let me fix that here. So we have now labeled our pet store application to indicate that we want this discovery process to go forward and so what's going to happen at that point is the gateway component is going to basically inspect the open API schema that's associated with this app and use that to build a corresponding GraphQL schema so here we go. If you're interested in the, the application that we are operating on this is the this is the swagger pet store so you've likely seen interfaces like this before this is just our execution sandbox here that we could use to you know we could go in and find right you know find elements right invoke these rest requests and so forth. Perhaps most interestingly for this discussion, you can also see here, there is a link to the open API spec that actually defines what the API looks like and and consequently what this what this interface looks like so we definitely won't review all of this in detail because it's a pretty complex, it's a pretty complex specification, but suffice it to say it has definition for all of the types request and response that we're going to be using here. And it also has descriptions of the various operations that are part of this of the swagger pet store. Okay, so that's our. So that's our open API spec that we are talking to here. And so now, if we go back to our interface here, you can see we've labeled this, this service for discovery. Now if we go back and take a look at GraphQL APIs, you can see now there is there is one that's actually there that's been discovered and populated into our environment as this Kubernetes custom resource. So, if we want to take a look at that again it's it's too complex to really go into it in detail, but if we take a look at this discovered API component, you can see some common things if you're familiar with GraphQL, you'll recognize things like you know, here's the schema definition that has things like a pet which is obviously an abstraction in our pet store, what that pet store looks sorry what a pet looks like, you can see here's a user definition, we can have of course relationships among these various components. And you can also see, for example, some of the operations that were that were derived from this open API interface spec. So for example, here's one of the ones we looked at before, find pets by status and you can see how that's going to operate it's going to return a pet or a list of pets, potentially, and it's going to delegate to this find pets by status end point that lives on our application API. Okay. So, at this point, we have we have the application installed we have basically flipped the switch to turn on discovery in that environment, and we have then been able to use Google platform to interrogate that spec, generate a schema for us that maps to that spec, and then we have the environment and at this point, we can actually use this to route traffic and to make GraphQL request against an application or an application service that has absolutely no knowledge of GraphQL, and that's pretty powerful thing. So, to do that, we're going to build something here called a called a virtual service a virtual service is simply a set of routing rules. I want to focus your attention on these, these two routing rules right here. The first one is our GraphQL routing rule and you can see it depends on this GraphQL API that we just discovered a few moments ago, and it looks for it looks for requests that match this particular request prefix here that's fine. And so that's going to handle the GraphQL side of our of our routing from the from the gateway proxy. And we also have created another route here just for fun that handles the base pet store rest routing so we don't necessarily you know as you as you go with this approach you're not necessarily throwing out the old rest interface you can continue to leverage that. Now you simply have this new layer of GraphQL that's available on top of the original rest interface so we want to show you that as well that we can actually route to both the underlying rest interface, as well as this new discovered GraphQL capability. Okay, so to do that let's let's actually start off with the rest interface. So we'll issue a will issue a curl command here, and that curl command is simply going to look for pet number 10 and why must I didn't actually apply. I don't think I applied my virtual service here which is why that's not working. Now we've created a virtual service that actually leverages these components so this should work a lot better now. Alright, what's going on here, here we go. So let's issue this query, once again, and now you can see it's working so we're looking for pet number 10 we get back a JSON blob from the rest service again no GraphQL in the mix here that says okay, this this is a rabbit pet number 10 its name is rabbit one very related with our naming conventions, and you know here's a collection of tags associated with it and its status is available alright so that's all that's all good. And, you know, conversely, if we if we hit an endpoint that that does not have a pet associated with it will get back a 404 message as you would expect again this is just standard, you know standard HTTP semantics here. So, alright, now what we're going to do is let's see let's test out and see if we were able to infer and can now use a GraphQL interface from this underlying from this underlying spec. Okay, so to do that, because we're running in the instruct environment we need to get a URL to hit our gateway that's actually compatible with with instruct and we'll go through the instruct gateway. So let's let's copy that. And now let's switch over to a little GraphQL tool here that lets us kind of little query playground, we can go in here and we will paste this this URL in and we will also specify a very simple GraphQL query here. Right. So let's do that. And now if we execute this request, you can see we get back in the same in the same form of our query we get back a JSON blob that matches that form that has the name of the of the operation we're hitting, plus the name of the pet rabbit one that that we expect and so that's good. So of course we can play with this if we wanted to add additional additional components let's say we want to get the status of that pet is it available or not from our pet store. Well, then you can see right here that indeed the pet is available. So that's all good. Now let's see what happens if we do let's say we let's say we look for a pet that isn't there. Do we see a similar response to what we did from the core rest service well not surprisingly we do we get back and no response here, but we also get an explanatory error stanza that says hey, we got back a 404 from the upstream service and gives you some some explanatory text there. Okay, so, so that is all that's all good stuff there right. Now, if we had more time, we would go into some other aspects of this of this platform as well so, for example, we would look at things like, let's say we don't want to run strictly with the discovered specification we actually want to perhaps craft the API ourselves. Right. And so we go through we can go through an example where we show you how to do that and you can use a hybrid approach rail work as hybrid approach where maybe you discover initially what the API is going to look like but then you might maintain that separately let's say. So all those approaches are perfectly fine perfectly perfectly well supported. We could also look at what I think is one of the most interesting capabilities of this approach and that's the ability to to stitch schema together across multiple sub graph so in other words, you might have been surprised it has multiple application teams and you have multiple application teams and they maintain different suites of applications but you'd like to have a unified graph QL super graph that unifies them all and by simply specifying a query like this, the graph QL engine. It needs to be smart enough to go in and manage do do a query based on that stitched together schema, but dispatch requests out to whatever services are required to fulfill that particular query and so, so we could go through an example like that as well and that's a that's a pretty powerful thing. That's that's enough of a demonstration at this point. Let's go back to our slides here, and we will wrap this up. Alright, so just to just to recap, let's review some of the benefits of transforming your application network into using a declarative graph QL approach. Number one at the top of our list is increased developer efficiency, particularly in designing and reasoning about service to service request flow right now we can be concerned strictly about the data we care about, not about what services we actually need to interrogate in order to retrieve that data and then splice it together so. That's number one. Number two by merging the proxy and graph QL server together, as well as including graph QL in your sidecar base mesh from the outset, there are fewer moving server parts to manage and thus fewer failure points for your system. Three, putting graph QL directly into your gateway or sidecar proxy reduces request latency because there is no network hot needed between the proxy and your graph QL server rights is more efficient on the data path. Number four, another huge advantage of declarative configuration is that it changes. It changes the changes to your graph QL APIs are now much more easy to track so with the getoffs approach it's as simple as looking at your get commit history, or your graph QL resources to understand exactly what policy changes have been applied and when they and when they were applied and who applied them. The graph QL strongly type and it exposes its schema via reflection, so this allows your developers to browse schemas and create queries for the data they want, using some pretty incredible first class tools such as graphical playground that we showed a bit before. Finally, resolvers are simple to declaratively define and to reason about so our platform concerns can now be handled exactly where they should be in a gateway proxy layer and our resolvers are purely focused on fetching data for schema field and type relationships. Alright, so I want to thank you very much for your time today I hope the session has been helpful to you so far. If you would like more information on any of the open source or commercial technologies we discussed today. You can visit our website at solo dot io or our free training website pictured here at academy dot solo dot io. So, with that, I'd like to turn it back over to Candice and let's check on the chat stream see if we have any questions. Thank you so much Jim and yeah if anyone has any questions feel free to drop them in the q amp a box we still have some extra time, and don't be happy to answer any of your questions. I just dropped some links in the chat for you all to check out more information about graph ql and solo dot io. Go ahead Candice that looks like your question there. Yes, so there will be a recording of this it will go up on the Linux foundations YouTube page later today. Well if we don't have any other questions. I'm sure Jim would be happy to have you reach out to him if you have any questions afterwards. Absolutely you can always reach me at Jim at solo dot io we also maintain a community slack channel. You can find me there as well at, I believe it's slack dot solo dot io. So yep, look forward to continuing the conversation. Awesome thank you so much Jim for your time today and thank you everyone for joining us. As a reminder this recording will be on the Linux foundations YouTube page later today. We hope you join us for future webinars and have a wonderful day. Thanks everyone. Have a great day.


c serves so slow? I think it's because he's got the elbow problem They are back in about 15 minutes In about 15 minutes. They should uh, they should put the winner They should the winner of mevadev Runa last tomorrow They should they won't but they they they should But they're gonna put drukovic sinner on tomorrow night because it's the best like it's the Final match of the night and that's probably the biggest match for the italians, right? All right, again. Thank you so much for joining us. Don't forget to subscribe if you haven't already Hopefully you've had fun And I hope that even though these matches are not as Sometimes they're a little bit hard to watch.  I don't I'm not sure Uh, does drukovic need a new coach? Maybe uh, need new coach vita maybe No I mean, I don't think vita's coming back. So Still raining. Yep Why isn't there a 750 event because that's just too confusing I think if tennis cut it down to like one like 1500 events and 250 750s Things just get too it's too much. We only need four tiers. You know grand slam 1,500 250 that's enough.   That would be that would be a horrible idea That'd be so annoying It's already it's it the eight so the the future of the atp, right The way they want to they want to make everything So they don't control the slams, right? So they don't that's not They don't make much from I don't think they make much money from that Their slams are the 1000s. So they're putting a lot of advertising a lot of resources into the 1000s, which you should right that's their slams That's why they're making the draw bigger. That's why they're making them huge milestone events, right? The dirty double coming up turn into like the sunshine double, right? They're not going to make 750 events and water it down even more They're going to they're going to prop up the big events the the marquee events, you know Indian Wales, Miami and Monte Carlo You know, they're going to prop these up as like these are huge and I like that because for us fans, right? We who follow tennis every week We watch the slams and the 1000s. They're the big ones And then we watch 500s and 250s as well depending on place, right? And I like that system. I like it.  What's a 750? What's a It just gets too confusing It's just too much, right So I think it's I like the system and I don't think they should change it And 1500 points for the adb finals. Yeah, but it's not it's not called a 1500 event because you only win 1500 points Is if you win the whole thing undefeated Slams should not give more women should give the most Wait slam should give more. What do you mean more points to that they win 2000 points is a lot if they give more then You win one slam your number one in the world. That's a that's a little like I like the fact that we have slam champions who are not number one Like you can't just win one slam and then automatically be number one You know what I mean Someone could just have a run really good run and they have to win if they went 5000 points. Can you imagine? That's just ridiculous That would just completely screw everything up If four players won 5000 points or imagine if jockey wins three slams and they were worth 500 5000 points No one's getting near that guy. You know what I mean Yeah, I think I think that the point system is nice. I wish I wish the wtl would copy the atp But that's a whole another story Um, who do I think will win jokovic Make them write a card number one after us open exactly people would have lost their minds 7 p.m in 5th 10 minutes They're sweeping down the court. They're making sure everything looks good The sun's even poking out to say hello So we're back in about 10 Why are the wtl points so different because they just followed a different system They made up their own system and I feel like they're going to change they're going to turn it into the atp system eventually They've already changed the Sorry, they've already copied the names So, uh, it's only a matter of time before they copy the uh The actual points Uh, since how long have you been doing this stream this stream? Nearly eight hours Today eight hours today This this match I think we've been doing like three hours good How long have I been streaming in general? Uh four and a half years 2018 is when we started How many streams do you do each how many streams do you do each day? I mean as many as as many as we need as many as Matches are good, right? If there's a shit day with one good match, we'll watch the one match If there's usually we watch two or three matches a day though um Because my my brain like the way I justify watching all these matches Every match has something to learn, right?  We learned that mevadev actually has some game on clay, right? So that's why like too many matches katie. There's not enough matches But the reason we watch so much tennis because there's always something to learn Like every match you watch Well, at least every match that I picked to watch I always have a question about that match. Like what are we going to learn about that? you know sinner versus um You know sinner versus her catch On clay for the first time. Let's see if sin is you know, let's see if her catch has got the guts to keep going or if sinner You know, I can continue his good form from the hardcore, right? It's just everything. There's always something to learn Yeah, jokovic is gonna win this match. I'm sure I'm guessing Any resumption in the rising? Yeah, like five minutes. We said he's warming up in the back as we speak He'll be back in about seven minutes How many are working behind the streams of this scene of this stream? Me, no one. It's just me Yeah, they're gonna continue today in like five minutes I can watch two old farts play the y the ymca. Hey, I love it dusty. I'm the same I could watch two people play at the local club down the road And uh, enjoy it just as much What have you learned about this match so far? The jokovic has got is not playing well And the jokovic It's got some injury which we learned when he walked out with his sleeve And the jokovic is not gonna win this tournament if he keeps playing like this because the better guys are gonna beat him Musetti's not been playing well enough to like Take advantage jokovic is bad play Sinner will you know ruin a will city pass will so Yeah, learning the jokovic There's definitely some problems the jokovic has going into this clay season He has 40 million millions in the basement Helping him now. Oh, I mean Uh, can do you love me city's game? Yeah, when it's working when it he's so good like I love seeing that one-handed back end just like everybody else does but It's just annoying because he doesn't do it enough, you know He just hits so many errors and he He just annoys me Can you cover doubles someday? Ah Yeah, we do doubles sometimes, but It's so hard if it doubles into the schedule because it gets covered by the singles all the time Do I follow UFC I do Great win from Izzy Why do members get banned from mibudan because russian's got banned from being russian? I'm sorry Well, I socks enough to find us a tiebreaker against some random dude in some random place That's cool Who is strong between jokovic and carlos? Oh jokovic is better than carlos, dude, but I want to see them play again Wasted potential at time feel like for misety. I agree I think it's so annoyed because I'm like he's supposed to be really good. Do you watch boxing? Not really I don't need the big fights that sometimes happen Uh, maybe have to win Monte Carlo. That would be insane What a story Uh, what do you think start again? They're gonna start in five minutes Five minutes. They're gonna start in fact Let me put the banner up the top just so people know what's up five minutes So the delay save no lei I don't know I don't know if it saved no lei So I like cricket sometimes Are they gonna push median sissy pass. Sorry medians very for tomorrow. No, I think I'm gonna play after this I think they're gonna play after this Uh, unless they say on twitter that it's been moved but I've been postponed, but I don't think they're gonna postpone it There's no word on it online. So If there isn't any word online, they're not gonna move it and nothing uh No, nothing They're not they haven't said anything why 7 p.m. Isn't that too far 7 p.m. Is in like literally four minutes It's in four minutes top of the hour Sun's coming out too So Yeah, look if this match finishes at 7 30, they'll play the they'll keep playing the medvedev's vera match They're not gonna play that tomorrow If they can get through tonight It's only if they get another uh, rain delay. That's the only problem That's when we'll have to worry about the next match Good Where do I watch I watch these on tennis TV, bro Do I eat? No, I don't it didn't eat duchy. I'm not hungry It's three in the morning. I can't be eating at three in the morning. That's uh, that's dangerous All right players are in the back In the gym warming up They'll come out of seven. Yep Please tell me your rg picks for 23 rafa and schviantech because I'm boring Uh, yeah, jokovic is having arm problems. He is uh, they have similar weather here in the uk sun has come out after rain as well. Nice All right still very windy But they're gonna be coming on in three minutes They might even be coming out right now They're just getting the people back in the stadium. What country I'm from from australia Please tell what this is as jokovic versus city pass road 21 Okay Mevvedev is winning rg cam That would be insane That would be the one of the craziest stories mevvedev wins the french. That would be one of the craziest stories in tennis in recent times One of the craziest victories of all time I mean, what's the most on when was the last time we had a crazy unlikely victory like that Mevvedev winning the french. I mean, you've got to go back to like, I mean chilich winning the us maybe as a shock Stan maybe winning a tournament grand slam maybe But mevvedev winning the french is like the least likely thing to happen Yeah, chilich maybe the biggest shock the biggest surprise Uh in a grand slam like the biggest victory in a slam weirdest victory better or winning the french. No, that wasn't weird That was uh Deserve roto khanu. Yeah on the women's side to be roto khanu True okay, here we go chat.  They're gonna warm up again ready to go It's 7 p.m. Already Okay Well, yeah, that's what I said back on 7 p.m. It's 7 p.m. Now the guy with the fedora Hat outsmart everyone Yeah, you did I made fun of it and then he was like laughing at me Monaco is 10 miles away from italy cool. We're gonna stream mevvedev versus vera, but they play tonight Yes We're gonna watch That match as well Because that's my favorite match of the day Count was at work. What's wrong with nolle's arm? He just came out with like a full sleeve. So I don't know what if it's elbow wrist probably elbow Yeah, it's just He's not serving well like he said six double faults And you got to got to put that down to something something wrong with his maybe's elbow Which is why is maybe hesitant on his serve And now chat does who remembers well, I'm just going to give you the answer He said 73 of first serves in But he's only winning 57 of the points which means he's just trying to get his serve in But and that means he's not trying to put powerful serves in And he's only hit six days not had an ace and hit six double faults. So The serve for jokovic Is a problem and I would say it's probably an elbow related problem. Uh, no, yeah, zero aces jokovic Zero aces to the fan slam update. I don't know Winner of this play sooner tomorrow by the way tomorrow this time tomorrow sooner versus whoever wins this Uh the fan slam Did not update And we're back almost back almost back Almost Just waiting for the players to come out of court and then we'll be ready to go Stan will win win would an rg cool canvas jokovic genetics or vegan diet that keeps him mostly injury free um I would say I mean it's a bit of everything right probably the fact that he's really flexible Helps as well. So maybe genetics, but I guess but he trains that way. He trains to be flexible, you know Um a little bit of all of that And luck a little bit of luck, you know luck goes a long way as players like david for rare, right He plays this grinding game until he's 35 Whereas you get guys like del potro who get injured their whole career. So I think it's a little bit of luck as well Okay, here we go. We're back, baby Back on court Ready to go again now Let's see if this nightmare we're in because let's be honest. We've been in a fever dream And we've been on a trip that has not been enjoyable at times The roller coaster has Left the tracks and I'm scared. I've been scared chat 40 30 one one and the third But can We finish with a bang that would be nice Or is it going to be jokovic come out here win six one and i'm going to cry Either all stick around it'll be funny for you I'm sure When are we waking up from this dream exactly? I'd be really bummed if jokovic just smacked him here. I'd be like really You have to wait for a rain delay to smack him.  I'd hate that. I don't know me That'd be annoying Gotta make it Monte Carlo someday For the same. Yeah, laura Monte Carlo is high up on my list of places I want to I want to I want to watch this tournament too live. It's up on my list Improving game no lay he'll try I feel really bad for him. This is probably going to be last no back year. Where's the chance of it a slam? Okay, you're saying that after you won this round open. That's ballsy Okay Okay, here we go they're gonna use new balls I think for the When they resume the match Just sell your kidney and get tickets exactly. Yeah, I'll just You know, I'll just take out a loan and go to Monte Carlo Yeah Sell my kidney take out a loan you know Pretty much sell everything I own and then I might be able to afford to go there If jokovic's losing That then I'm out of the fan slam.  That's wrong What's happening no lays arm I don't know. Just he just is hurt. He just saw maybe Maybe it's from not playing and he played a tough match. You know, he played a tough match the other day. Maybe that's the reason Yeah, sell the so here you got to sell yourself We're about a million dollars to go to Monte Carlo Um, no back to hurt to smack anybody. I will see The rain has stopped the players are on court. We are ready to go Here we go Here we go 40 30 jock which one one could be one point before they sit down What's happening?  It will start in like 30 seconds We're literally about to start again. Everybody's coming in They're on court. They're warming up their serves. They're about a minute away from starting We're back We're back on court as we speak If we weren't it's still be raining or I'd have the delay When the rain delay is not on the players are on court, right? Remember that future times If I ever have the rain delay and the rain pouring behind me, that means it's still raining when it's off stopped That sounds really easy, but yeah, it's it's really that simple Winner of this place dinner tomorrow So welcome to everybody coming back. We are back on court The players are warming up their serves literally as we speak We're ready to go ready to go Jokovic might play one point and then sit down I'd rather see jokovic lose to missetti simply win. Okay. My typing is horrible today. No worries. Uh, they're On court or not? Hello Hello, is this thing on hello? Hello test test test test test Just working. Hello They're on court right now They're warming up their serves They've been on court for three minutes. They're literally one probably a minute away. Hello It's working. Okay Jokovic is warming up his serve as we speak. It's not working How'd you hear me say that? How'd you hear me say that? Hang on All right jokovic is serving at 40 30 1 1 in the third It's been an ugly match and then it rained. So now we've all had time to chill Let's hope for a final a good final set And then we've got medivatives there That's fun All right, here we go Here we go jokovic to play one point and then sit down potentially Maybe we'll find out together Okay, here we go Jokovic is wearing the sleeve. Yes. He's still wearing the sleeve Here we go. It's been one almost one hour Since we last played so it's been an hour delay 58 minutes ago We played the last point It's not that bad. It's been pretty quick that hour We've really chat. We know how to fill it. We know how to do a Rain delay. We do don't we we didn't even have to do a tierless that went pretty quick All right, here we go chat We're back jokovic serving at 40 30 1 1 in the third. He serves To get the lead again welcome back Are these serves on the tee we said he returns that goes out Unbelievable. All right two one literally one point jokovic is back One love jokovic did a tape on his hamstring someone said Jess just said he does I think he does It's not like wrapping like in Australia, but it he looks like he has got a clear tape or like um Like a tape on his leg Yeah plaster on his hamstring. Yeah He does they've zoomed in on it Same leg as australia too. What did I say? When he grabbed his hamstring By the way, they played one point. They're not going to sit down They're going to just go straight into the next point, which is good. So no sit down straight into the next one Because they only played one point so they're not going to have a sit down after one point All right, two one jokovic. So he has got problems with his leg as well jokovic as We thought in the first set when he grabbed his leg All right, two one must say to serve jokovic has The lead in the final set, but it's must say he was serving with a new ball So this jokovic does have the same leg problem as he did in australia. It seems or at least he's got Something wrong with that same leg has been back in out of the forum. We said he was steady in the net Love 15 Love 15 again. Welcome back everybody. Don't forget to light the stream if you haven't already Thank you for those who stuck around welcome back to those Who went and did their grocery shopping or laundry or whatever you do on the break? Who's spamming? Name names who's spamming serve as a let Who's spamming? I can't see any spam in the chat When the chat's telling you you're spamming you need to chill I think they've chilled Chat scared them. All right for a four-hand rally Again to the forna jokovic forna from missetti In the form of no allay into the form of missetti In the form of jokovic is missetti to forehand Again to the form of jokovic on the stretch as jokovic goes again to the form of missetti, but out from no lay 15 all Thanks, him nice to be here No worries. Love is great to have you 15 all 15 all is Missetti trying to hold again. We've had a lot of breaks to serve today. It's been crazy Must not have a mod today. No, there's dawns in the chat. Well, she wasn't in the chat She might have just been busy in the rain delay All right, they they calm down. All right 15 all As missetti serves again Taking his little extra time in missetti I said he will serve He serves down the middle of the forna jokovic return goes the forna missetti forna from no lay Goes into the back end of missetti Into the forna of jokovic as missetti into forehand on the stretch jokovic gets there Forehand in the backhand of missetti again to the forna no lay missetti with the forna on the stretch Goes into the forna jokovic again to the forna missetti on the stretch hits in the net 15 30 Chancey of a jokovic to get the break early in the third From here on in it's a no lay show I think you might be right I feel like missetti is going to take more time to warm back up into this match jokovic is probably just going to Fly out the blocks Get out of here as quickly as possible. Mehbedev is very up coming up next 15 30 serve is a fault second serve second serve Into the forna of jokovic return goes the backhand of missetti, but no lay hits it wide This forna's been a big problem today jokovic 30 all Still a chance Still a chance here for jokovic to get that break early in the Third by the way jokovic's kids and wife are not in the house anymore. They went home. It was past their bedtime 7 p.m comfort bed 30 all Serve done to the back end is a fault from missetti second serve second serve Second serve in the back end of jokovic return goes the point of missetti back in a no lay again to the forna missetti But jokovic hits it out 40 30 2022 minutes played And it's 40 30 missetti to level things up here in the third Let me know in the chat who do you think is going to win this final set? Who's winning the final set? 40 30 Serve into the back end as a fault second serve second serve There's a let Second serves a let Missetti serves again Now while the backhand jokovic he shanks it out and missetti levels All right to all in the third At the moment, it's just a shootout It's just a shootout at this point two games all in the final set Again, by the way, we're almost at 700 likes appreciate that I hope you get a lot of the video if you haven't already true all In the final set jokovic serves serves a fault Second serve Second serving to the forna missetti return goes into the back end of jokovic back in a missetti Down the line jokovic gets it with the forehand into the forna missetti who shanks it out 15 love Well as mentioned we do still have Another match to go This is the latest finish. This is the first all nighter I've had to do. It's 3 a.m and we've got It's very meditative straight after this And that match is probably gonna go three hours too. So uh, I'm gonna see the sunrise Is it weird that I like I'm excited about that Is that weird?  We did some all nighters. I feel I was feeling so not like a savage About time we did some savage hours chat As we had a four to four unrally missetti on the stretch that goes to the sky and drug We hit the forehand missetti hits it into the net 30 love 30 love as We get another serve From no lay Because you're a savage Appreciate it Is it a return? That's a Oh, it was a fault. That was a late call You see he's gonna have a look at the mark and missetti is saying Well, the umpire is gonna come out of the chair, all right She made a mistake already today And that ball was in apparently all right So that was a bad call by the lines person And the Hawkeye said it was on the line. So the umpire was correct redemption First serve again 30 love Served on a tee is a fault Second serve Which is the hamstring problem And an elbow problem we think is we had a four to four unrally another one from Moussedi into the form of jockovic into the form of moussedi again to the forehand of Nole as moussedi's backhand Into the back end of jockovic to the form of moussedi again to the backhand of jockovic Moussedi with the forehand in the back end of no lay into the back end of moussedi on the stretch Sliced into the form of jockovic again to the back end of moussedi as jockovic It's a forehand again the back end of moussedi sliced again that goes in drop into the drop shot I want a shot from no lay. This is going to be on finish TV.  That's what we want to see that's what we signed up for 40 love that's much better A lovely drop shot from no lay after a long rally There we go P we didn't get this watch this from the start or at least didn't get to see this tennis from the start We definitely watched this match from the start Oh debris You know he's good serve there from no land he gets the lead again unbelievable Oh, we watched it chat We watched it Anyway, it's 3-2 Having flashbacks. Um, it's 3-2 in the final set. So, um Now chat serious serious moment for a second If jockovic wins, do you think he plays sinner tomorrow? Or will he withdraw? If he's got an elbow problem And a hamstring problem Do you think he plays sinner tomorrow? What do you reckon? Or do you think he pulls out now? I'm I wouldn't be surprised to be pulled out and I'll tell you why after you tell me what you think He's gonna play he'll play He'll play and take the L jockovic will be tired. Okay, he'll withdraw No, he will not okay He will play for sure. All right, so we're all a little bit. We don't know Now I think I think if he plays it's because he's a warrior and he's gonna play anyway like he's a beast, right? He's built different way like we all know why he would play because he's a freak But I feel like if he pulled out Yeah, because you know, it's because he's got a sore leg and a sore, uh, you know elbow, but I also think Playing against sinner injured And let's say sinner gets the win I don't think jockovic wants to give these guys A win Right. He doesn't want to give these young guys a win This early in the clay season. He'd rather withdraw avoid sinner until he's 100 ready to play sinner. You know what I mean? Kind of like what raffer did this week raffer didn't pull out this week because he still saw or at least he said he was I think raffer pulled out this week Because he doesn't want to get he doesn't want to take an early loss to somebody that he should beat normally That's my theory. I'm a I'm wearing my tin four hat So I don't know I wouldn't be surprised if jockovic pulled out just not so as not to give sinner confidence And look jockovic doesn't have to win Monte Carlo to win the french, right? We know that In fact, if he doesn't play tomorrow, it doesn't even matter because he made the quarter finals And he didn't make the quarter finals last year. So he actually adds to his total anyway So I don't know I I think he will play because he's a beast and he's built different He also has to win this match, but I I wouldn't be shocked if no light pulls out just not to give Sinner who possibly could beat him if you play tomorrow The win, you know what I mean? Like just kind of I don't know. All right, that's just a theory.  That's not bad. We said he gets up the slice down the line all over the lob We said he puts away the smash 15 all But also another reason why that's my that's my tinfall hat, you know, the earth is flat theory Another reason would be we're on the week one of the clay court season The french open is the goal, right? jockovic doesn't need to win Monte Carlo to be a goat. He needs to win the french open So why would he play tomorrow hurt himself more? Why wouldn't he just focus next week in the 250 event maybe play that maybe not Why would he risk getting hurt straight like at the start of the clay court season? In Australia had no choice because he had to play Adelaide and then the Australian opened straight away French opens not for months or at least weeks So do you think it would it be worth him playing tomorrow? And getting worse And they're not playing Madrid, right, which is a big deal and not and he's defending champion rome too. So it's like Does he risk it is another whole nother another situation Which is a little bit more plausible than my tinfall hat theory Anyways 15 all was that goes in the net from jockovic and it's 30 15 of the way jockovic is looking right now This guy doesn't even look like he's gonna get out of this match. So I don't know Benini by the way wearing sunglasses at night Benini move And a hoodie interesting fashion I'm not Italian I don't know how I don't know what the fashion is Must be a thing 43 30 15 Serving the back of the jock which return goes long and We get to 40 15 Doesn't matter who said he's gonna win. All right All right, 40 30. I'm sorry 40 15 40 15 Let's be to serve again To level things up here in the final set. We said he Why does he not retire now Because I don't think he's that hurt that he has to retire right now Like he can win this match I don't know I'm just bracing myself for jock which pulling out tomorrow as that goes out from jockovic and it's 33 me said he If no lay wins, of course no lay has to win, right? He's not gonna pull out if he's not gonna win. You can't play sooner unless you win, right? But i'm just saying I like to like play devil Devils advocate and all that stuff I'm just saying Don't be shocked if he pulls out Brace yourselves no lay fans Anyways three three jock which with a serve And he doesn't look good exactly Zach. He doesn't look good right now no lay. He looks sore Both his leg and his elbow like he's hitting serves like this It looks awkward Can you're overthinking it? That's just my brain It's my biggest problem my greatest strength. I guess is jockovic it's it out love 15 The only reason I the only reason I think I can do this job is by overthinking Love 15 Gotta see the whole everywhere the whole picture Two hours 33 minutes played by the way Medvedev's very coming up next Love 15 As with a fault second serve second serve jockovic Into the form of musetti return goes back into no lay into the form of musetti jock with the forehand Into the back end of musetti again to the form of jockovic is musetti It's a forehand on the stretch to the back end of jockovic is getting on the back of from musetti into the form of jockovic down the line of the form of musetti jock with the forehand again Musetti defending well the jock which comes in the net musetti with a pass jock with the volley Musetti with the forehand on the run is a winner This is gonna be on finish and a big shout from musetti love 30 I tell you what since the break This is the best tennis we've seen This is the best the match has been right now We're finally getting some good tennis by musetti especially Because he was playing like both guys were playing garbage And the crowd's getting involved too, which we love Love 30 It's very medvedev next jockovic to the serve There's a fault jockovic can't serve properly either with that with that elbow second serve Out wide into the form of musetti who smacks a winner musetti too good Again, he's hit two winners in a row for the first time in the match Love 40 musetti All right Finally Finally, we're here We're finally getting the musetti that we were promised at the start of this match Better late than never And all the cliches you can think of All right, love 40 jockovic serving under big pressure now he's serving volleys. Okay. The volley is good The volley is great. Unbelievable. That's one save 15 40 15 40 Saves one 15 40 serve again under big pressure here jockovic As we get a return now from Musetti for an oley goes out. There's the break for three musetti Has a chance to beat the world number one Now he beat the world number one after was it after the u.s. Open or after women Wait, hang on. Did musetti beat al-kres is number one or is number three? I can't remember. I can't remember I don't was it after win but no it was after win wouldn't it? No, it wouldn't be he wasn't number one He wasn't number one at that save jockovic will come back. Okay jockovic on one leg jockovic. Okay, so let's just let's just play like Okay, let's start about okay, so there's been the tennis has been terrible, right up until now For the first two hours garbage horrible ugly air of field tennis jockovic came out with a sleeve on his right arm Assuming we're assuming an elbow injury right an elbow problem Then in the first set he grabbed his hamstring And it was nothing a lot of you got a few of you in the chat were like, oh, it was nothing cam. He didn't do nothing He grabbed his hamstring He came out on the after the break with tape on his leg. So there's a hamstring issue as well the same leg as australia All right, the same leg is australia. So now he's dealing with it a leg and an arm injury musetti's not dealing with anything except for a brain Meltdown when he's kind of made some mistakes. He surfers sets and mucked up but luckily he's in this position now jockovic is not looking good He's been playing terrible. You can probably up, you know make the injury excuse for that You do you I would say yes. I think the injuries have affected him big time jockovic doesn't play this bad healthy musetti It's his best opportunity right now said at the start of the match That if he was going to win today musetti It's his best chance because jockovic looked terrible in his first match And now musetti is on the door. He's got eight points to go to beat the world number one As he serves into the back of the jockovic back in a musetti Get into the back of no lay into the back end of musetti again to the fort of no lay into the back end slice of musetti That drop shots good jock, which gets with the back end musetti hits it out Don't let the scott by like don't I'm so I'm so angry at these stats because they're not correct Then they're not updating Because musetti is not in five areas.   You know that we know that As we return now the 400 musetti back in from jockovic in the fort of musetti again at the back end of jockovic jockovic hits it out 15 all Yeah jock which by the serving stats are correct the winner unforced error stats are totally off How many has he got musetti's hit at least 25 errors at least at least 25 If musetti was really playing like this he would have won in straight sets. So I'm really annoyed about You know, it's 30 or 15 all as we had a 400 back end rally jockovic goes in the 400 musetti Again at 400 jockovic into the 400 musetti is jock which is the back end into the back end of musetti Sliced into the back end of jockovic again at the back end slice of musetti Into the back end slice of jockovic drop shots good musetti gets there with a forehand pass though too easy No, he's just not playing smart 30 15 30 15 all right 30 15 musetti's won 10 of the last 12 points 30 15 musetti serves his six points away from beating jockovic as he serves an ace bang 40 15 Why does very member don't have to wait for the finish the other court is free? Well, because we're going to watch that match. So come down doesn't matter That's his fourth ace of the match musetti Five points away musetti from beating jockovic musetti with a serve Down the tether back into no late no way in the net five three musetti all right What a what a good final set we're finished on a positive chat Might not be positive for no late, but it's a positive result at the end We had a terrible two hours chat. It was a horrible first couple of hours, but this last hour Musetti has stepped up and I like that finally finally Can jockovic produce some sort of a comeback though? It's never over yet. It's never over with no late Until he's down two championship points at wimbledon No lay fans know Never over serve There's a fault second serve second serve Into the form of musetti for from jockovic again to the form of musetti into the form of no late down the line at the back Hand of musetti sliced jockovic to the volley drop volley winner lovely No late 15 love lovely shot 15 love Only four points away. That's it You said he's four points away, but he might have to serve it out, which is not ideal I feel like Yeah 15 love jock which serves a fault second serve second serve jockovic in the back of musetti return goes into the form of no way one of musetti on the stretch goes out 30 love 30 love By the way, we're almost at a thousand likes appreciate that. Don't forget to like if you haven't already Mervi devs verib coming up next winner of this play sinner tomorrow Is it going to be the battle of the italians or the battle? of the generations There's been a fault from jockovic second serve second serve Goes in the form of musetti returned the back into jockovic musetti with the forehand again at the back end of jockovic Into the form of musetti jock with the back end again Into the back of musetti to the back hand of jockovic musetti with the form of the stretch no lay forehand down the line That's a great shot. We said he gets up the slice jock which comes up with the forehand Hits it down the line Musetti gets it drop volley drop shot from jockovic is good musetti in the net No late got away with that one 40 love As no late tries to make musetti serve this match out 40 love 40 love jockovic serves Down to the form of musetti return goes in the form of jockovic musetti with the forehand on the stretch that goes out No lay survives and he makes musetti serve for the biggest win of his life five four musetti final set Has how do you say balls in italian?  That's the question He's come this far Has he got the balls to beat no lay? We'll find out The meatballs if we want to be italian No, he doesn't Okay, fine. See you I guess he doesn't have it. Just kidding. Um Let's go no lay. Does he have the nerves?  Okay, we'll find out musetti is in the best position he's ever been Even better than two sets of love up because let's be honest when he was up two sets of love against jockovic of the french That wasn't real He lost the next set six one six love four love. I mean he was never winning that match This is the closest he's ever come to beating This type of player this goat The crowd get excited musetti is serving for the match Against the one and only no lay One of the goats if not the goat Of this sport Has he got the balls to do it? He serves Down the tna. He's bang That's a good start 15 love three points to go For the biggest win of his life He serves again Now why the back and a jockovic return goes in the form of musetti musetti hits it out. Oh, no He didn't have to hit it that hard. It would have been a winner anyway. That was a panic He panicked 15 all He could have been up 30 love that was not a good shot 15 all We've said he with the serve again Almost three hours played on the official clock He says that why the form of jockovic return goes in the form of musetti Again to the form of jockovic we said with the forehand again to the form of no lay down the middle and out from jockovic. Wow Just a bad forehand error again 30 15 we said he looks very nervous As he should be 30 15 Two points away Again, thank you everybody for joining. Don't forget to subscribe if you haven't already We've still got another match to go Mevvedev Zverev coming up next 40 30 15 He's gonna serve out wide an ace again two aces Two aces in the game And musetti gets the match point 40 15 Possibly the best service game of the match at the most important time 40 15 musetti two match points To take out Novak jockovic Musetti with a serve Out wide the form of jockovic return goes in the form of musetti musetti shanks it wide jockovic saves one unbelievable unbelievable unbelievable jockovic saves one 40 30 What he would do for an ace right now He'd french tick and kiss finini For an ace right now Just give him an old big kiss. There's a big old 40 30 He won't have to don't worry Whatever anyways We're getting carried away. Um second serve second serve musetti Serves the form of jockovic form of musetti is out jockovic saves two of the match points Who wouldn't want a french kiss finini? Hey Fair enough All right, we said he had the two set point at two match points A couple of forehand errors And we get to deuce Musetti with a serve He serves down to see the back end of jockovic and hits the tape goes in musetti with a forehand jockovic with a pass jockovic with a pass What a shot from noley advantage jockovic Of course, he's gonna do that It's Novak freaking jockovic guys. You ever forget who he was We're watching a goat And no reaction. That's a that's a savage reaction. No reaction It's a cold-blooded killer musetti with a fault. Uh-oh second serve Second serve jockovic big big opportunity here second serve Into the back end of jockovic return goes in the form of musetti from jockovic goes wide musetti saves it He saves this break back point And we're back to deuce chat This match just got very intense now. It's an epic It's now turned epic. It was dog shit for two hours But it's been redeemed in this final set The drama is real that this has turned into a thriller the ATP Can well and truly say that this is definitely a thriller now second serve musetti deuce two match points save for jockovic One break point saved by musetti is going to back end out of the form of musetti Again at the back end of jockovic into the form of musetti again at the back end of jockovic The back end of musetti is going to find it from no lay in the form of musetti Again at the front of no lay as musetti hits the back end No, he runs right into four and instead the back end of jockovic into the back end of musetti Jochim to the front of the stretch You said he gets it four down the line in the back end of jockovic back in it from musetti Is good the back end of jockovic again at the back end of musetti no lay hits it out Wait was it out Was it out umpire is going to go check and that ball was out. You cannot be serious. Match point number three for Moussedi. It was out and it's match point number three. Advantage Moussedi to take home the dub. Advantage Moussedi, he serves a fault. Second serve, second serve. He's in the back of the Joggeridge, back of Moussedi, shanked out. Oh, Moussedi with another error. Match point number three saved. Back to Deuce, back to Deuce. If you're just joining us, Joggeridge just saved three match points and that's a shank that City Pass would be proud of. Off all the frame, nothing but frame. All right, back to Deuce. Moussedi serves again. He serves a fault. Second serve, second serve. Is into the corner of Joggeridge, back in our Moussedi, is into the corner again of Joggeridge. Moussedi, oh, hit the take from Joggeridge, goes in to the corner of Moussedi, back in a no-lay on the stretch. Moussedi with the backhand, again in the backhand of Joggeridge, to the backhand of Moussedi. Joggeridge with the backhand, drop shot. It's in the net. Oh, no-lay in the net. Moussedi was going to get it anyway, but man, match point number four. And Goron looks stressed. He doesn't look nervous, he looks stressed. And he should be fourth match point for Lorenzo Moussedi. He's like, yes, let's finish. Yeah. All right, Moussedi serves out wide. The backhand is a let. First serve again. The winner plays Sinner tomorrow night. This time tomorrow, Sinner versus whoever wins this match. Moussedi with a serve. It's a fault. Second serve. Second serve, Moussedi. He serves to the backhand of Joggeridge. Joggeridge in the net. Moussedi wins. And Moussedi puts his hands on his hips and shakes his head. And he's in tears. Moussedi in tears.  And you know what? It's probably not the worst thing for Joggeridge, to be honest. He has got, it appears, two injuries, but one went from Moussedi, GGs, but can he do it again? Because he's only got to the quarterfinals. He didn't win the trophy, but he did beat Joggeridge, which is kind of a little trophy, I guess. It's a mini-trophy. I beat the world number one. I beat a goat. You get a little goat statue when you do that. Just an invisible one, like an NFT, not a real thing. All right. Moussedi takes the dub. He plays Sinner tomorrow, the battle of the Italians. Sinner's going to be happy with that. He's like, whew, I don't have to play that Novak guy. Thank God. GGs, GGs. And look, credit to Moussedi. He came out here. And even though Joggeridge didn't look great for the pretty much the entire match, what a win for Moussedi. No more Moussedi. I said if he wins the tournament, I won't call him Moussedi. Come on now. But yes, great win from Moussedi. Very, very solid win. We love to see it. And look, he came out of that friggin' rain delay and actually wanted a win. He played the best headers of the whole match in the end. Okay. If you're leaving us, don't forget to subscribe on the way out. We do have one more match, so don't leave. We still got Medvedev's Vera. We're just coming up next. I don't know how it's going to compete with these two, but we've had two epics already and they're both involved Italians. And they're playing each other. Cinevres and Moussedi, the battle for the best Italian. Moussedi doing God's work for Yannick. There you go, Yannick out for sure. What else we got? Citi Bass laughing right now? Yeah, Citi Bass, I mean, Runa, Cina. They're all going to be happy that Novak's out of the way. Six double-folds, yeah.  He deserved the win, Moussedi. The way he played after the rain delay, very solid. But there are two concerns, the elbow and the hamstring. Two problems for Nole. So like I said, it's probably not the best. It's probably not the worst thing that he lost because it means that he can focus on recovering for the rest of the Claycourt season. So not the worst. And like I said, if he won today, I think he might have pulled out anyway. So it probably would have been the result. It's probably best that Moussedi won, so Joggeridge didn't pull out against Cina. So we get another match tomorrow. Baratini didn't want to play Runa. That was a tough, tough one to stop. It was an epic. It turned epic. It got redeemed in the end. That last match, that last set made, and probably the rain delay, we forgot about what happened in the first two hours, which was garbage.   That was not fun. That last set made it epic. Redemption, that last set. And the fact that Moussedi won. I mean, that's crazy. Jogger is definitely not in his game. No. Be it confidence, rust, or injury, he's not himself. Can't wait for the Italian off tomorrow.  Cina vs. Moussedi.  All right, chat. Time for Medi against Varev. The fun, you think we're ending? Come on now. We're just getting started. Jump over there, talk amongst yourselves. I'll be back under your other toilet. I'll be back to watch the last match of the day. Medvedev takes on Zverev. The fun has only just begun. Because that match, this match coming up next, has got three sets banger written all over it. Go for it, jump over there, talk amongst yourselves. If you're not coming back until Djokovic plays again, we'll see you in Bosnia in a couple of weeks, or maybe in Madrid if he doesn't play next week. I probably will. We'll see you next time. But Medvedev's Varev coming up next, but man, Moussedi, finally, finally gets that win over Djokovic that he promised by his result against Djokovic of the French, finally wins a match against Noly. Now, Noly wasn't 100%, but Moussedi was. Good enough at the end to win this match, and hold on, hold on. I think that's an understatement. Hold on to win 4, 6, 7, 5, 6, 4. Moussedi plays Sine tomorrow. Sine, what is it? Varev versus Medvedev next.