IP Library › Granted Patent US 10,929,272
Granted Patent B2
US 10,929,272 · App. 14/885,969 · Granted Feb 23, 2021

Telemetry system extension

Inventors: Amy M. Lewis (Sammamish, WA); Ravi C. Shahani (Bellevue, WA); Mahmood G. Qadir (Redmond, WA); Wojtek Kozaczynski (Duvall, WA); Brian R. Crawford (Seattle, WA); William M. Zintel (Woodinville, WA); George Joy (Kirkland, WA); Brian P. Ellis (Sammamish, WA); Ken Ming-Kin Yip (Bellevue, WA); Vitaliy Titov (Redmond, WA); Mark E. Russinovich (Hunts Point, WA); James O. Todd (Redmond, WA); Vito J. Sabella (Bellevue, WA); Christopher M. Lang (Bellevue, WA); Jonathan K. Johnson (Issaquah, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F11/3644G06F11/3006G06F11/3072G06F11/3082G06F2201/86G06F2201/865
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,929,272
App. No.
14/885,969
Granted
Feb 23, 2021
Kind
B2
Abstract

A method of operating a telemetry system includes automatically populating a base field of a schema in an event definition using a logging library of the telemetry system for an event of an instrumented application, and automatically populating a conditional field of the schema in the event definition using the logging library in response to a selected condition for the event.

Claims (49)

1. A method of operating a telemetry system to collect telemetry data of an instrumented application, the method comprising:

implementing an event ingestion pipeline to shuttle events through multiple components of the telemetry system;

determining quality of the event ingestion pipeline by ingesting telemetry data to a schema in an event definition,

automatically populating a base field with telemetry data using a filter declared in a logging library of the telemetry system for an event of the instrumented application, the base field of the schema;

automatically populating conditional fields with telemetry data using a second filter in the logging library in response to selected conditions for the event, the conditional fields of the schema, the automatically populating the conditional fields including:

statically determining and automatically populating a first conditional field for application events for a given environmental subset of the instrumented application; and

dynamically determining and automatically populating a second conditional field for events of a given use subset for the instrumented application;

providing the telemetry data in the first conditional field for application events to the given environmental subset of the instrumented application;

providing the telemetry data in the second conditional field for events to the given use subset for the instrumented application; and

providing events in the event ingestion pipeline to real-time systems or batch processing systems in a format to allow analytical applications to query for telemetry data according to the telemetry data in the base field and the conditional fields.

2. The method of claim 1 wherein the base field is automatically populated with data in all events of the instrumented application.

3. The method of claim 2 wherein the data common to all events includes client system data.

4. The method of claim 1 wherein at least one of the conditional fields is automatically populated with data related to an application environment condition.

5. The method of claim 4 wherein the application environment condition includes application platform, operating system, or cloud environment.

6. The method of claim 4 wherein the at least one of the conditional fields is populated with data in all events of the application environment condition.

7. The method of claim 1 wherein at least one of the conditional fields is automatically populated with data related to an application usage condition.

8. A method of operating a telemetry system, the method comprising:

implementing an event ingestion pipeline to shuttle events through multiple components of the telemetry system;

determining quality of the event ingestion pipeline by ingesting telemetry data to a first schema in an event definition;

automatically populating base fields with telemetry data using a filter declared in a logging library of the telemetry system for an event, the base fields of the first schema;

automatically populating conditional fields with telemetry data using a second filter in the logging library in response to a selected condition for the event, the conditional fields of the first schema, the automatically populating the conditional fields including:

statically determining and automatically populating a first conditional field for application events for a given environmental subset of the instrumented application; and

dynamically determining and automatically populating a second conditional field for events of a given use subset for the instrumented application;

populating fields with telemetry data selected by an event author, the fields in a second schema;

providing the telemetry data in the first conditional field for application events to the given environmental subset of the instrumented application;

providing the telemetry data in the second conditional field for events to the given use subset for the instrumented application; and

providing events in the event ingestion pipeline to real-time systems or batch processing systems in a format to allow analytical applications to query for telemetry data according to the telemetry data in the base field and the conditional fields.

9. The method of claim 8 wherein populating set of fields in the second schema includes preselected fields from the telemetry system.

10. The method of claim 9 wherein the preselected fields are populated with data common to a plurality of applications.

11. The method of claim 9 wherein the preselected fields include a predefined name and data type.

12. The method of claim 8 wherein populating set of fields in the second schema includes custom fields from the event author.

13. The method of claim 12 wherein the custom fields include custom name and custom data type.

14. The method of claim 8 wherein the first set of fields in the schema includes an event envelope semantic and an ingest section.

15. The method of claim 8 wherein a field of the conditional fields is automatically populated with data related to an application environment condition.

16. The method of claim 15 wherein another field of the conditional fields is automatically populated with data related to an application usage condition.

17. The method of claim 15 wherein the logging library includes a code library corresponding with a platform of the instrumented application.

18. A telemetry system, comprising:

a computing device including a processor and a memory configured to:

implement an event ingestion pipeline to shuttle events through multiple components of the telemetry system;

determine quality of the event ingestion pipeline by ingesting telemetry data to a schema in an event definition;

automatically populate a base field with telemetry data using a filter declared in a logging library of the telemetry system for an event of an instrumented application, the base field of the schema; and

automatically populate conditional fields with telemetry data using a second filter in the logging library in response to a selected condition for the event, the conditional fields of the schema, the automatically populate the conditional field including:

statically determining and automatically populating a first conditional field for application events for a given environmental subset of the instrumented application; and

dynamically determining and automatically populating a second conditional field for events of a given use subset for the instrumented application;

provide the telemetry data in the first conditional field for application events to the given environmental subset of the instrumented application;

provide the telemetry data in the second conditional field for events to the given use subset for the instrumented application; and

provide events in the event ingestion pipeline to real-time systems or batch processing systems in a format to allow analytical applications to query for telemetry data according to the telemetry data in the base field and the conditional fields.

19. The telemetry system of claim 18 wherein the base field is automatically populated with data in all events of the instrumented application.

20. The telemetry system of claim 18 wherein at least one of the conditional fields is automatically populated with data related to an application environment condition.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2016
From: LEWIS, AMY M.; SHAHANI, RAVI C.; QADIR, MAHMOOD G.; KOZACZYNSKI, WOJTEK; CRAWFORD, BRIAN R.; ZINTEL, WILLIAM M.; JOY, GEORGE; ELLIS, BRIAN P.; YIP, KEN MING-KIN; TITOV, VITALIY; RUSSINOVICH, MARK E.; TODD, JAMES O.; SABELLA, VITO J.; LANG, CHRISTOPHER M.; JOHNSON, JONATHAN K.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 040018/0928 →
Continuity (1)
Related Publication 20170109259A1 · Apr 20, 2017