 In this video, I'll demonstrate how to use Pixi to monitor the performance of your database requests without the need for manual instrumentation. Pixi uses Linux EVPF technology to automatically trace a number of different database protocols, including Cassandra, PostgreSQL, and Redis. See the video description for the full list of supported protocols. Installing Pixi takes less than five minutes. You'll also need to install the demo microservices application. You can find directions for both in the tutorial linked below. Let's use Pixi to see MySQL request health by pod. I have the live UI open with my cluster selected in the cluster drop-down menu at the top. I'm going to select the script drop-down menu and type the word MySQL. And then select the MySQL stats script. This script shows latency error and throughput over time for all MySQL requests flowing through the cluster. Pixi can capture requests with only one endpoint in the cluster. For example, if a service makes a call to an external MySQL database which is not monitored by Pixi, Pixi will still be able to capture the SQL calls. However, for endpoints outside of the cluster, Pixi won't be able to resolve the remote address to a pod or service name, so you'll need to know the endpoint's IP address. To see a latency in error and throughput stats for a particular pod, we can use the optional pod argument. Select the drop-down arrow next to the pod argument, type px-soc-shop-catalog, and press enter. The graph should update to show stats for just the requests made to or from the catalog pod. Clear the pod value by selecting the drop-down arrow and pressing enter. Let's use Pixi to see MySQL request health by normalized query. Pixi can automatically cluster your SQL queries so that you can analyze similar queries as a single group. For example, the following two queries would be clustered together into the normalized query. A normalized query means that constants such as Sockcolor have been replaced with Paceholders. Let's see this feature in action for our demo application. Select the script drop-down menu and type sql underscore queries. This live view calculates the latency, error, and throughput over time for each normalized SQL query. Let's examine one of the normalized SQL queries. So scroll down to the summary table. For longer queries, it's often easier to view the data in JSON form. Hover over the third row and click the row. Clicking the row opens a sidebar with the JSON representation of the row data. Inspect the JSON query and you'll see that Sock ID values have been replaced with the question mark, Placeholder. Click the row to close the JSON. Next, let's view latency, error, and throughput for the constants passed to this normalized query. Instead of clicking the row this time, click the actual query text for the same third row. This script shows latency, error, and throughput for each individual parameter for the given normalized SQL query. If you scroll down, the summary table shows the individual parameters passed to Sock ID in the normalized query with throughput and latency statistics per parameter. Pixi captures all network traffic that passes through your cluster. It supports both server and client-side tracing. For supported protocols, this traffic is parsed into messages that are paired with their responses. Let's use Pixi to inspect full-body MySQL requests. So, go up to the Script drop-down menu and type MySQL again. And this time, let's select the MySQL data script. This script shows the most recent MySQL requests flowing through your cluster, including the full request and response bodies. Pixi is able to capture any request that flows through the cluster, as long as at least one endpoint is within the cluster. You can expand the request's body to see the full request. For requests with longer message bodies, it's often easier to view the data in JSON form. Click a table row to see the row data in JSON form. Scroll through the JSON data to find the request body and response body. Click the table row again to collapse the JSON view. Scroll to the last column of the table to see latency data for individual requests. Click on the latency column title to sort the table by descending latency. This video featured MySQL requests. To use Pixi to monitor other database protocols, check out the related script section of the database query profiling tutorial linked below.