The I/O Registry is a dynamic database that describes a collection of “live” objects (nubs or drivers) and tracks the provider-client relationships between them. When hardware is added or removed from the system, the Registry is immediately updated to reflect the new configuration of devices. A dynamic part of the I/O Kit, the Registry is not stored on disk or archived between boots. Instead, it is built at each system boot and resides in memory.

The I/O Registry is made accessible from user space by APIs in the I/O Kit framework. These APIs include powerful search mechanisms that allow you to search the Registry for an object with particular characteristics. You can also view the current state of the Registry on your computer using applications provided with the developer version of OS X.

Kusto.Explorer is a rich desktop application that enables you to explore your data using the Kusto Query Language in an easy-to-use user interface. This overview explains how to get started with setting up your Kusto.Explorer and explains the user interface you will use. With Kusto.Explorer, you can: Query your data. Search your data across tables. Service Bus Explorer allows users to connect to a Service Bus namespace and administer messaging entities. Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter. Copied to clipboard. Overview Version History Q & A Rating & Review.

This chapter describes the I/O Registry architecture and the planes the Registry uses to represent relationships between objects. It also provides an overview of device matching and introduces applications that allow you to browse the Registry.

I/O Registry Architecture and Construction

It is most useful to think of the I/O Registry as a tree: Each object is a node that descends from a parent node and has zero or more child nodes. The Registry follows the definition of a tree in nearly all respects, with the exception of a small minority of nodes that have more than one parent. The primary example of this situation is a RAID disk controller where several disks are harnessed together to appear as a single volume. Exceptional cases aside, however, viewing the Registry as a tree will help you visualize how it is constructed and updated.

At boot time, the I/O Kit registers a nub for the Platform Expert, a driver object for a particular motherboard that knows the type of platform the system is running on. This nub serves as the root of the I/O Registry tree. The Platform Expert nub then loads the correct driver for that platform, which becomes the child node of the root. The Platform driver discovers the buses that are on the system and it registers a nub for each one. The tree continues to grow as the I/O Kit matches each nub to its appropriate bus driver, and as each bus driver discovers the devices connected to it and matches drivers to them.

When a device is discovered, the I/O Kit requests a list of all drivers of the device’s class type from another dynamic database, the I/O Catalog. Whereas the I/O Registry maintains the collection of objects active in the currently running system, the I/O Catalog maintains the collection of available drivers. This is the first step in a three-step process known as driver matching that is described in Driver and Device Matching

Information such as class type is kept in the driver’s information property list, a file containing XML-structured property information. The property list describes a driver’s contents, settings, and requirements in the form of a dictionary of key-value pairs. When read into the system, this information is converted into OS containers such as dictionaries, arrays, and other types. The I/O Kit uses this list in driver matching; a user application can search the I/O Registry for objects with specific properties in a process known as device matching. You can also view the property lists of your computer’s currently loaded drivers using I/O Registry Explorer, an application that displays the Registry.

Keeping the tree-like structure of the I/O Registry in mind, now visualize each node extending into the third dimension like a column. The two-dimensional Registry tree, with the Platform Expert nub at its root, is now visible on a plane that cuts perpendicularly through these columns. The I/O Kit defines a number of such planes (you can think of them as a set of parallel planes cutting through the columns at different levels). See Figure 3-1 for an illustration of this structure.

There are six planes defined in the I/O Registry:

  • Service

  • Audio

  • Power

  • Device Tree

  • FireWire

  • USB

Each plane expresses a different provider-client relationship between objects in the I/O Registry by showing only those connections that exist in that relationship. The most general is the Service plane which displays the objects in the same hierarchy in which they are attached during Registry construction. Every object in the Registry is a client of the services provided by its parent, so every object’s connection to its ancestor in the Registry tree is visible on the Service plane.

Service Bus Explorer Msi

The other planes show more specific relationships:

  • The Audio plane provides a representation of the audio signal chain that Core Audio framework and its plug-ins use to discover information about the audio signal paths between the system’s audio devices.

  • The Power plane shows the power interdependencies between I/O Registry objects, allowing you to trace the flow of power from provider to client and discover which objects might be affected if a particular device is powered down.

  • The Device Tree plane represents the Open Firmware device hierarchy.

  • The FireWire and USB planes each represent the internal hierarchies defined by those standards.

It is important to remember the following points about planes in the I/O Registry:

  • All I/O Registry objects exist on all planes, but on any individual plane, only those objects connected by the relationship defined by that plane are visible.

  • A driver does not get attached to the Registry on any one particular plane. Instead it may participate in a plane’s connections if its provider-client relationships with other objects fit that plane’s definition.

The I/O Registry Explorer

The developer version of OS X provides an application called the I/O Registry Explorer that you can use to examine the configuration of devices on your computer. I/O Registry Explorer provides a graphical representation of the I/O Registry tree. By default, it displays the Service plane, but you can choose to examine any plane. The command-line equivalent, ioreg, displays the tree in a Terminal window. This tool has the advantage of allowing you to cut and paste sections of the tree if, for example, you want to send that information in an email message. You can get a complete description of the usage of ioreg by typing man ioreg at the shell prompt in the Terminal application.

Explorer

When you open I/O Registry Explorer, a divided window appears with I/O Registry objects in the upper right, the six planes in the upper left, and the property list of the selected object in the lower half of the window. An object followed by a disclosure triangle indicates that it is a parent node. You can traverse the I/O Registry tree by clicking a parent node and dragging the scroller to the right to display its children. Figure 3-2 shows an example of a property list in the I/O Registry Explorer window.

Commands in the Tools menu help you search the I/O Registry and examine its contents:

  • Dump Registry Dictionary to Output places the I/O Registry contents into the console log (viewable through the Console application in /Applications/Utilities) if the I/O Registry Explorer was opened from the Finder.

  • Inspector displays the property list of the currently selected object in ASCII form. Selecting a particular property in the main window causes its value to be displayed in the Inspector window.

  • Force Registry Update updates I/O Registry Explorer’s picture of the I/O Registry to reflect any changes that may have occurred since you first opened the application.

  • Find performs a case insensitive search on your input string and, if successful, displays the path to the occurrence of the string with object names separated by colons.



Copyright © 2001, 2014 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2014-04-09

-->

Kusto.Explorer is a rich desktop application that enables you to explore your data using the Kusto Query Language in an easy-to-use user interface. This overview explains how to get started with setting up your Kusto.Explorer and explains the user interface you will use.

With Kusto.Explorer, you can:

  • Query your data.
  • Search your data across tables.
  • Visualize your data in a wide variety of graphs.
  • Share queries and results by email or using deep links.

Installing Kusto.Explorer

  • Download and install the Kusto.Explorer tool from:

    • https://aka.ms/ke (CDN location)
    • https://aka.ms/ke-mirror (Non-CDN location)
  • Instead, access your Kusto cluster with your browser at:https://<your_cluster>.<region>.kusto.windows.net.Replace <your_cluster> and <region> with your Azure Data Explorer cluster name and deployment region.

Using Chrome and Kusto.Explorer

If you use Chrome as your default browser, make sure to install the ClickOnce extension for Chrome:

Overview of the user interface

The Kusto.Explorer user interface is designed with a layout based on tabs and panels, similar to that of other Microsoft products:

  1. Navigate through the tabs on the menu panel to perform various operations
  2. Manage your connections in the connections panel
  3. Create scripts to run in the script panel
  4. View the results of the scripts in the results panel

Menu panel

Kusto.Explorer Menu panel includes the following tabs:

Home tab

The Home tab shows the most recently used functions, divided into sections:

Query section

MenuBehavior
Mode dropdown
  • Query mode: Switches Query Window into a script mode. Commands can be loaded and saved as scripts (default)
  • Search mode: A single query mode where each command entered is processed immediately and presents a result in the Result Window
  • Search++ mode: Allows searching for a term using search syntax across one or more tables. Learn more about using Search++ Mode
New TabOpens a new tab for querying Kusto

Share section

MenuBehavior
Data To ClipboardExports Query and data set to a clipboard. If a chart is presented, it exports the chart as bitmap
Result To ClipboardExports the data set to a clipboard. If a chart is presented, it exports the chart as bitmap
Query to ClipboardExports the Query to a clipboard

Visualizations section

MenuBehavior
Area chartDisplays an area chart in which the X-axis is the first column (must be numeric). All numeric columns are mapped to different series (Y-axis)
Column ChartDisplays a column chart where all numeric columns are mapped to different series (Y-axis). The text column before numeric is the X-axis (can be controlled in the UI)
Bar ChartDisplays a bar chart where all numeric columns are mapped to different series (X-axis). The text column before numeric is the Y-axis (can be controlled in the UI)
Stacked Area chartDisplays a stacked area chart in which the X-axis is the first column (must be numeric). All numeric columns are mapped to different series (Y-axis)
Timeline ChartDisplays a time chart in which the X-axis is the first column (must be datetime). All numeric columns are mapped to different series (Y-axis).
Line ChartDisplays a line chart in which the X-axis is the first column (must be numeric). All numeric columns are mapped to different series (Y-axis).
Anomaly ChartSimilar to timechart, but finds anomalies in time series data, using the machine learning anomalies algorithm. For anomaly detection, Kusto.Explorer uses the series_decompose_anomalies function.
Pie ChartDisplays a pie chart in which the color-axis is the first column. The theta-axis (must be a measure, converted to percent) is the second column.
Time LadderDisplays a ladder chart in which the X-axis is the last two columns (must be datetime). The Y-axis is a composite of the other columns.
Scatter ChartDisplays a point graph in which the X-axis is the first column (must be numeric). All numeric columns are mapped to different series (Y-axis).
Pivot ChartDisplays a pivot table and pivot chart that gives the full flexibility of selecting data, columns, rows, and various chart types.
Time PivotInteractive navigation over the events time-line (pivoting on time axis)

Note

Anomaly Chart:The algorithm expects timeseries data, which consists of two columns:

  • Time in fixed interval buckets
  • Numeric value for anomaly detectionTo produce timeseries data in Kusto.Explorer, summarize by the time field and specify the time bucket bin.

View section

MenuBehavior
Full View ModeMaximizes the work space by hiding the ribbon menu and Connection Panel. Exit Full View Mode by selecting Home > Full View Mode, or by pressing F11.
Hide Empty ColumnsRemoves empty columns from the data grid
Collapse Singular ColumnsCollapses columns with singular values
Explore Column ValuesShows column values distribution
Increase FontIncreases the font size of the query tab and of the results data grid
Decrease FontDecreases the font size of the query tab and of the results data grid

Note

Service bus explorer github

Data View Settings:

Kusto.Explorer keeps track of what settings are used per unique set of columns. When columns are reordered or removed, the data view is saved and will be reused whenever the data with the same columns is retrieved. To reset the view to its defaults, in the View tab, select Reset View.

File tab

MenuBehavior
---------Query Script---------
New TabOpens a new tab window for querying Kusto
Open FileLoads data from a *.kql file to the active script panel
Save To FileSaves the content of the active script panel to *.kql file
Close TabCloses the current tab window
---------Save Data---------
Data To CSVExports data to a CSV (comma-separated-values) file
Data To JSONExports data to a JSON formatted file
Data To ExcelExports data to an XLSX (Excel) file
Data To TextExports data to a TXT (text) file
Data To KQL ScriptExports Query to a script file
Data To ResultsExports Query and data to a Results (QRES) file
Run Query Into CSVRuns a query and saves the results to a local CSV file
---------Load Data---------
From ResultsLoads Query and data from a Results (QRES) file
---------Clipboard---------
Query and Results To ClipboardExports Query and data set to a clipboard. If a chart is presented, it exports the chart as a bitmap
Result To ClipboardExports data set to a clipboard. If a chart is presented, it exports the chart as a bitmap
Query to ClipboardExports the Query to a clipboard
---------Results---------
Clear results cacheClears cached results of previously executed queries

Connections tab

MenuBehavior
---------Groups---------
Add GroupAdds a new Kusto Server group
Rename GroupRenames the existing Kusto Server group
Remove GroupRemoves the existing Kusto Server group
---------Clusters---------
Import ConnectionsImports connections from a file specifying connections
Export ConnectionsExports connections to a file
Add ConnectionAdds a new Kusto Server connection
Edit ConnectionOpens a dialog for Kusto Server connection properties editing
Remove ConnectionRemoves the existing connection to Kusto Server
RefreshRefreshes properties of a Kusto server connection
---------Security---------
Inspect Your ADD PrincipalShows currents active user details
Sign-out From AADSigns-out the current user from the connection to AAD
---------Data Scope---------
Caching scope
  • Hot DataExecute queries only on hot data cache
  • All Data: Execute queries on all available data (default)
DateTime ColumnName of column which may be used for time pre-filter
Time FilterValue of time pre-filter

View tab

MenuBehavior
---------Appearance---------
Full View ModeMaximizes the work space by hiding the ribbon menu and Connection Panel
Increase FontIncreases the font size of the query tab and of the results data grid
Decrease FontDecreases the font size of the query tab and of the results data grid
Reset LayoutResets the layout of the tool's docking controls and windows
Rename Document TabRename the selected tab
---------Data View---------
Reset ViewResets data view settings to its defaults
Explore Column ValuesShows column values distribution
Focus on Query StatisticsChanges the focus to query statistics instead of query results upon query completion
Hide DuplicatesToggles removal of the duplicate rows from the query results
Hide Empty ColumnsToggles removal of empty columns from the query results
Collapse Singular ColumnsToggles collapsing columns with singular value
---------Data Filtering---------
Filter Rows In SearchToggles the option to show only matching rows in query results search (Ctrl+F)
---------Visualizations---------
VisualizationsSee Visualizations, above.

Service Bus Explorer Visual Studio

Note

Kusto.Explorer keeps track of the settings used per unique set of columns. When columns are reordered or removed, the data view is saved and will be reused whenever the data with the same columns is retrieved. To reset the view to its defaults, in the View tab, select Reset View.

Tools tab

MenuBehavior
---------IntelliSense---------
Enable IntelliSenseEnables and disables IntelliSense on the Script Panel
---------Analyze---------
Query AnalyzerLaunches the Query Analyzer tool
Query CheckerAnalyzes the current query and outputs a set of applicable improvement recommendations
CalculatorLaunches the calculator
---------Analytics---------
Analytical ReportsOpens a dashboard with multiple pre-built reports for data analysis
---------Translate---------
Query to Power BITranslates a query to a format suitable for using in Power BI
---------Options---------
Reset OptionsSets application settings to default values
OptionsOpens a tool for configuring application settings. Learn more about Kusto.Explorer options.

Monitoring tab

MenuBehavior
---------Monitor---------
Cluster DiagnosticsShows a health summary for the Server Group currently selected in Connections Panel
Latest data: All tablesShows a summary of the latest data in all tables of the currently selected database
Latest data: Selected tableShows in the status bar the latest data in the selected table

Management tab

MenuBehavior
---------Authorized Principals---------
Manage Cluster Authorized PrincipalsEnables managing a cluster's principals for authorized users
Manage Database Authorized PrincipalsEnables managing a database's principals for authorized users
Manage Table Authorized PrincipalsEnables managing a table's principals for authorized users
Manage Function Authorized PrincipalsEnables managing a function's principals for authorized users

Help tab

MenuBehavior
---------Documentation---------
HelpOpens a link to the Kusto online documentation
What's newOpens a document that lists all Kusto.Explorer changes
Report IssueOpens a dialog with two options:
  • Report issues related to service
  • Report issues in the client application
Suggest FeatureOpens a link to the Kusto feedback forum
Check UpdatesChecks if there are updates to your version of Kusto.Explorer

Connections panel

The Connections pane shows all the configured cluster connections. For each cluster the databases, tables, and attributes (columns)that they store are shown. Select items (which sets an implicit contextfor the search/query in the main panel), or double-click items to copy the name to the search/query panel.

If the actual schema is large (such as a database with hundreds of tables), you can search it by pressing CTRL+F and entering asubstring (case-insensitive) of the entity name you're looking for.

Kusto.Explorer supports controlling the Connection panel from the query window, which is useful for scripts. For example, you can start a script file with a command that instructs Kusto.Explorer to connect to the cluster/database whose data is being queried by the script, by using the following syntax:

Run each line using F5, or similar.

Control the user identity connecting to Kusto.Explorer

The default security model for new connections isAAD-Federated security. Authentication is done through theAzure Active Directory using the default AAD user experience.

Download

If you need finer control over the authentication parameters, you can expand the'Advanced: Connection Strings' edit box and provide a validKusto connection string value.

Service Bus Explorer Download Mac Version

For example, users with a presence inmultiple AAD tenants sometimes need to use a particular 'projection'of their identities to a specific AAD tenant. Do this byproviding a connection string, such as the one below (replace words IN CAPITALS with specific values):

  • AAD_TENANT_OF_CLUSTER is a domain name or AAD tenant ID (a GUID) of the AAD tenant in which the cluster is hosted. This is usually the domain name of the organization that owns the cluster, such as contoso.com.
  • USER_DOMAIN is the identity of the user invited into that tenant (for example, user@example.com).

Note

The domain name of the user is not necessarily the same as that of the tenant hosting the cluster.

Keyboard shortcuts

Azure Service Bus Explorer Download Mac

You might find that using keyboard shortcuts enables you to perform operations faster than with the mouse. Take a look at this list of Kusto.Explorer keyboard shortcuts to learn more.

Table row colors

Kusto.Explorer tries to interpret the severity or verbosity level of each row in the results panel and color them accordingly. It does this by matching the distinct values of each column with a set of known patterns ('Warning', 'Error', and so on).

To modify the output color scheme, or turn this behavior off, from the Tools menu, select Options > Results Viewer > Verbosity color scheme.

Excel color scheme legendVivid color scheme legend

Next steps

Learn more about working with Kusto.Explorer:

Service Bus Explorer Download Mac Os

Learn more about Kusto.Explorer tools and utilities: