Good afternoon. I think we can get started. This session, we are going to talk about monitoring and diagnosing the performance issues on Cloud Foundry framework, because as more and more applications are being deployed, so how are we going to monitor? What are the ops considerations? And if we have any kind of a performance issue, how are we going to resolve them? So those are the things that we're going to talk about in this session. My name is Surya DeGuralla. I am an STSM responsible for the IBM's Watson and Cloud Platform Architecture and Performance Engineering. And with me, Milorad, he is the Senior Director in RBC Digital Banking Channels. So today's session will focus on the Cloud Foundry from a performance engineering point of view from within IBM, what we have identified, and what we are doing. And also we will share, because there are around 40 production applications that are there in Cloud Foundry with Bluemix on RBC. So what exactly RBC is actually doing for ops and monitoring? So it's going to be a mix of both from the lab as well as from the customer application point of view. So I'll talk a little bit about the Cloud Foundry monitoring framework, what facilities we have in the Cloud Foundry itself, and then we will get into the enterprise application monitoring, like whether it's online banking or commercial banking, and other applications that RBC is actually deploying. What exactly, what dashboards that they are developing, what they are using for operations, and those things. And then we will take a specific use case of a typical performance problem that we have encountered in RBC's online banking and how we have resolved those things using the framework that is offered and also the third party tools also we have. So Cloud Foundry monitoring framework, as most of you know, the framework itself has multiple tools that you have the simple CFCLI, where you can get the basic information, like the CPU memory and stuff, to a aggregator firehose, where you can enable it, and you have the different nodules that you can actually get the data from individual components. And that's another thing that we have available for advanced users because you get so much of data, so you have to be really familiar with what to look for. Because this firehose, once you attach it and then get that, you get a lot of data. And also, another thing that we do in the lab is we use Grafana, Graphite, and the Influx DB. And we design some dashboards to do a little bit deeper analysis and know each component of Cloud Foundry how it is performing as you actually run through different applications. And of course, we have the third party APM tools, the New Relic APM or the Health Center for profiling. So those are other tools that you can enhance the ability for you to diagnose any performance issues. So when it comes to the enterprise monitoring framework and what exactly RBC has, if you look at RBC uses Dynatrace for application monitoring for an APM framework. And of course, Dynatrace has some enhanced agents because most of the applications are node and Java. So we worked with Dynatrace to get the internal agents to put those hooks into the runtimes so that you can actually get additional information in the runtimes. So that's another thing that they are using. And we also have RBC's custom environment dashboards, mainly for three things. We have the Cloud Foundry metrics data. I'm going to show those snapshots. And also the Cloud Foundry application logs. And we have the admin console APIs that will enable you to set some thresholds and stuff so that operations team can really get some notifications when a specific threshold hits. And also a few other things that we have made some plug points. And of course, we have the operation management dashboards through the admin console. We have delivered them. And then another thing is the plug points. Like we have some plug points where if you want to combine, let's say you have an application. You have an application that not only going through and running within the Cloud Foundry at runtime, but also it uses the external third-party services, maybe data service or cognitive service or IoT. So there are some plug points where you can actually correlate the transaction data as the transaction flows through all these different layers. You may be able to design your own dashboard to get all these data points together and then display them on the single unified dashboard. So those are some of the plug points also we have. So when you look at these resource usage, like your application is actually deployed in a Diego cell or in a DEA, you can actually see the usage from a memory CPU or network point of view and the storage point of view. It will give you a very high-level view on an average. You have 5D Diego cells. What's the average CPU or memory or storage consumption? Of course, you may have in your environment, you may have a CPU overcommit or memory overcommit on all those things. So we can actually normalize the data based on your configuration also. If you look at the resource usage pattern, like here you can see that 77% CPU is being used. So these are a high-level indication that, OK, now you may have to enhance and get another Diego cell. This is a very coarse-level dashboard that at a very high-level operations team will be looking at. If you drill down further, because if you want to go a little bit deep into the internal components, this is from the Cloud Foundry. If you look at Diego architecture here, Cloud Foundry, you can see all the different internal components. You have the BBS or BBS database. You have the Diego cell, the garden containers, brain, and all these internal components. If you want to really understand when you are scaling to maybe 30 million transactions per day or at a very high volume, how each of these components are actually performing. Which one is going to be the bottleneck? So which pipe has to be, you have to broaden that and make it bigger so that that one single bottleneck is not going to take the whole transaction system for ransom. So we can do that. What we did for this is we have taken the open source metrics tool.  So you can actually put those agents in there. And then you can collect the data and then push that into an inflex DB that we have created for storing this data. And then that can be fed to the graphite server that we have running in our Cloud Foundry environment. And then from that server, actually it serves the Grafana dashboard. So this whole infrastructure that you can actually set it up, which will give you very fine grained information about when you have 10 instances running on a specific Diego cell. And all those 10 in the 10 garden containers within the cell and how many processes that those each garden container cell, each garden container instance, how many garden container instances in a cell, right? All that low level information you can actually get that. So here you can see this is showing the CPU, memory, and the network and disk usage from a specific Diego cell. We have in our Bluemix local environment, there are four Diego cells. You can see those four Diego cells each one, how much CPU, memory. So it's much easier for you to understand how your applications are actually being deployed across different cells. And whether your application may be a node application, Java application, how the memory and CPU usage patterns, how much the storage is being used, whether you have any kind of a disk bottleneck that you have. So all of those things can be easily proactively you can understand. And this is another view of this garden container count. Like you can see how many garden containers you have. This is very important for like we had an issue where the virtualization that we have used for our VMs, like for generating all these different components. The VM was using the para-virtualized PV. And we could not push more than 30 garden containers in a cell. Once you reach 30 containers, then your VM is completely saturated. So we could clearly see that at a number of garden containers in the cell, our CPU is completely 100%. So that gave us the insight that then we changed that para-virtualized to HVM, like hardware assisted. And all of a sudden, without any just one hardware change, the virtualization change, we could contain from 30 to 200. So the density of containers in a Diego cell has gone up by six times, more than six times. So those are the engineering decisions and the design bottlenecks that you may have either in your own Cloud Foundry installations or the one that's being managed by somebody else. So those are the very advanced insights you can actually get from here. Another important part is the router, because good outer is everything will be channeled through good outer. So the good outer, some of you may be familiar, the good outer in Cloud Foundry right now doesn't support Keep Alives. So if you don't have Keep Alives, then what will happen is each time a transaction flows through that, you have a connection opened. And then once that is done, that connection will be closed. So you may be familiar with our HTTP Keep Alives, where in a typical app server, once you have the persistent channel, you will send hundreds of requests on top of that. So that's how you get the performance, especially if you're using SSL. And that's where you can clearly see the performance thing there. So here, good outer, unfortunately, you don't have the Keep Alive support. So you will have additional overhead when you're going through that. So how do you circumvent that? So you can actually see this from here. How far the good outer is actually taking, whether it is a CPU or network. And then you can actually increase the concurrency. Like you can add a few more good outers, instances, to increase the concurrency to offset the latency impact that you have. So those are the advanced monitoring tools and techniques that you can use to make sure that your applications deployed in Cloud Foundry are performing and scaling well. Another thing that RBC has actually gone one step further in their monitoring, they are using Google Analytics and stuff. I would like to have Miller talk a little bit about how they're doing the data analytics and client insights. Thanks, Surya. Let's see if this is on. Thank you. Thank you, Surya. So I'm going to keep my part really short. We have a nice dark room here. So very quickly, in addition to everything that Surya has said, of course we are interested in making sure that we have close monitoring of the application in production. In addition to that, we also are very much interested in terms of designing the applications in the best possible way to maximize the experience for our clients. And also being able to help our back office processes, which still, in some cases, with RBC being a major bank, are still manual, we want to make sure that we drive the efficiency of those processes as much as possible. So what we are doing with our group with Digital Business Banking is we are combining the data points that we have from tools like Google Analytics, Dynatrace, consolidating that into a view that gives us a holistic perspective on the interaction that we have with our clients, which also gives us a holistic view of the applications in production and helps us focus effort in a specific set of areas where we can make a difference for our clients and where we can save money, frankly speaking, from the operational perspective to RBC. We also want to make sure that we are the first ones to know about any potential situations or issues that we have in production before we started getting those client calls. Why is this important? Business banking, one of the key characteristics of business banking is that we process big, large transactions and large volumes of those transactions as well, for small businesses but also for large corporate clients. And we want to make sure that those transactions are flowing as smoothly as possible and that we are very fast in terms of responding to any potential issues. So this is what really makes a difference for us. Thank you, Milrad. So we saw different ways of monitoring what tools that we have, what custom tools that we can actually build from the Grafana graphite and the influx DB and other techniques. So that's all about monitoring, right? And you want to make sure that your applications are actually performing and scaling without any bottlenecks. If you have any bottlenecks, we will know. But if you want to diagnose a performance problem already you have in the infrastructure or your application. So how do you go about it? What tools do we have? I'm going to go over a specific incidence that occurred while we are looking at the online banking application deployed on Bluemix Cloud Foundry and RBC. We saw that the performance was, our expectation was 400 to 500 transactions per second with sub-second response time. That was what is expected. And what we saw was we could not go past 12 transactions per second with 90 seconds, not sub-second. It is 90 seconds response time. And we tried to increase the number of instances and all that. So there we were out of options of what exactly is happening because there are a lot of moving parts. We have the fabric. You have the firewall. You have the front door. You have the back and mainframe system. And you have these application itself that is actually moved from on-premise to cloud. So we don't know where to look for. Those are the tough problems. And one of the things that we have used, multiple tools we have used. But just to give you more context here, you can see this is RBC's online banking topology that you can see. So when a transaction comes in, right, so it's actually going through the firewall and then it's going into the security layer, where the data power and then the TAI, the Trust Association Interceptor. And then it will take the LTP token. And then it will get into Bluemix Cloud Foundry, the orchestration application. From there, it has to go to the back and mainframe. That's where we have the data. And then it'll get the result set back. And then it'll go to the stub. And it will review the result set and then get the thing back into the front, like AngularJS frontend. So as you can see, multiple layers here. So what we did is we have used four different tools and manually correlated all of those to come up with where the problem was. One of the tools that we have used is New Relic for path length analysis. We did a profile using the New Relic. So what we found with New Relic was in the path length, we saw a lot of threads that are waiting there. So that gave us some hint that there is something wrong within the runtime itself, which is Java in this case. And we are running in Liberty BuildPack. So we focused because we have other things, but we focused now on only that area. And then what we came to know about, then we have used another tool, like the APM, like Monitoring Analytics tool. That will give us the internal details about the thread pools, how they're being used, what is the utilization there. So you can clearly see that. This is a snapshot of the Monitoring Analytics tool. So what it is giving, you can see that on your left-hand side, you have a service latency, the backend service latency of 10 milliseconds. And you can see on your right-hand side, a service latency of 100 milliseconds. In this case, around 1,000 milliseconds. So you have increased the latency in the backend. So what happened was you can see the free pool and the idle threads and the used threads. You can see that on your left-hand side, the blue bar is actually about idle threads. How many threads within that app server that are free and ready to take the work? You have sufficient number of threads there. So when you increase the workload, you have enough threads to take care of that workload so you can actually scale. Whereas on your right-hand side, you can clearly see that the yellow one is the threads that are used already, used up. So you don't have any thread left. So if you want to increase your workload from 10 users to 100 users to 1,000 users, you don't have anything there. So the traffic was basically getting accumulated and just blocked at the go-router level because you don't have the capacity to handle on the runtime. So what is happening was as you increase the workload, there is more backup happening at the go-router. So you are increasing the latency.  Even though your runtime is showing your Diego cells are only barely used like 5%, 10%, but you don't have a way to scale. So you have to correlate the go-router data with the dashboard that I have shown before and use New Relic to identify that it is the runtime that is the culprit here. So you have to correlate those two things and then say that, okay, this is the backend service latency that is impacting. So this is a very good way to correlate these things, but of course it's laborious because you should understand all these pieces together. So it will be nice to have an autocorrelation of all these things together and come up with a unified console so that way a less skilled operator can easily identify where the bottleneck is. So that's why it's very important for us to use these tools and correlate them and then make a unified dashboard so that any kind of problems like this can be solved easily because it took some time and of course you should know the runtime, you should know the Cloud Foundry fabric and all those things. Again, this is the same thing, but with 10 milliseconds and 100 milliseconds, this is an in-between case. The previous one was extremely, I've gone 10 times. Now if you go from 10 to 100, you can see on your right-hand side, the number of used threads, threads that are in use, executed threads, there's gone up, but still you have some idle threads. So you are still, the system is able to take the load, but once you increase that back-end service slate and see that the LO bar will go up. So in summary, there are certain tools that are built-in in the Cloud Foundry itself that like CFCLI or Logregator, those things you should use as a basic monitoring tool set. And I recommend using tools like open-source tools like Metrix and put those agents, if you can and get some data, if you're an advanced user, you can actually create your own Grafana dashboards and actually get the data and put it in FlexDB and then use the Graphite server. And third-party tools like APM, like New Relic or M&A and those tools also will give you a transaction tracking from end-to-end perspective. And of course, the operational dashboards is another way, as Miller had mentioned, some you can use the Google Analytics and others to understand your end customer usage patterns also that will enable the operations team as well as the Cloud administrators to proactively take some actions. So those are some of the tools, from a Cloud Foundry perspective. So that will conclude my session, I can take some questions. Sure. What is your experience with the Max-Side-of-Connection setting in the Go Router? Experience with the Max Connections. In the Go Router? Yes, the Keep Alive, so you're talking about, right? The Go Router has that, because as I said, it doesn't support Keep Alive, so at one point, you can clearly see how it is impacting the connection and disconnect of those connections. You can see the kernel CPU go up because these operating system operations, they will chew up the kernel CPU. The user CPU is okay, but the kernel CPU will slowly go up. So at one point, you will just increase the latency. The Max number of clients that each Go Router instance can support. I think for a network intensive application, what we saw was maximum 800 to 900 connections, pair instance that we could support, but beyond that, it will just block. So you have to bring in the second instance. Any more questions? Okay, thank you.


A king's successor is the person who will inherit the kingdom when the king is gone. In ecology, succession is the process of one plant community after another inheriting a particular spot of land. There are two types of succession, primary and secondary. Primary succession starts from scratch as living things such as lichens begin to grow on bare rock. Secondary succession is much more common. It occurs after an existing plant community has been removed or altered by a disturbance such as fire. This site was burned last summer and nearly all the existing plant material was removed. Here we can see the earliest stage of secondary succession as annual grasses and forbs are establishing on the site. Soon perennial grasses such as western wheat grass and Indian rice grass will inherit this site. The plants we see today will become less and less common and eventually shrubs such as sagebrush and rabbit brush will inherit the spot. On this site, brush will be keying until a new round of disturbance boots him off the throne and the successional process starts again. From the University of Wyoming Cooperative Extension Service, I'm Zola Ryan.


Hi everyone, Joe for jazzy's casebreaks.com here coming at you with a 2020-2021 Donner's Optic Basketball Retail box with Luca on the front here. Random Team Break number two. Three different dice rolls happening here. First of all, we're giving away five spots within the box break itself. The second dice roll will be the break. The third dice roll will be those immaculate number block spots. The top two will be in that Sixer's Lakers number block. And the next one will be the Mavs, I think Hawks maybe number block. The other way, those two different number blocks right there. First dice roll, let's give away some extra spots. So it'll be top five. So only you sold 25 spots outright, giving away the other five spots. Top five after six, one, two, three, what's up, four, five, and six in final time. All right. Jeff Lydell, Nathan, Andrew, and Jesse, extra spots for you. Everyone else, don't worry. You're still part of the action. It's just that these five people just have a little extra in all this. Now let's do the second dice roll, second of three, break itself. Let's roll it and randomize it three and a one four times, one, two, three, and a one, fourth and final time. We got Jeff down to Jeff after four and four times for the team. No trades in these filler breaks. Did I copy? I don't think I did. All right. Here's the first half of the list right here. And there's the second half of the list right over here. All right. Now let's alphabetize, print, and rip. All right. Thanks everybody. We'll do this break really quick, and then we'll re-randomize that list, and top four we'll get into, top four we'll get into those two different number blocks. Neil, what's up? How goes it? Oh yeah. Tim, that Bradshaw train whistle is really nice. Yeah, it has been a while, Neil. How are you? Living the dream. That's good. Good to hear in these crazy times. Did you? Good. Good. Yeah, keep Rory busy too. All right. Let's knock this break out really quick. JJ Redick Purple, not numbered, but it will ship. Sadiq Bey, I feel like he's been playing some decent basketball lately. And there's Nico Manion. Udoka Azabuike, has he been getting minutes, maybe? Jalen Brown. Elijah Hughes. Anthony Davis, My House. Hawaii Leonard Air Defense. Julius Randall. Tyrese Halliburton. Nice Anthony Edwards. And My House Purple, Luca Donchich over there. Anthony Edwards rated rookie card for Andrew Roth and the T-Wolves. That was last spot, Mojo. Nice. There you go. All right. Now, the important part is who's going to win those number block spots. Let's grab everyone's from Jeff, Dana, Jesse, and everyone in between. Third and final dice roll, top four, will get into the action. So the top two will get into this number block right here and the next two after that will get into that number block right there. So there's the whole list. Let's roll it, randomize it. Six into three, nine times. Top four after nine. Good luck. One, two, three, four, five, six, seven, eight, and ninth and final time after nine. So it's top four. So from five on down, sad times. Jesse, very close. No cigar. But I appreciate you. I appreciate everybody giving this a shot. Thank you. Top four. You're in the number block. Jeff and Jesse. Oh, Jesse, you're in. Jeff and Jesse, you're in that Dallas number block. And then Sean Maddock and Jeff again will be in that Sixers Lakers number block. There you go. There you go, gang. I'm Joe for jaskyscasewrakes.com. If you're watching live, we just have to do one more of these and then we're finally in Breaksville on that Immaculate basketball. I think we can do it tonight. So get in on it, jaskyscasewrakes.com. I'm Joe. I'll see you later tonight for the Immaculate. Bye-bye.


Let's take a look at the touchdown. Derek Henry, super run, great job by him, but a lot of great jobs on this play. Absolutely. So again, we talked about this formation a couple of weeks ago. And base formation, right? Quarterback under center. You've got 12 personnel, two tight ends, two backs, or two receivers, and a tailback. And again, we can do a lot of different things out of here, play action, different run games, work the screen to Derek off this. But this is what we would call one of our bread and butter runs with Derek. And I think that you're going to see some cool things here from the end zone that I want to show you. This is basically allowing us to get into a power scheme, not allow penetration to where you're able to get some combinations, working up to that player there. You get some combinations working up there. You've got to find a way with the receiver to take care of the support. But this is going to create lanes. And I want you to see the lanes and not the penetration so Derek can hit it front side or even in this case, hit it back side. And you're going to see guys get knocked down, Peter's down. But now we're here. And there's Derek going through. And then now he can make a break inside or outside. He gets some options. What you're saying is he has a choice here. He does. And he only has a choice because we're able to stay square. And if you take a look at it, by square, I mean we have some choices right there. So again, what started out at the beginning of the play was some combination blocks just to make sure that we didn't have penetration. So here's your combinations, no penetration, no penetration. We're going to have to eventually get off on the linebacker and then the linebacker so they don't run through. But to me and to the running back, now we let it roll. And we see that guys are covered up at the point of attack. And we're able to now have some options to go and find a way to make a cut. Derek can go front side. He can bounce. He's bounced on the corner so many different times where he's stiff arm guys. And in this case, very rarely does he go out the back door. But you're going to see now Peter get back up. The three techniques responsible for the B gap. Peter gets back up. He peeks. He plays a little peekaboo right there. And then now Derek is able to circle him up. And you're going to watch Deandre Hopkins taking his man and running him off. And then there's your stiff arm, making sure now that that thing right there is out in front of him. But Deandre is running his guy off and finishing and then protecting and taking care of himself. Very rarely you're going to be able to run the football in from the 15-yard line. But that was a great example of us covering guys up, staying square, not dictating where the running back's going to run by putting our butt in the hole or anything like that. But we stayed square. And then now we let the runner run to daylight. Thanks for showing us that. Absolutely.


Welcome to TickMail Weekly Market Outlook for week commencing the 2nd of December, with me, Patrick Munley. We have another busy week of top-tier data in the US next week. We start the week with the key manufacturing gauge, ISM manufacturing indexes, followed by its non-manufacturing counterpart on Tuesday. The preliminary readings of the market PMIs had turned out better than expected last week. The figures are looking towards the official ISM prints to confirm a rebound in US activity. Consumption spending, trade report and factory orders occupy the calendar in the middle of the week. We finish the week off with the all-important release on Friday of the non-farm payrolls, and we also get the University of Michigan sentiment index. From a technical perspective, the dollar continued to recover last week. However, as we took out the prior swing highs at the 9840 level on Friday, we did actually see a sharp reversal of the late in the day, closing back down towards the lows. If we see follow-through selling on Monday, then we may have completed a correction versus the decline we witnessed in October. If that's the case, we'll be looking for a test at the 9770 area. If buyers don't step in here, then I'll be anticipating we retest the prior swing lows down to 9730. Whilst we're talking about the dollar, let's check in with gold. Gold, Julie recovered on Friday as we saw that decline in the dollar index. If we can see some follow-through buying into the beginning of next week, then I'd be bullish gold for the week, looking for a test of the descending trend line resistance back up towards the 1500 level. However, if we fail to capitalise on Friday's advance and take out the low on Friday at the 1450 area, then we could be looking for a test down to the support zone at the 1440-1435 level. In Canada, all focus will be on Wednesday's Bank of Canada policy decision, with the market expecting the rates to remain on hold at 1.75%. The market is also expecting the committee to cite global headwinds, but with inflation close to target and unemployment remaining low, the bank won't be in any rush to act at this stage. On Thursday, we also get November IV PMI readings, and we're expecting some softness there due to the drag in global trades. From a technical perspective, the Canadian dollar continues to find resistance at the 13320 to 13330 area. If we see a follow-through in the reversal that we saw on Friday, then we'll be anticipating a move back down to test support at the 132 area. If buyers step in here, then we have the potential to set a base to target a break of the highs at 13325 on route to a test of the major descending trend line resistance at 134. However, similar to the dollar index, if we don't see buyers stepping in back down towards this 131 at 80 area, then we could see a protracted move to the downside seeking a retest of the support down to 13050. In the Eurozone, top tier data are the final market PMIs released on Monday. Also on Monday, we will see ECB President Magard address the European Parliament. Retail sales and the final estimate of third-quarter GDP growth wraps up the data slate on Thursday, with markets expecting the print to be in line at 0.2%, tracking and annualized 1.2% growth. From a technical perspective, the Euro dollar has potentially put in a meaningful double bottom similar to the dollar index pattern, obviously in reverse. But what we're looking for now is if we can see buyers maintain the positive momentum we saw into the close on Friday, and if we see some follow-through in the beginning of the week, then we may have set a base here in the Euro dollar at this 110 area, and I'll be looking for a retest of 111 initially, ultimately to retest the resistance back up at the 111 80 area. However, again, if we fail to capitalize on the reversal on Friday, and we take out Friday's low, this will be a bearish development, suggesting to me that we're likely to retest year-to-date those back down below the 109 handle. Once we're talking about the Euro, let's check in with the DAX. DAX continues to grind higher, and we were in consolidation mode last week, whilst we hold the support area at 13,000. I'm ultimately looking for a move higher to test the ABCD pattern equidistant resistance up at the 13,650 level. Only a close below the 13,000 level would concern this immediate bullish bias, suggesting that we are likely to rotate lower back down to test the support at the 12,650 level. In the UK, data flow is lighter next week, limited to market PMIs on Monday and Tuesday. Both services and manufacturing are expected to be soft, reversing the small bounce that we saw in last month's data. Traders will also keep a keen eye on political developments as we enter the penultimate week of campaigning in the government elections. Stirling Pound continued to consolidate above the support at the 128,30 level. As it does so, we can look for a break of resistance at 130, ultimately setting up a test of the 132 upside objective. However, if we can't break out of this 130 resistance, then we are likely to continue to range trade and into the election in two weeks' time, so we'll be looking for support down at 128 and resistance at 130. In Japan, releases next week are the final PMI readings, labour cash earnings, as well as household spending. From a technical perspective, the Japanese yen broke through the resistance at the 10950 level. However, Friday's close wasn't convincing, and if we note the developing divergence we can see on our sentiment momentum indicators down here, then we could be looking at a pullback in the dollar yen, so this would ultimately prove to be a false break to the upside, and we could be back into the well-defined range testing support down at the 10850 and 108 level. However, if we do see follow-through buying at the beginning of the week, then that will ultimately set up a test of the long-awaited target up at the 11050 level. Down under in Australia, Tuesday's Reserve Bank of Australia meeting is expected to show that the Reserve Bank are keeping their cash rate unchanged at 0.75%. This comes just prior to the release of third-party GDP growth for Australia. Australian data docket also includes AIGPMI readings, trade report, and retail sales, which are expected to remain lackluster. From a technical perspective, the Australian dollar has continued to grind lower and now looks poised to test support at the 6750 area. This is going to be a key area of interest if we can see some bullish reversal patterns here, developing on the daily timeframe, then the correction versus the advance that we saw in October may be complete, and we could look then to retest the resistance area at 6850. A close back through 6850 would be a bullish development suggesting that we can then move higher to test the 6930 to 6950 resistance area. However, if buyers don't step in at this 6750, 6730 area, then we can look for the grind lower to continue to retest the year-to-date lows down at 6670. That concludes the weekly market outlook for week commencing December the 2nd


It's awesome. It's unbelievable, you know, just the way that our guys fought so proud of this team. It was ugly at times offensively, but we've kept fighting and found a way to make a couple plays there at the end and come out with a W. It's huge. You know, he's been big for us all year and he was big for us tonight. You know, made a couple big runs, but just the consistency that he has, you know, down and down out, the physicality he brings and so hard to tackle offensively and did a good job of creating some creases for him.  Is this the family? Yeah, I think so.  That's pretty cool. A game? Yeah, we knew when coming in we wanted to run the football. Obviously a really good defense, good and secondary, and make it tough on you throwing the football. So, you know, I don't know if we knew we were going to throw it that little, but they definitely did a good job and the run game was working for us. So we stuck with it. Do you have any emotions for you before this one? Not a whole lot. You know, honestly, it felt like a football game. You know, once it was going, it felt like a football game and I think it was louder. This place was louder than any other time I've been up here.  What was the third down pass? Well, it was a great call by Art. You know, I brought Furke across, had man coverage on him and he was able to get leverage on his guy and break out there as he was able to hit him. You know, it was a big play for us.  This team believes in each other. We believe in each other all year and it's come through trial, right? We've been in situations like this, tough games, tight games and found a way to make a play and win and it's happened over and over again throughout the year. So there's a lot of belief that game may be ugly, maybe in a tight spot, but we're just going to keep playing, keep plugging away and somebody will make a play and we're able to do that tonight. Alright, easy. What do you know? What do you think about Baltimore? Yeah, I don't know. I know they're good. That's all I know. I know they won a lot of games, good on defense, good on offense, but past that, I don't know, have to get on looking at tape and find out. Yeah, last one. Gilmore, did you do a good job on AJ? Yeah, he did. You know, and some of the looks were not going away from Gilmore, just kind of the way it turned out and we didn't get a whole lot of opportunities to push the ball down the field. So yeah, they did a good job in their secondary, but I still have a lot of confidence no matter who's on AJ that we can get open.