CN108139961A - 遥测定义系统 - Google Patents

遥测定义系统 Download PDF

Info

Publication number
CN108139961A
CN108139961A CN201680059600.2A CN201680059600A CN108139961A CN 108139961 A CN108139961 A CN 108139961A CN 201680059600 A CN201680059600 A CN 201680059600A CN 108139961 A CN108139961 A CN 108139961A
Authority
CN
China
Prior art keywords
event
field
telemetry system
data
pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201680059600.2A
Other languages
English (en)
Inventor
B·R·克劳福德
A·M·路易斯
R·C·沙哈尼
M·G·卡迪尔
W·卡扎克齐斯基
W·M·津特尔
G·乔伊
B·P·埃利斯
K·M-K·伊普
V·蒂托夫
J·O·托德
M·E·拉希诺维奇
V·J·萨贝拉
C·M·兰
J·K·约翰逊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN108139961A publication Critical patent/CN108139961A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3082Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种操作遥测系统的方法包括:使用遥测系统的日志库来自动填充事件定义的模式中的第一组字段,以及填充模式中和/或由事件作者选择的第二组字段。

Description

遥测定义系统
背景技术
为了提高软件应用的质量,软件开发人员试图理解应用在包括顾客和客户在内的用户的手中是怎样执行的。虽然在应用开发期间进行诸如调试和日志记录之类的实验室或开发测试对于提高质量很重要,但是对于许多现代应用来说单靠实验室测试还不够。现代软件应用(尤其是移动应用)是高度交互的,并且难以在实验室中或者在开发期间模拟全面的用户交互。此外,若干环境条件影响用户对应用的体验。例如,网络连接性、GPS信号质量和设备硬件均差别很大。一些平台API甚至可以取决于设备电池中剩余的功率量来改变行为。这些各异的环境条件难以在实验室中重现。因此,许多软件开发人员致力于从现场收集诊断和性能跟踪数据。
然而,用于在现场中跟踪应用性能的平台支持通常不充分。包括移动平台在内的主要平台向开发人员提供应用崩溃日志,但开发人员报告难以从众多日志中标识崩溃原因。此外,可能还包括无响应事件和例外情况的这种数据在检测性能问题时没有提供多少帮助。分析框架被设计来收集诸如用户人口统计之类的使用分析而不是性能数据。该信息通常不会有效地提供关于应用内的具体用户活动的信息。
代之,寻求有关应用性能的有意义信息的开发人员将在应用中包括自定义的跟踪代码,这不是一件容易的事。例如,即使应用中的简单用户请求触发了多个异步调用,其中在线程之间进行复杂的同步,而标识这种代码中的性能瓶颈也需要正确地追踪跨异步边界的因果关系。这项具有挑战性的任务变得更加困难,因为跟踪开销最好保持在最低限度,以避免对应用性能的影响并且限制诸如电池和网络带宽之类的稀缺资源的消耗。
发明内容
提供本发明内容是为了以简化形式介绍将在下文的具体实施方式中进一步描述的概念选择。本发明内容不旨在标识所要求保护的技术方案的关键特征或必要特征,也不旨在被用于限制所要求保护的技术方案的范围。
描述了包括实现过程的遥测系统。遥测系统可以与一个或多个仪器化应用通信,以从现场收集有关事件的数据并将相关和合并的数据转发给分析应用,以进行丰富的分析。遥测系统被配置为利用具有一个或多个模式(schema)部分的事件定义来操作,一个或多个模式部分用于声明和填充来自事件的数据,事件是事件定义的实例化。事件定义可以捕获事件作者(诸如应用开发人员)希望追踪的动作或交互。本公开还包括用于与遥测系统一起使用的系统、方法和计算机可读介质的若干方面,其可以包括使用日志库来自动地(即,明确地)填充事件定义的模式中的第一组字段。事件作者可以选择来自另一模式的第二组字段。
事件定义可以包括被配置为包括来自事件的数据的多个模式部分。在示例中,事件定义包括第一部分模式,第一部分模式具有由日志库自动填充而不需要来自事件作者(诸如应用开发人员)的输入的字段。例如,第一部分模式可以包括用于诸如系统数据之类的通用于所有事件的数据的系统模式。事件还可以包括第二部分模式,其包括由事件作者选择的字段。例如,域部分模式包括具有广泛适用性的字段。在一个示例中,事件作者可以选择零个或更多个域部分模式,但是事件作者不控制字段的名称或字段的数据类型。代之,日志库预定义所选择的域模式中的字段和类型,并且利用数据来填充字段。第二部分模式还可以包括具有由事件作者定义的字段和类型的自定义模式,这些字段和类型可以适用于事件但原本不被包括在系统模式和域模式中。在一个示例中,第一部分模式和域部分模式未利用事件定义来定义;它们对所有事件定义是共用的。
仪器化应用可以包括遥测层。遥测层包括自动捕获的第一部分模式或系统模式,其自动捕获共用的相关数据并且可以捕获用遥测流水线的事件摄取组件注入的信息。事件作者可以将与事件域或含义对准的第二部分模式包括在自定义模式中,以及在自定义模式中创建字段,以包括与事件相关的应用特定信息。
在一个示例中,遥测系统包括大容量、低延时的事件和遥测平台。可以将遥测系统应用于驱动一个或多个客户端和服务生态系统。本公开的示例系统或过程能够利用全面的批量遥测将来自顾客的实时、交互式、事件驱动的工作流统一(unify)到云或计算机网络,并且将其返回给顾客。具有用于充分描述数据的强类型的固定和灵活的数据字段的强大共用模式支持丰富的分析。所描述的系统和过程为应用开发人员提供了以相对低的开销快速且容易地创建新的仪器化点。强大共用模式提供了跨多个平台高效收集的数据。
附图说明
附图被包括在内以提供对实施例的进一步理解,并且被并入本说明书中且构成本说明书的一部分。附图图示了实施例并且与说明书一起用于解释实施例的原理。将容易理解其他实施例和实施例的许多预期优点,因为通过参考以下具体实施方式它们变得更好理解。附图的元素不一定相对于彼此成比例。相同的附图标记表示对应的相似部分。
图1是图示了计算设备的示例的框图。
图2是图示了并入了计算设备的示例遥测系统的框图。
图3是图示了图2的遥测系统的示例过程的框图。
图4是图示了图2的遥测系统的示例模式的框图。
具体实施方式
在以下具体实施方式中,参考了附图,附图形成本文的一部分,并且在附图中通过图示的方式示出了其中可以实践本发明的具体实施例。应当理解,在不脱离本发明的范围的情况下,可以利用其他实施例并且可以进行结构或逻辑的改变。因此,以下具体实施方式不应被视为具有限制意义,并且本发明的范围由所附权利要求限定。应当理解,除非另外特别指出,否则本文所述的各种示例性实施例的特征可以彼此组合。
图1图示了可以在操作环境中采用并且用于托管或运行计算机应用的示例性计算机系统,该计算机应用被包括在存储用于控制计算机系统(诸如计算机设备)的计算机可执行指令的一个或多个计算机可读存储介质上,以执行过程。计算机实现的过程的示例包括使用可以被存储在计算机存储器中的遥测模式来生成遥测数据。
示例性计算机系统包括诸如计算设备100的计算设备。在基本硬件配置中,计算设备100通常包括具有存储器104和一个或多个处理单元(即,处理器102)的处理器系统。作为示例,处理单元可以包括芯片上的两个或更多个处理核或者两个或更多个处理器芯片。在一些示例中,计算设备还可以具有一个或多个附加的处理或专用处理器(未示出),诸如用于图形处理器单元上的通用计算的图形处理器,以执行从处理器102卸载的处理功能。存储器104可以按层次结构来布置,并且可以包括一级或多级高速缓存。取决于计算设备的配置和类型,存储器104可以是易失性的(诸如随机存取存储器(RAM))、非易失性的(诸如只读存储器(ROM)、闪存等)、或者二者的一些组合。计算设备100可以采取若干形式中的一种或多种。这样的形式包括平板计算机、个人计算机、工作站、服务器、手持设备、消费电子设备(诸如视频游戏机或数字视频录像机)或其他设备,并且可以是独立设备或者被配置为计算机网络、计算机集群、云服务基础设施或其他的一部分。
计算设备100还可以具有附加的特征或功能。例如,计算设备100还可以包括附加的存储装置。这样的存储装置可以是可移除的和/或不可移除的,并且可以包括磁盘或光盘、固态存储器或闪存存储设备,诸如可移除存储装置108和不可移除存储装置110。计算机存储介质包括以用于信息的存储的任何合适方法或技术实现的易失性和非易失性、可移除和不可移除介质,信息诸如计算机可读指令、数据结构、程序模块或其他数据。存储器104、可移除存储装置108和不可移除存储装置110均是计算机存储介质的示例。计算机存储介质包括RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多功能碟(DVD)或其他光存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、通用串行总线(USB)闪存驱动器、闪存卡或其他闪存存储设备、或者可以用于存储所需信息并可以由计算设备100访问的任何其他存储介质。因此,传播信号本身没有作为存储介质的资格。任何这样的计算机存储介质均可以是计算设备100的一部分。
计算设备100通常包括诸如USB连接、显示端口、专有连接及其他的一个或多个输入和/或输出连接,以连接到各种设备来对计算设备提供输入和输出。输入设备112可以包括诸如键盘、指点设备(例如,鼠标)、笔、语音输入设备、触摸输入设备或其他的设备。输出设备111可以包括诸如显示器、扬声器、打印机等的设备。
计算设备100通常包括允许计算设备100与其他计算机/应用115通信的一个或多个通信连接114。示例的通信连接可以包括以太网接口、无线接口、总线接口、存储区域网络接口和专有接口。通信连接可以用于将计算设备100耦合到计算机网络,计算机网络可以根据诸如拓扑、连接方法和规模之类的各种各样的特征而被分类。网络是由支持通信的通信信道互连的计算设备和可能的其他设备的集合,并且允许在互连设备间共享资源和信息。计算机网络的示例包括局域网、广域网、互联网或其他网络。
图2图示了计算机网络202中的示例遥测系统200,其可以包括诸如计算设备100之类的一个或多个计算设备。为了说明,示例遥测系统200可以与执行仪器化软件应用206a-206c的一个或多个客户端计算设备(例如,客户端设备204a-204c)通信,并且还可以与执行分析软件应用210a-210b的一个或多个订户设备(例如,订户计算设备208a-208b)通信。在一个示例中,客户端设备204a-204c和仪器化应用206a-206c通过网络202发起与遥测系统200的通信。
仪器化指的是用代码对应用进行增强,该代码生成可以用于监测或测量应用的性能和使用、诊断错误和写入跟踪信息等的数据。程序员以在系统中监测具体组件的代码指令的形式来实现仪器化。当应用包含仪器化代码时,可以使用管理工具来管理该应用,以检查应用的性能。应用可以被仪器化以用于日志记录和遥测,其通常在开发期间围绕应用的内部结构进行定位并且在应用发布给实际用户时收集数据。
遥测是自动化的远程测量和数据收集。例如,遥测数据可以表示在应用开发期间不可发现的信息,诸如顾客更喜欢哪些配置,顾客怎样使用应用中的特征,围绕错误或崩溃的情形是什么以及其他信息。遥测数据可以包括匿名软件版本信息、资源使用、存储器访问、使用中的操作系统以及其他许多示例。遥测系统200提供了工具来收集数据并将收集的数据浓缩成分析或人类可判读的报告。
在一些示例中,仪器化应用206a-206c的用户可以确定将哪些遥测信息提供给遥测系统200。例如,用户可以选择在本地保留特定的信息,诸如个人信息或敏感信息,并且允许向分析软件应用提供其他信息。用户可以选择不将这样的信息作为遥测数据上传,并且遥测系统200将不能访问个人或敏感数据。
遥测设计导致仪器化将追踪的事件或动作,并且应用通常被仪器化以追踪应用的一系列不同动作或与应用的交互。遥测仪器化由诸如应用开发人员或组件开发人员的事件作者提供,并且在某些示例中被施加到事件处理程序。在一个示例中,应用开发人员可能希望追踪应用中的几十个事件。事件定义是对具体事件的描述,并且包括在被称为模式的合同中阐明的字段列表,在该示例中模式可以提供用于声明和填充结构化数据的系统。事件包括在事件定义中描述的一组数据的实际实例化,并且该组数据被日志记录并被传输给遥测系统200。事件响应于所选择的动作或交互而被发出,并且事件的数据有效载荷或事件有效载荷描述了关于触发其创建的刺激、事件影响或二者的属性和语义。事件作者创建事件定义和仪器化代码,以填充事件并将事件传输给遥测系统200。
遥测系统200包括例如接收/格式化系统220、日志库222、处理系统224、实时系统226和事件存储228。由客户端设备204a-204c发送的遥测数据在遥测系统200处被接收,遥测系统200然后可以以低延时将事件转发给订户设备208a-208b。订户使用分析应用210a-210b可以声明过滤器以接收相关数据。遥测系统200可以被配置为利用声明和填充结构化或非结构化数据中的一个或多个模式来操作。在一个示例中,接收/格式化系统220可以是接受由客户端设备204a-204c通过互联网提供的事件的web服务。日志库222向接收/格式化系统220上传数据。接收/转发系统220可以向处理系统224提供数据,以用于丰富的分析、批处理和报告。接收/转发系统220还可以或是备选地向实时系统226提供数据,以用于实时或接近实时的索引、查询、监测和报警。例如,实时系统226可以包括从事件到系统响应的大于即时的操作期限。事件存储228可以向遥测系统200提供关于事件的参考信息。
图3图示了通过遥测系统200的多个组件来穿梭事件的事件摄取流水线300。事件有效载荷可以取决于其在流水线300内的阶段而变化。事件摄取流水线可以被实现为遥测系统200中的一个或多个计算设备100中的过程。在该示例中,在302处,诸如应用206a-206c之类的仪器化软件应用向日志库222发出应用事件格式。日志库222可以包括代码库,该代码库可以例如接受事件、对数据进行序列化以用于传送、并且将事件上传给接收/格式化系统220。日志库222可以包括用于多个平台的日志库,诸如用于Java平台的Java日志库,用于Android平台的Android日志库,以及其他遥测客户端。事件定义的第一部分模式包括使用日志库被自动填充有数据的一组字段。在一些示例中,遥测系统200的其他方面也可以填充第一组字段。事件作者可以从另一模式中选择也在流水线中被填充的第二组字段。
在304处,日志库222向接收/格式化系统220发送客户端事件格式。在一个示例中,取决于平台的不同日志库可以包括用于描述事件定义的共用文件格式和用于序列化的格式。在一个示例中,用于描述事件定义的格式可以包括用于图解化数据的序列化框架,诸如可从微软公司获得的Bond。用于有效负载序列化的文件格式可以包括诸如JavaScript对象表示法或JSON的数据交换格式。在306处,接收/格式化系统220发出所摄取的事件格式。模式的字段在摄取时可以继续被填充有数据。例如,摄取数据可以被提供给第一部分模式,以确定流水线的质量。所摄取的事件可以以JSON被格式化,并且在308处被提供给实时系统,或者在310处被提供给批处理系统,例如以允许分析应用210a-210b查询数据。
图4图示了在遥测系统200中用作模式或合同的示例事件定义400,其定义了被组成到事件定义400中的字段列表。在该示例中,事件定义包括被组成到多个模式部分中的字段,多个模式部分在事件定义400中被称为第一部分模式402和第二部分模式404。在一个示例中,第一部分模式402包括具有系统字段422的系统模式412,而第二部分字段404可以进一步包括多个部分,诸如具有域字段424的域模式414和具有自定义字段426的自定义模式416,这在下文更详细地进行描述。然而,在备选示例中,事件可以仅包括来自第一部分402的字段,并且可以可选地包括来自第二部分404的字段。在该示例中,事件定义可以可选地包括来自域模式414的字段,可选地包括来自自定义模式416的字段,或者如事件定义400中指示的包括来自域模式414和自定义模式416二者的字段。事件定义400还可以包括可能不出现在实际事件数据中的注释,诸如描述、所有权信息和字段数据类型。此外,字段可以包括默认值。
示例中的字段定义包括名称和类型。类型可以包括基本数据类型(诸如布尔型、各种整数型、浮点数、字符串)、容器(列表、向量、集合、映射)以及复杂类型。在一个示例中,可以从序列化框架中所支持的那些类型中选择类型。然而,并非序列化框架中所支持的所有复杂类型都以数据交换格式被支持。在这种情况下,序列化格式中的复杂类型可以被转换为字符串类型。
以JSON表示的事件的示例包括:
第一部分模式402包括由本地系统上存在的日志库222定义并自动填充的字段422,其中,事件在诸如在流水线300之类的流水线中被发送。在一个示例中,第一部分模式402捕获共用相关字段并且可以涉及诸如应用206a-206c之类的仪器化软件应用的系统,并且可以表示系统数据。第一部分模式402还可以捕获在流水线300中由事件摄取组件注入的信息。第一部分模式402包括通常适用于来自仪器化应用的所有事件的字段,并且可以包括诸如事件时间、事件名称和发送者的互联网协议地址之类的项。在一些示例中,除了被自动填充的值之外,第一部分模式402还可以包括日志库从调用程序获得的字段422。在一个示例中,所有事件使用相同的第一部分模式。
第一部分模式402包括通用并且被应用于流过遥测系统200的所有事件的字段422,并且包括要包括的特定字段422的选择在内的模式402的设计可以通过各种原则来引导,诸如跨各种各样的应用和平台(诸如操作系统)的一致标识符以及对应用开销的影响的考虑。第一部分模式使能关联并且可用于使用日志库222的自动仪器化。在一个示例中,第一部分模式402可以包括事件包络语义和摄取部分。
事件包络包括用于在流水线300的组件之间传输事件信息的数据有效载荷。有效载荷可以包括原始事件和所定义的一组事件部分。事件包络语义可以包括字段422,诸如模式版本、事件名称、时间(包括日期)、采样率、跟踪上传事件的顺序的序列、仪器化密钥、标志、对系统构建或硬件替换可以是弹性的设备标识符、操作系统、包括分支和构建信息的操作系统版本、应用标识符、应用版本、用户标识符、以及在一些示例中用于自定义日志库字段的属性包。
摄取部分可以在摄取时间被填充。用于摄取部分的字段可以包括事件由接收/格式化系统220接收的时间、事件被接受时由接收/格式化系统220看到的远程地址、事件认证和事件质量。
第二部分模式404包括可选的域模式414、自定义模式416或二者。第二部分模式404包括由事件作者写入的代码而不是日志库222填充的字段424、426。在一个示例中,第二部分模式404包括具有预定义字段424的域模式414,诸如由遥测系统200或其他中心化群组定义,并且事件作者不控制字段424的名称或字段424的数据类型。自定义模式416由事件作者创建,并且可以用于应用特定的且对其而言没有域字段424存在的事件的场景或方面。可以将模板应用于第二部分模式404,以支持通常跨数个事件定义的字段424、426的重复使用。在一个示例中,模板被用于域模式414。模板支持定义可以跨多个事件定义一致重复使用的一组字段,以及在一些示例中支持当多个事件定义包括不同的域字段424时这样做。
在一个示例中,域模式414与跨许多不同应用共用的特定场景或事件方面相关。例如,域模式414中的字段424可以包括日志记录错误、应用开始事件、应用结束事件、web服务API(应用程序接口)调用成功、API调用失败以及许多其他示例。各种各样的应用和事件可以定义来自域模式字段424的事件,并且因此包括类似的字段和数据。因此,可以构建一组共用的报告和分析,以消耗来自使用相同域模式414的平台上的所有应用的所有事件。事件模板类似于抽象类,其允许例如中心化群组共享若干相关事件所包括的一组字段。在一个示例中,域字段424可以在事件被定义时被延迟绑定和选择。
域模式414被一般化,以实现广泛的适用性。例如,可以存在域模式MediaUsage(媒体使用)而不是诸如播放歌曲、停止歌曲、播放视频、停止视频等的更具体的域模式,其更具体但是例如按媒体播放器使用模式。以下包括用于MediaUsage示例的域模式结构的Bond表示。在以下示例中,字段名称以骆驼拼写法(camelCasing),而结构体(用于存储多于一个的值的记录)、名称空间和事件简称以帕斯卡拼写法(PascalCasing)。类型包括字符串、32位无符号整数、和64位无符号整数。
自定义模式416由事件作者创建和定义。在一个示例中,事件作者可以确定自定义字段426的名称和数据类型。事件作者还负责在事件被实例化时填充自定义字段426。
事件的以下示例部分包括域模式414和自定义模式416:
在该示例中,Played是遥测数据,其使用了被扩展以添加自定义字段sessionDurationSec的MediaUsage模板。
在下面的示例中,事件的一部分被定义为包括域模式414但没有自定义模式416,以利用空字段声明仅引用Microsoft.Telemetry.Data<T>中的域模式:
namespace Ms.Media;
struct Played:Microsoft.Telemetry.Data<Ms.Media.MediaUsage>
{
};
在以下示例中,事件的一部分被定义为包括自定义模式416但没有域模式414。在该示例中,在用户将音量设置为最大水平时事件激发,并且事件作者将自定义模式416定义成:
在上文的示例中,事件可以在没有域模式的情况下被定义,并且可以从Base被继承以仅给予该事件自定义字段426。
虽然本文已经说明和描述了具体实施例,但是本领域的普通技术人员应该理解,在不脱离本发明的范围的情况下,各种各样的替代和/或等同的实现可以替代所示出和描述的具体实施例。本申请旨在覆盖本文所讨论的具体实施例的任何修改或变化。因此,意图是本发明仅由权利要求及其等同物来限制。

Claims (15)

1.一种操作遥测系统的方法,所述方法包括:
使用所述遥测系统的日志库,自动填充事件定义的模式中的第一组字段;以及
填充所述模式中由事件作者选择的和/或第二组字段。
2.根据权利要求1所述的方法,其中填充所述第二组字段包括来自所述遥测系统的预选字段。
3.根据权利要求2所述的方法,其中所述预选字段利用对多个应用共用的数据而被填充。
4.根据权利要求2所述的方法,其中所述预选字段包括预定义的名称和数据类型。
5.根据权利要求1所述的方法,其中填充所述第二组字段包括来自所述事件作者的自定义字段。
6.根据权利要求5所述的方法,其中所述自定义字段包括自定义名称和自定义数据类型。
7.根据权利要求1所述的方法,其中所述第一组字段利用对所有事件共用的数据而被自动填充。
8.根据权利要求7所述的方法,其中所述对所有事件共用的数据包括客户端系统数据。
9.根据权利要求1所述的方法,其中所述模式中的所述第一组字段包括事件包络语义。
10.根据权利要求1所述的方法,其中填充所述第二组字段包括来自所述遥测系统的预选字段和来自所述事件作者的自定义字段。
11.根据权利要求1所述的方法,其中事件以数据交换格式被表示。
12.一种遥测系统,包括:
包括处理器和存储器的计算设备,所述计算设备被配置为:
使用所述遥测系统的日志库,自动填充事件定义的模式中的第一组字段;以及
填充所述模式中由事件作者选择的和/或第二组字段。
13.根据权利要求12所述的遥测系统,其中所述遥测系统通过计算机网络与仪器化应用通信。
14.根据权利要求13所述的遥测系统,其中所述仪器化应用发起与所述遥测系统的通信。
15.根据权利要求13所述的遥测系统,其中所述日志库包括与所述仪器化应用的平台相对应的代码库。
CN201680059600.2A 2015-10-16 2016-10-10 遥测定义系统 Pending CN108139961A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/885,970 2015-10-16
US14/885,970 US11288245B2 (en) 2015-10-16 2015-10-16 Telemetry definition system
PCT/US2016/056232 WO2017066112A1 (en) 2015-10-16 2016-10-10 Telemetry definition system

Publications (1)

Publication Number Publication Date
CN108139961A true CN108139961A (zh) 2018-06-08

Family

ID=57208369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680059600.2A Pending CN108139961A (zh) 2015-10-16 2016-10-10 遥测定义系统

Country Status (4)

Country Link
US (1) US11288245B2 (zh)
EP (1) EP3362902A1 (zh)
CN (1) CN108139961A (zh)
WO (1) WO2017066112A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11386061B2 (en) * 2015-10-16 2022-07-12 Microsoft Technology Licensing, Llc Telemetry request system
US10929272B2 (en) 2015-10-16 2021-02-23 Microsoft Technology Licensing, Llc Telemetry system extension
WO2020068764A1 (en) 2018-09-24 2020-04-02 The Medical College Of Wisconsin, Inc. Anti-cd30 antibodies and methods of use
US11144376B2 (en) 2018-11-19 2021-10-12 Microsoft Technology Licensing, Llc Veto-based model for measuring product health
US11379577B2 (en) 2019-09-26 2022-07-05 Microsoft Technology Licensing, Llc Uniform resource locator security analysis using malice patterns
US11509667B2 (en) 2019-10-19 2022-11-22 Microsoft Technology Licensing, Llc Predictive internet resource reputation assessment
US11431751B2 (en) 2020-03-31 2022-08-30 Microsoft Technology Licensing, Llc Live forensic browsing of URLs
US11880360B2 (en) * 2021-03-23 2024-01-23 Opsera Inc. Transforming data in DevOps landscape
US11714799B1 (en) * 2021-06-30 2023-08-01 Splunk Inc. Automated testing of add-on configurations for searching event data using a late-binding schema

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003009250A1 (en) * 2001-07-19 2003-01-30 Lancer Partnership, Ltd. Pseudo real-time diagnostic and process monitoring system
CN101320350A (zh) * 2008-07-17 2008-12-10 金蝶软件(中国)有限公司 一种性能监控方法及装置
CN102664749A (zh) * 2012-04-09 2012-09-12 北京航空航天大学 一种可配置遥测数据的监控系统
CN102999418A (zh) * 2012-11-16 2013-03-27 广东欧珀移动通信有限公司 一种基于pc端的手机监测方法
CN104092575A (zh) * 2014-07-29 2014-10-08 中国联合网络通信集团有限公司 一种资源监控方法及系统
CN104598369A (zh) * 2014-12-23 2015-05-06 北京畅游天下网络技术有限公司 在移动设备中实现的软件监控方法和装置

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263268B1 (en) 1997-08-26 2001-07-17 Transcontech Corporation System and method for providing mobile automotive telemetry
US6338011B1 (en) 2000-01-11 2002-01-08 Solipsys Corporation Method and apparatus for sharing vehicle telemetry data among a plurality of users over a communications network
US6920461B2 (en) 2001-07-10 2005-07-19 Microsoft Corp. Application program interface for network software platform
US20030162523A1 (en) 2002-02-27 2003-08-28 Michael Kapolka Vehicle telemetry system and method
US9460129B2 (en) 2013-10-01 2016-10-04 Vmware, Inc. Method for tracking a schema in a schema-less database
US20040255301A1 (en) * 2003-06-13 2004-12-16 Andrzej Turski Context association schema for computer system architecture
US7984129B2 (en) 2003-07-11 2011-07-19 Computer Associates Think, Inc. System and method for high-performance profiling of application events
US20050223366A1 (en) 2004-03-30 2005-10-06 Tonic Solutions, Inc. System and methods for transaction tracing
US7970890B1 (en) 2004-07-23 2011-06-28 Oracle America Inc. Extendable telemetry service
US7557707B2 (en) * 2004-09-01 2009-07-07 Microsoft Corporation RFID enabled information systems utilizing a business application
US20060161460A1 (en) * 2004-12-15 2006-07-20 Critical Connection Inc. System and method for a graphical user interface for healthcare data
US20060206698A1 (en) 2005-03-11 2006-09-14 Microsoft Corporation Generic collection and delivery of telemetry data
US7475135B2 (en) 2005-03-31 2009-01-06 International Business Machines Corporation Systems and methods for event detection
US8001427B2 (en) 2005-05-16 2011-08-16 Texas Instruments Incorporated Method and system of indexing into trace data based on entries in a log buffer
US20070142008A1 (en) 2005-12-16 2007-06-21 Honeywell International Inc. System and method for receiving and processing telemetry
US7418453B2 (en) * 2006-06-15 2008-08-26 International Business Machines Corporation Updating a data warehouse schema based on changes in an observation model
US8601155B2 (en) 2006-08-16 2013-12-03 Oracle America, Inc. Telemetry stream performance analysis and optimization
US7720873B2 (en) * 2007-06-21 2010-05-18 International Business Machines Corporation Dynamic data discovery of a source data schema and mapping to a target data schema
US8064349B2 (en) 2007-07-06 2011-11-22 Lg Electronics Inc. Wireless local access network system management procedure and station supporting the procedure
CN101102535A (zh) 2007-08-02 2008-01-09 中国移动通信集团浙江有限公司 一种多媒体消息跟踪系统及其跟踪方法
EP2191305A4 (en) 2007-10-09 2015-04-22 Halliburton Energy Serv Inc TELEMETRY SYSTEM FOR SLICKLINE TO ENABLE REAL-TIME LOGGING
US8477046B2 (en) 2009-05-05 2013-07-02 Advanced Technologies Group, LLC Sports telemetry system for collecting performance metrics and data
US20110087767A1 (en) 2009-10-14 2011-04-14 Microsoft Corporation Computer Environment Analysis Tool
EP2534622A4 (en) 2010-02-12 2015-07-15 Mastercard International Inc DEVICE AND METHOD FOR INVOICE PRESENTATION AND PAYMENT
EP2577552A4 (en) * 2010-06-02 2014-03-12 Hewlett Packard Development Co DYNAMIC MULTIDIMENSIONAL SCHEMES USED FOR MONITORING EVENTS
US8442982B2 (en) * 2010-11-05 2013-05-14 Apple Inc. Extended database search
CN102256290B (zh) 2011-01-21 2014-04-30 珠海世纪鼎利通信科技股份有限公司 一种td-scdma无线通信网络用户终端异常数据采集方法
JP6066927B2 (ja) 2011-01-28 2017-01-25 アビニシオ テクノロジー エルエルシー データパターン情報の生成
US8660673B2 (en) 2011-03-23 2014-02-25 Electronic Entertainment Design And Research In-game contextual telemetry systems and methods
WO2012129531A1 (en) 2011-03-24 2012-09-27 M-I-K HEALTH SOLUTIONS, LLC d/b/a INVENTIVE HEALTH SOLUTIONS Automated healthcare integration system
US9055030B2 (en) 2011-07-13 2015-06-09 Comcast Cable Communications, Llc Monitoring and using telemetry data
US8726225B2 (en) 2011-08-01 2014-05-13 Vmware, Inc. Testing of a software system using instrumentation at a logging module
US20130125096A1 (en) 2011-08-31 2013-05-16 André Kruetzfeldt Systems and Methods for Dynamic Collection of Probe Call Sites
CN102685182A (zh) 2011-10-31 2012-09-19 李宗诚 全球价值链市场配置荷载的ict 技术支持设计
US9009183B2 (en) 2011-11-03 2015-04-14 Microsoft Technology Licensing, Llc Transformation of a system change set from machine-consumable form to a form that is readily consumable by a human
US8898178B2 (en) 2011-12-15 2014-11-25 Microsoft Corporation Solution monitoring system
US9038014B2 (en) 2011-12-15 2015-05-19 Microsoft Technology Licensing, Llc Intelligently recommending schemas based on user input
EP2880528A4 (en) 2012-07-31 2016-04-06 Hewlett Packard Development Co MONITORING FOR MANAGED SERVICES
US9467500B2 (en) 2012-08-09 2016-10-11 Rockwell Automation Technologies, Inc. Remote industrial monitoring using a cloud infrastructure
US20140075506A1 (en) 2012-09-13 2014-03-13 iJet Technologies, Inc. Extensible and Scalable Distributed Computing and Communication Remote Services Platform for Telemetry Collection Adaptive Data Driven Application Hosting, and Control Services
US8953600B2 (en) 2012-09-14 2015-02-10 Microsoft Corporation Telemetry data routing
US9071637B2 (en) 2012-11-14 2015-06-30 Click Security, Inc. Automated security analytics platform
US9105178B2 (en) 2012-12-03 2015-08-11 Sony Computer Entertainment Inc. Remote dynamic configuration of telemetry reporting through regular expressions
US20140298107A1 (en) 2013-03-29 2014-10-02 Microsoft Corporation Dynamic Near Real-Time Diagnostic Data Capture
US9021445B2 (en) 2013-04-20 2015-04-28 Concurix Corporation Tracer list for automatically controlling tracer behavior
US20140344269A1 (en) 2013-05-16 2014-11-20 Convida Wireless LLC Semantic Naming Model
US9405654B2 (en) 2013-06-20 2016-08-02 Microsoft Technology Licensing, Llc Monitoring mobile application performance
US9590880B2 (en) 2013-08-07 2017-03-07 Microsoft Technology Licensing, Llc Dynamic collection analysis and reporting of telemetry data
US9817851B2 (en) * 2014-01-09 2017-11-14 Business Objects Software Ltd. Dyanmic data-driven generation and modification of input schemas for data analysis
CN103795711A (zh) 2014-01-10 2014-05-14 宁波金信通讯技术有限公司 基于手机客户端的自动化测试方法及系统
US10417554B2 (en) 2014-05-22 2019-09-17 Lee J. Scheffler Methods and systems for neural and cognitive processing
US11386061B2 (en) 2015-10-16 2022-07-12 Microsoft Technology Licensing, Llc Telemetry request system
US10929272B2 (en) 2015-10-16 2021-02-23 Microsoft Technology Licensing, Llc Telemetry system extension
US20170187782A1 (en) 2015-10-16 2017-06-29 Microsoft Technology Licensing, Llc Telemetry response system
US10140170B2 (en) 2015-10-26 2018-11-27 International Business Machines Corporation Reporting errors to a data storage device
US9727623B1 (en) 2016-02-05 2017-08-08 Accenture Global Solutions Limited Integrated developer workflow for data visualization development

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003009250A1 (en) * 2001-07-19 2003-01-30 Lancer Partnership, Ltd. Pseudo real-time diagnostic and process monitoring system
CN101320350A (zh) * 2008-07-17 2008-12-10 金蝶软件(中国)有限公司 一种性能监控方法及装置
CN102664749A (zh) * 2012-04-09 2012-09-12 北京航空航天大学 一种可配置遥测数据的监控系统
CN102999418A (zh) * 2012-11-16 2013-03-27 广东欧珀移动通信有限公司 一种基于pc端的手机监测方法
CN104092575A (zh) * 2014-07-29 2014-10-08 中国联合网络通信集团有限公司 一种资源监控方法及系统
CN104598369A (zh) * 2014-12-23 2015-05-06 北京畅游天下网络技术有限公司 在移动设备中实现的软件监控方法和装置

Also Published As

Publication number Publication date
US11288245B2 (en) 2022-03-29
EP3362902A1 (en) 2018-08-22
US20170109379A1 (en) 2017-04-20
WO2017066112A1 (en) 2017-04-20

Similar Documents

Publication Publication Date Title
CN108139961A (zh) 遥测定义系统
CN111625452B (zh) 流量回放方法和系统
CN108139963A (zh) 遥测响应系统
JP2553307B2 (ja) プロセス監視方法
CN109656538A (zh) 应用程序的生成方法、装置、系统、设备和介质
US11386061B2 (en) Telemetry request system
US9697104B2 (en) End-to end tracing and logging
US11556456B2 (en) Telemetry system extension
Brandón et al. Fmone: A flexible monitoring solution at the edge
CN106294151B (zh) 日志测试方法及装置
CN102696013A (zh) 用于预测多层计算机软件系统的性能的方法和设备
CN107133160A (zh) 测试系统
CN113836014A (zh) 一种接口测试方法、装置、电子设备和存储介质
Großmann et al. SensIoT: an extensible and general Internet of Things monitoring framework
CN114884804B (zh) 基于微服务的多渠道信息隔离方法、装置和计算机设备
US11785115B2 (en) Request tracing
Figura et al. Iris: Efficient visualization, data analysis and experiment management for wireless sensor networks
JP2549251B2 (ja) ライブ・データ用の注釈記録の作成方法
Du Opaque response generation enabling automatic creation of virtual services for service virtualisation
CN109995617A (zh) 主机管理特性的自动化测试方法、装置、设备及存储介质
CN109614566A (zh) 流量来源分析方法、系统和装置
CN107885659A (zh) 对客户端的请求模拟响应的方法及装置、设备
JPH06208487A (ja) ディスプレイ方法及びディスプレイシステム
Alikhujaev Microservices In IoT-based Remote Patient Monitoring Systems: Redesign of a Monolith
CN113645082B (zh) 一种as5643网络动态仿真测试方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination