Learning Kusto Query Language - A tool for performance test engineers
Published May 24 2021 11:51 AM 23.6K Views
Iron Contributor

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:

 

1

What is KQL and why should I care?

Link to video

2

The Editors or how do I write and execute KQL queries

Link to video

3

Our first KQL operators

Link to video

4

Wait where can I consume Kusto data?

Link to video

5

Summarize

Link to video

6

Project, extend, and explain

Link to video

7

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

Link to video

8

Scalar functions part 1

Link to video

9

More scalar operators!

Link to video

10

Fun with datetime, timespan and date_part

Link to video

11

Conditional logic and strings

Link to video

12

Advanced aggregation operators

Link to video

13

Let, join, and union

Link to video

14

Datatable, prev, next, row_cumsum, and materialize

Link to video

15

Range, make-series

Link to video

16

Series_decompose family of functions

Link to video

17

The remaining time series functions

Link to video

18

Machine Learning Plugins

Link to video

19

User Analytics Plug-ins

Link to video

20

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.

 

Thanks!

 

 

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