Learning Kusto Query Language - A tool for performance test engineers

Published May 24 2021 11:51 AM 13.4K Views

Video series by boB Taylor, intro by Edwin Hernandez


Hello everyone! This time we bring you a series of video tutorials by boB Taylor, who is a member of the Microsoft's Performance & Quality Services Team. He recently completed this video series about Kusto Query Language, and this is a great opportunity for us to compile it into a single place for you along with some introductory information.


What is Kusto Query Language (KQL)?

You may be asking yourself: What is Kusto? What is KQL? And why would this matter for a Quality and Performance Test Blog? Well, Kusto itself was the internal code name for Azure Data Explorer, and Kusto Query Language (KQL) is the primary means of interaction with it. KQL allows you to send data queries, process data, and return the results of this processing without modifying the data or metadata. Now, why would this matter for Test Engineers? Let's first define what Azure Data Explorer can do for you:


Azure Data Explorer

Azure Data Explorer is a service that allows you to store log and telemetry data. It can handle many data streams emitted by several entities concurrently (websites, LOB apps, CRMs, Social data sources, IoT devices, Cloud components, etc.). This data is collected and stored. Data Explorer then provides a way for you to analyze this large volume of data, perform complex queries and drill down into specific events.


Therefore, Azure Data Explorer provides a great way for you to perform diagnostics, monitoring, and reporting of all components of your application and environment. This kind of analysis is key for performance testing and application optimization.


Kusto Query Language(KQL)

KQL is a read-only query language. The syntax is similar to SQL, but it was created specifically to work with large datasets in Azure. Since it's read-only there are no update or delete clauses. It is based on relational management systems, which use schema entities, and is organized into a hierarchy like SQL's databases tables and columns.


Other Azure Services

KQL is the primary mean to query data from Azure Data Explorer; however, it is also used to interact with the following inter-related Azure services:

  • Application Insights
  • Log Analytics
  • Azure Monitor, and again:
  • Azure Data Explorer


Microsoft documentation

If you want to learn more from the official Microsoft documentation, make sure to check out the following:



boB Taylor's Video Series

If you are done leafing through the official documentation above and want a much more detailed training. boB created a series of video tutorials where he goes into detail on KQL, from the fundamentals to complex functions, passing through the most common operators:



What is KQL and why should I care?

Link to video


The Editors or how do I write and execute KQL queries

Link to video


Our first KQL operators

Link to video


Wait where can I consume Kusto data?

Link to video



Link to video


Project, extend, and explain

Link to video


Distinct, sample-distinct, top, and top-nested

Link to video


Scalar functions part 1

Link to video


More scalar operators!

Link to video


Fun with datetime, timespan and date_part

Link to video


Conditional logic and strings

Link to video


Advanced aggregation operators

Link to video


Let, join, and union

Link to video


Datatable, prev, next, row_cumsum, and materialize

Link to video


Range, make-series

Link to video


Series_decompose family of functions

Link to video


The remaining time series functions

Link to video


Machine Learning Plugins

Link to video


User Analytics Plug-ins

Link to video


Last on KQL - charting

Link to video


In Conclusion…

If you want to monitor and diagnose the performance of your application in Azure, KQL is a key resource. It is a good skill to have in your portfolio, especially if you are involved in load testing. Please make sure to check our other article about a Collection of Useful Tool for Performance Test Engineers, and please leave any questions in the comments section.





1 Comment
Version history
Last update:
‎May 24 2021 12:06 PM