CN108139962A - 遥测系统扩展 - Google Patents

遥测系统扩展 Download PDF

Info

Publication number
CN108139962A
CN108139962A CN201680060249.9A CN201680060249A CN108139962A CN 108139962 A CN108139962 A CN 108139962A CN 201680060249 A CN201680060249 A CN 201680060249A CN 108139962 A CN108139962 A CN 108139962A
Authority
CN
China
Prior art keywords
event
field
condition
data
application
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.)
Granted
Application number
CN201680060249.9A
Other languages
English (en)
Other versions
CN108139962B (zh
Inventor
A·M·路易斯
R·C·沙哈尼
M·G·卡迪尔
W·卡扎克齐斯基
B·R·克劳福德
W·M·津特尔
G·乔伊
B·P·埃利斯
K·M-K·伊普
V·蒂托夫
M·E·拉希诺维奇
J·O·托德
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 CN108139962A publication Critical patent/CN108139962A/zh
Application granted granted Critical
Publication of CN108139962B publication Critical patent/CN108139962B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • 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
    • 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)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种操作遥测系统的方法包括:针对插桩应用的事件,使用遥测系统的日志记录库自动填充事件定义中的模式的基本字段,并且响应于事件的选定条件,使用日志记录库自动填充事件定义中的模式的条件字段。

Description

遥测系统扩展
背景技术
为了提高软件应用的质量,软件开发人员试图理解应用如何在包括客户和客户端的用户的手中执行。虽然在应用开发过程中进行实验室或开发测试(诸如调试和日志记录)对于提高质量很重要,但是单靠实验室测试很少能满足很多现代应用的需求。现代软件应用、尤其是移动应用具有高度的交互性,并且全面的用户交互难以在实验室或开发过程中模拟。此外,很多环境条件会影响用户使用应用的体验。例如,网络连接、GPS信号质量和设备硬件差别很大。一些平台API甚至可以根据设备电池剩余电量的大小来改变行为。这些不同的环境条件很难在实验室重现。因此,很多软件开发人员努力从现场收集诊断和性能跟踪数据。
然而,在现场跟踪应用性能的平台支持通常是不足的。包括移动平台在内的主要平台向开发人员提供应用崩溃日志,但是开发人员报告难以确定来自多个日志的崩溃原因。此外,这些数据(还可以包括无响应的事件和例外情况)在检测性能问题时没能提供多少帮助。分析框架旨在收集使用情况分析,诸如用户人口统计数据而不是性能数据。这些信息通常无法有效提供与应用内的特定用户活动相关的信息。
相反,寻求关于应用性能的有意义信息的开发人员将在应用中包括定制跟踪代码,这不是一件容易的事。例如,应用中的甚至一个简单用户请求都要触发多个异步调用,其中线程之间具有复杂的同步,并且标识这样的代码中的性能瓶颈需要跨越异步边界正确跟踪因果关系。这项具有挑战性的任务变得更加困难,因为跟踪开销最好保持在最低限度以避免对应用性能的影响,并且限制对稀缺资源(诸如电池和网络带宽)的消耗。
发明内容
提供发明内容部分是为了以简化的形式介绍将在以下具体实施方式部分中进一步描述的一些概念。本发明内容部分无意确定所要求保护的主题的关键特征或基本特征,也无意用于限制所要求保护的主题的范围。
描述了一种遥测系统,包括实现过程。该遥测系统可以与一个或多个插桩应用进行通信,以从现场收集有关事件的数据,并且将关联和合并的数据转发给分析应用以进行丰富的分析。遥测系统被配置为利用具有一个或多个模式部分的事件定义来操作,这些模式部分用于声明和填充来自事件的数据,该事件是事件定义的实例。事件定义可以捕获事件作者(诸如应用开发人员)希望跟踪的操作或交互。本公开还包括与遥测系统一起使用的系统、方法和计算机可读介质的各方面,其可以包括针对插桩应用的事件,使用遥测系统的日志记录库,自动地(即,显式地)填充事件定义中的模式的基本字段。可以响应于事件的选定条件,使用日志记录库来自动填充事件定义中的模式的条件字段。
事件定义可以包括被配置为包括来自事件的数据的多个模式部分。在这些示例中,事件定义包括第一部分模式,第一部分模式具有如下字段:这些字段由日志记录库自动填充而不需要来自诸如应用开发人员等事件作者的输入。例如,第一部分模式可以包括具有用于所有事件的通用数据(诸如系统数据)的基本字段的一个模式。第一部分模式还可以包括条件字段或扩展字段,这些字段也可以由日志记录库自动填充,但是要响应于特定条件。条件的示例可以包括环境条件、使用条件或两者。在一个示例中,为特定操作系统设计或迁移的应用中的事件包括所有事件的基本字段和与这个特定操作系统相关的条件或扩展字段。为另一操作系统设计或迁移的同一应用中的事件可以包括所有事件的基本字段和与该另一操作系统相关的条件字段。
在第一模式的条件字段中定义和使用公共定义使得遥测提供商和消费者能够跨多个遥测项目均使用一致的环境或使用信息。条件字段的结构化描述提供了强大的相关性和可以用于不同环境或嵌套环境中的灵活扩展集,诸如在虚拟机中执行的操作系统中执行的应用。无论遥测源自哪里,通用工具和分析应用都可以利用数据。
事件还可以包括第二部分模式,第二部分模式包括由事件作者选择的字段。例如,域部分模式包括具有广泛适用性的字段。在一个示例中,事件作者可以选择零个或多个域部分模式,但是事件作者不控制字段的名称或字段的数据类型。相反,所选择的域模式中的字段和类型是预定义的,并且日志记录库使用数据来填充这些字段。第二部分模式还可以包括具有由事件作者定义的字段和类型的定制模式,这些字段和类型可以适用于该事件但是不被包括在系统模式和域模式中。
在一个示例中,遥测系统包括大容量低时延事件和遥测平台。遥测系统可以用于驱动一个或多个客户端和服务生态系统。本公开的示例系统或过程能够将来自客户的实时的、交互式的、事件驱动的工作流程统一到云或计算机网络,并且通过全面的批量遥测将其返回给客户。在利用高度类型化的固定和灵活的数据字段充分描述数据的强大的情况下,通用模式实现了丰富的分析。所描述的系统和过程提供了应用开发人员能够以相对较低的开销快速轻松地创建新的插桩点。强大的通用模式提供了能够跨越多个平台高效地收集数据。
附图说明
包括附图以提供对实施例的进一步理解并且被并入并且构成本说明书的一部分。附图示出了实施例并且与说明书一起用于解释实施例的原理。其他实施例和实施例通过参考以下详细描述变得更好理解,这些施例的很多预期优点将容易理解。附图的要素不一定相对于彼此成比例。相同的附图标记表示相应的类似部分。
图1是示出计算设备的示例的框图。
图2是示出合并有计算设备的示例遥测系统的框图。
图3是示出图2的遥测系统的示例过程的框图。
图4是示出图2的遥测系统的示例模式的框图。
具体实施方式
在以下具体实施方式部分中参考附图,这些附图构成本文的一部分,并且附图中通过图示的方式示出了其中可以实施本发明的特定实施例。应当理解的是,可以利用其他实施例并且可以在不脱离本发明的范围的情况下进行结构或逻辑上的改变。因此,以下详细描述不应当被视为具有限制意义,并且本发明的范围由所附权利要求限定。应当理解,除非另外具体指出,本文所述的各种示例性实施例的特征可以彼此组合。
图1示出了一种示例性计算机系统,该示例性计算机系统可以在操作环境中使用并且用于托管或运行被包括在一个或多个计算机可读存储介质上的计算机应用,这些计算机可读存储介质存储计算机可执行指令,以用于控制诸如计算设备等计算机系统执行过程。计算机实现的过程的示例包括使用可以被存储在计算机存储器中的遥测模式来生成遥测数据。
示例性计算机系统包括诸如计算设备100等计算设备。在基本硬件配置中,计算设备100通常包括具有一个或多个处理单元(即,处理器102)和存储器104的处理器系统。作为示例,处理单元可以包括芯片上的两个或更多个处理核或者两个或更多个处理器芯片。在一些示例中,计算设备还可以具有一个或多个附加处理或专用处理器(未示出),诸如用于图形处理器单元上的通用计算的图形处理器,以执行从处理器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示出了示例遥测系统200,该系统可以包括计算机网络202中的一个或多个计算设备(诸如计算设备100)。为了说明,示例遥测系统200可以与执行插桩软件应用206a至206c的一个或多个客户端计算设备(例如,客户端设备204a至204c)进行通信,并且还可以与执行分析软件应用210a至210b的一个或多个订户设备(例如,订户计算设备208a至208b)进行通信。在一个示例中,客户端设备204a至204c和插桩应用206a至206c通过网络202发起与遥测系统200的通信。
插桩(instrumentation)指的是利用如下代码来扩充应用:该代码生成可以用于监测或测量应用的性能和使用、诊断错误、写入跟踪信息等的数据。程序员以监测系统中的特定组件的代码指令的形式实现插桩。当应用包含插桩代码时,可以使用管理工具来管理它,以检查应用的性能。应用可以被插桩用于日志记录和遥测,这些应用在开发过程中通常围绕该应用的内部结构进行定位并且在该应用被发布给实际用户时收集数据。
遥测是自动化的远程测量和数据收集。例如,遥测数据可以表示在应用开发期间不可发现的信息,诸如客户喜欢哪些配置,客户如何使用应用中的特征,关于错误或崩溃的情况以及其他信息。遥测数据可以包括匿名软件版本信息、资源使用情况、存储器访问、使用中的操作系统以及其他很多示例。遥测系统200提供了用于收集数据并且将收集的数据压缩成分析或人类可辨认报告的工具。插桩应用206a至206c可以包括遥测层。
在一些示例中,插桩应用206a至206c的用户可以确定将哪个遥测信息提供给遥测系统200。例如,用户可以选择本地保留特定信息,诸如个人或敏感信息,并且允许将其他信息提供给分析软件应用。用户可以选择不上传诸如遥测数据等信息,并且遥测系统200将不能访问个人或敏感数据。
遥测设计导致插桩将会跟踪的事件或动作,并且应用通常被插桩以跟踪应用的一系列不同的动作或与应用的一系列交互。遥测工具由事件作者提供,诸如应用开发人员或组件开发人员,并且在一些示例中在事件处理程序上被强加。在一个示例中,应用开发人员可能希望跟踪应用中的几十个事件。在该示例中,事件定义是对特定事件的描述,并且包括在被称为模式的合约中阐述的字段列表,上述模式可以提供用于声明和填充结构化数据的系统。事件包括事件定义中描述的一组数据的实际实例化,并且这组数据被记录并且被传输到遥测系统200。事件响应于选定动作或交互而被发出,并且事件的数据有效载荷或事件有效载荷描述了与触发事件生成的激励有关的属性和语义、事件的效果、或两者。事件作者创建事件定义和工具代码来填充事件并且将事件传输到遥测系统200。
遥测系统200包括例如接收/格式化系统220、日志记录库222、处理系统224、实时系统226和事件存储228。客户端设备204a至204c发送的遥测数据在遥测系统200处接收,该系统然后可以以低时延将事件转发到订户设备208a至208b。使用分析应用210a至210b的订户可以声明用于接收相关数据的过滤器。遥测系统200可以被配置为利用声明和填充结构化或非结构化数据的一个或多个模式来操作。在一个示例中,接收/格式化系统220可以是接受由客户端设备204a至204c通过因特网提供的事件的网络服务。日志记录库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日志记录库、以及其他遥测客户端、平台或环境。事件定义的模式中的一组字段使用日志记录库而被自动填充有结构化数据。事件作者可以选择附加模式中的另一组字段,这些字段也在流水线中被填充。
在304处,日志记录库222向接收/格式化系统220发出客户端事件格式。在一个示例中,取决于平台的不同日志记录库可以包括用于描述事件定义的公共文件格式和用于序列化的格式。在一个示例中,用于描述事件定义的格式可以包括用于模式化数据的序列化框架,诸如从Microsoft,Inc可获得的Bond。用于有效载荷的序列化的文件格式可以包括诸如JavaScript Object Notation或JSON等数据交换格式。在306处,接收/格式化系统220发出摄取的事件格式。该模式的字段可以继续被填入所摄取的数据。例如,摄取数据可以被提供给第一部分模式以确定流水线的质量。可以用JSON对摄取的事件进行格式化,并且在308处,将这些事件提供给实时系统,或者在310处,将这些事件提供给批量处理系统,例如以允许分析应用210a至210b对数据进行查询。
图4示出了示例事件定义400,该示例事件定义400在遥测系统200中用作一种定义组成事件定义400的字段列表的模式或合约。在该示例中,事件定义包括组成多个模式部分的字段,其在事件定义400中被称为第一部分模式402和第二部分模式404。在一个示例中,第一部分模式402包括具有系统字段422的系统模式412,使用日志记录库222来将系统字段422自动填充有数据。第二部分模式404还可以包括多个部分,诸如具有域字段424的域模式414和具有定制字段426的定制模式416。然而,在替代示例中,事件可以仅包括来自第一部分402的字段并且可以可选地包括来自第二部分模式404的字段。在该示例中,事件定义可以可选地包括来自域模式414的字段,可选地包括来定制模式416的或如事件定义400中所指示的字段、来自域模式414和定制模式416的字段。事件定义400还可以包括可能不出现在实际事件数据中的注释,诸如描述、所有权信息和字段数据类型。
示例中的字段定义包括名称和类型。类型可以包括基本数据类型(例如,布尔型、各种整数类型、浮点数、字符串)、容器(列表、向量、集合、映射)以及复杂类型。在一个示例中,类型可以从序列化框架中支持的那些类型中选择。然而,在数据交换格式中,并非支持在序列化框架中支持的所有复杂类型。在这种情况下,序列化格式的复杂类型可以转换为字符串类型。
以JSON表示的事件的示例包括:
第一部分模式402包括由本地系统上存在的日志记录库222定义并且自动填充的字段422,其中事件在流水线中被发送,诸如在流水线300中。在一个示例中,第一部分模式402捕获公共相关字段并且可以与插桩的软件应用的系统、诸如应用206a至206c的系统相关,并且可以表示系统数据。第一部分模式402还可以捕获由流水线300中的事件摄取部件注入的信息。在一些示例中,除了自动填充的值之外,第一部分模式402还可以包括日志记录库从调用者获取的字段422。第一部分模式实现关联并且可用于使用日志记录库222的自动插桩。
在一个示例中,第一部分模式402可以包括事件包络语义。事件包络包括用于在流水线300的组件之间传输事件信息的数据有效载荷。该有效载荷可以包括原始事件和所定义的一组事件部分。事件包络语义可以包括字段422,诸如模式版本、事件名称、时间(包括日期)、采样率、跟踪上传事件的顺序的序列、插桩密钥、标志、可以对系统构建或硬件替换有弹性的设备标识符、操作系统、包括分支和构建信息的操作系统版本、应用标识符、应用版本和用户标识符。
第一部分模式402中的字段422包括基本字段432并且可以包括条件字段442或扩展字段。基本字段432通常对于来自插桩应用的所有事件是通用的,并且可以包括诸如事件时间和事件名称等项目。包括要包括的特定字段422的选择在内的模式402的设计可以通过各种原理来指导,诸如跨各种应用和平台(诸如操作系统)的一致标识符、以及考虑到对应用开销的影响而采取的谨慎措施。在一个示例中,所有事件使用相同的基本字段422。
条件字段442或扩展字段可以使用类似于基本字段432的日志记录库来填充,但是要响应于事件的选定条件而被自动或显式填充。例如,可以在摄取部分中填充条件字段,诸如与发送者的Internet协议相关的字段以及日志记录库。摄取部分可以在摄取时被填充。摄取部分的列可以包括接收/格式化系统220接收到事件的时间、接收/格式化系统220在事件被接受时看到的远程地址、事件认证和事件质量。
条件字段442或扩展被用于描述与设备、操作系统、应用、用户、云环境以及应用环境的其他特定方面相关的数据。例如,一组条件字段442可以与特定平台相关,被包括在该平台上发生的事件中。条件字段442使得遥测提供者和消费者能够跨遥测项目均使用一致的环境信息。除了由日志记录库自动填充的基本字段432之外,事件还可以包括零个或多个自动填充的条件字段442。
条件字段422可以是静态确定的或动态确定的。静态确定的条件字段422针对插桩应用的给定环境子集的所有应用事件均被填充。例如,插桩应用的所有示例可以包括一组基本字段432。针对特定平台(诸如从Microsoft可获得的以商品名Azure售出的操作系统)设计或迁移的应用的示例可以包括一组基本字段432以及与Azure环境的特征相关的条件字段422。针对从Microsoft可获得的以商品名Windows售出的操作系统设计或迁移的应用的示例可以包括一组基本字段以及与Windows环境的特征相关的条件字段442。静态确定的条件字段的示例可以包括基于特定设备、平台、操作系统、云环境或遥测客户端的字段。在这方面,插桩应用可以包括基本字段和在与应用的环境考虑相关的应用设计时确定的条件字段。模式402可以包括零个、一个或多个静态确定的条件字段。
动态确定的条件字段被填充用于插桩应用的给定使用子集的所有事件。例如,插桩的移动应用可以包括对所有事件通用的一组基本字段432。在应用被连接到Wi-Fi通信技术时发生的事件可以触发由日志记录库自动填充的基本字段以及与Wi-Fi使用相关的一组条件字段。在应用连接到LTE通信技术时发生的事件可以触发由日志记录库自动填充的基本字段以及与LTE使用相关的一组条件字段的创建。此外,被设计为主要用于脱机的应用(诸如字处理程序)可以包括针对所有事件的一组基本字段以及针对在应用被连接到网络时发生的事件而自动填充的一组条件字段。其他示例是可以预期的。
第二部分模式404包括可选的域模式414、定制模式416或两者。第二部分模式404包括由事件作者写入的代码而不是日志记录库222填充的字段424、426。在一个示例中,第二部分模式404包括域模式414,该域模式414具有诸如由遥测系统200或其他集中式群组预定义的字段424,并且事件作者不控制字段424的名称或字段424的数据类型。定制模式416由事件作者创建并且可以用于不存在域字段424的应用特定的事件的情景或方面。可以将模板应用于第二部分模式404,以支持通常跨多个事件定义的字段424、426的重用。模板支持定义跨多个事件定义均可以一致地重用的一组字段,并且这些字段在一些示例中当多个事件定义包括不同的域字段424时也可一致地重用。
在一个示例中,域模式414与跨很多不同的应用而共同的事件的特定场景或方面相关。例如,域模式414中的字段424可以包括日志记录错误、应用开始事件、应用结束事件、网络服务API(应用接口)调用成功、API调用失败以及很多其他示例。各种各样的应用和事件可以定义来自域模式字段424的事件,并且因此包括类似的字段和数据。因此,可以构建一组通用报告和分析,用以消耗来自使用相同域模式414的平台上的所有应用的所有事件。事件模板类似于如下的抽象类:这些抽象类允许例如集中式群组共享几个相关事件所包括的一组字段。在一个示例中,当事件被定义时,域字段424可以被延迟绑定和选择。域模式414被通用化以实现广泛的适用性。例如,可以存在域模式MediaUsage,而不是更具体的域模式,诸如播放歌曲、停止歌曲、播放视频、停止视频等,这些模式更具体但是使用每个媒体播放器的模式。
定制模式416由事件作者创建和定义。在一个示例中,事件作者可以确定定制字段426的名称和数据类型。事件作者还负责在事件被实例化时填充定制字段426。
虽然本文中已经说明和描述了具体实施例,但是本领域普通技术人员应当理解,在不脱离本发明的范围的情况下,各种替代和/或等同的实现可以替代所示出和描述的具体实施例。本申请旨在覆盖本文中讨论的具体实施例的任何修改或变化。因此,意图在于本发明仅由权利要求及其等同物来限制。

Claims (15)

1.一种操作遥测系统的方法,所述方法包括:
针对插桩应用的事件,使用所述遥测系统的日志记录库自动填充事件定义中的模式的基本字段;以及
响应于所述事件的选定条件,使用所述日志记录库自动填充所述事件定义中的所述模式的条件字段。
2.根据权利要求1所述的方法,其中所述基本字段自动填充有所述插桩应用的所有事件中的数据。
3.根据权利要求2所述的方法,其中所有事件共有的所述数据包括客户端系统数据。
4.根据权利要求1所述的方法,其中所述条件字段自动填充有与应用环境条件相关的数据。
5.根据权利要求4所述的方法,其中所述应用环境条件包括应用平台、操作系统或云环境。
6.根据权利要求4所述的方法,其中所述条件字段填充有所述应用环境条件的所有事件中的数据。
7.根据权利要求1所述的方法,其中所述条件字段自动填充有与应用使用条件相关的数据。
8.根据权利要求1所述的方法,包括填充由事件作者选择的第二模式中的字段。
9.根据权利要求8所述的方法,其中填充第二组字段包括来自所述遥测系统的预先选择的字段。
10.根据权利要求8所述的方法,其中填充第二组字段包括来自所述事件作者的定制字段。
11.根据权利要求8所述的方法,其中所述模式中的第一组字段包括事件包络语义和摄取部分。
12.根据权利要求8所述的方法,其中所述条件字段中的字段自动填充有与应用环境条件相关的数据。
13.一种遥测系统,包括:
包括处理器和存储器的计算设备,被配置为:
针对插桩应用的事件,使用所述遥测系统的日志记录库自动填充事件定义中的模式的基本字段;以及
响应于所述事件的选定条件,使用所述日志记录库自动填充所述事件定义中的所述模式的条件字段。
14.根据权利要求13所述的遥测系统,其中所述基本字段自动填充有所述插桩应用的所有事件中的数据。
15.根据权利要求13所述的遥测系统,其中所述条件字段自动填充有与应用环境条件相关的数据。
CN201680060249.9A 2015-10-16 2016-10-10 遥测系统扩展 Active CN108139962B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/885,969 2015-10-16
US14/885,969 US10929272B2 (en) 2015-10-16 2015-10-16 Telemetry system extension
PCT/US2016/056226 WO2017066111A1 (en) 2015-10-16 2016-10-10 Telemetry system extension

Publications (2)

Publication Number Publication Date
CN108139962A true CN108139962A (zh) 2018-06-08
CN108139962B CN108139962B (zh) 2021-08-27

Family

ID=57206412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680060249.9A Active CN108139962B (zh) 2015-10-16 2016-10-10 遥测系统扩展

Country Status (4)

Country Link
US (2) US10929272B2 (zh)
EP (1) EP3362900B1 (zh)
CN (1) CN108139962B (zh)
WO (1) WO2017066111A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288245B2 (en) 2015-10-16 2022-03-29 Microsoft Technology Licensing, Llc Telemetry definition system
US11386061B2 (en) * 2015-10-16 2022-07-12 Microsoft Technology Licensing, Llc Telemetry request system
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
US11397656B2 (en) 2019-11-04 2022-07-26 Microsoft Technology Licensing, Llc Telemetry generation for in-field hardware testing
US11431751B2 (en) 2020-03-31 2022-08-30 Microsoft Technology Licensing, Llc Live forensic browsing of URLs

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070006174A1 (en) * 2005-05-16 2007-01-04 Texas Instruments Incorporated Method and system of indexing into trace data based on entries in a log buffer
CN101102535A (zh) * 2007-08-02 2008-01-09 中国移动通信集团浙江有限公司 一种多媒体消息跟踪系统及其跟踪方法
US20110087767A1 (en) * 2009-10-14 2011-04-14 Microsoft Corporation Computer Environment Analysis Tool
US20130036404A1 (en) * 2011-08-01 2013-02-07 Vmware, Inc. Testing of a software system using instrumentation at a logging module
CN103348598A (zh) * 2011-01-28 2013-10-09 起元科技有限公司 生成数据模式信息
US20140317454A1 (en) * 2013-04-20 2014-10-23 Concurix Corporation Tracer List for Automatically Controlling Tracer Behavior

Family Cites Families (63)

* 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
US6449618B1 (en) 1999-03-25 2002-09-10 Lucent Technologies Inc. Real-time event processing system with subscription model
US6393423B1 (en) 1999-04-08 2002-05-21 James Francis Goedken Apparatus and methods for electronic information exchange
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
US6922685B2 (en) 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US6920461B2 (en) 2001-07-10 2005-07-19 Microsoft Corp. Application program interface for network software platform
US6788218B2 (en) 2001-07-19 2004-09-07 Lancer Partnership, Ltd. Pseudo real-time diagnostic and process monitoring system
US20030162523A1 (en) * 2002-02-27 2003-08-28 Michael Kapolka Vehicle telemetry system and method
US7093013B1 (en) * 2002-06-19 2006-08-15 Alcatel High availability system for network elements
US6972677B2 (en) 2002-08-27 2005-12-06 Coulthard John J Monitoring system
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
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
WO2009048459A1 (en) * 2007-10-09 2009-04-16 Halliburton Energy Services Telemetry system for slickline enabling real time logging
CN101320350B (zh) 2008-07-17 2010-07-14 金蝶软件(中国)有限公司 一种性能监控方法及装置
US8972787B2 (en) * 2009-03-31 2015-03-03 Microsoft Technology Licensing, Llc Dynamic collection of instrumentation data
US8477046B2 (en) * 2009-05-05 2013-07-02 Advanced Technologies Group, LLC Sports telemetry system for collecting performance metrics and data
WO2011100529A1 (en) * 2010-02-12 2011-08-18 Mastercard International Incorporated Apparatus and method for bill presentment 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无线通信网络用户终端异常数据采集方法
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
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
CN102664749B (zh) 2012-04-09 2014-08-13 北京航空航天大学 一种可配置遥测数据的监控系统
CN104508628A (zh) 2012-07-31 2015-04-08 惠普发展公司,有限责任合伙企业 针对受管理的服务的监控
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
CN102999418B (zh) 2012-11-16 2016-03-02 广东欧珀移动通信有限公司 一种基于pc端的手机监测方法
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
WO2014186713A2 (en) 2013-05-16 2014-11-20 Convida Wireless, Llc Semantic naming model
WO2014190209A1 (en) * 2013-05-22 2014-11-27 Alok Pareek Apparatus and method for pipelined event processing in a distributed environment
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
CN104092575A (zh) 2014-07-29 2014-10-08 中国联合网络通信集团有限公司 一种资源监控方法及系统
CN104598369B (zh) 2014-12-23 2019-06-07 北京畅游天下网络技术有限公司 在移动设备中实现的软件监控方法和装置
US20170187782A1 (en) 2015-10-16 2017-06-29 Microsoft Technology Licensing, Llc Telemetry response system
US11386061B2 (en) 2015-10-16 2022-07-12 Microsoft Technology Licensing, Llc Telemetry request system
US11288245B2 (en) 2015-10-16 2022-03-29 Microsoft Technology Licensing, Llc Telemetry definition 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
US20070006174A1 (en) * 2005-05-16 2007-01-04 Texas Instruments Incorporated Method and system of indexing into trace data based on entries in a log buffer
CN101102535A (zh) * 2007-08-02 2008-01-09 中国移动通信集团浙江有限公司 一种多媒体消息跟踪系统及其跟踪方法
US20110087767A1 (en) * 2009-10-14 2011-04-14 Microsoft Corporation Computer Environment Analysis Tool
CN103348598A (zh) * 2011-01-28 2013-10-09 起元科技有限公司 生成数据模式信息
US20130036404A1 (en) * 2011-08-01 2013-02-07 Vmware, Inc. Testing of a software system using instrumentation at a logging module
US20140317454A1 (en) * 2013-04-20 2014-10-23 Concurix Corporation Tracer List for Automatically Controlling Tracer Behavior

Also Published As

Publication number Publication date
WO2017066111A1 (en) 2017-04-20
CN108139962B (zh) 2021-08-27
EP3362900A1 (en) 2018-08-22
US20210173761A1 (en) 2021-06-10
US10929272B2 (en) 2021-02-23
EP3362900B1 (en) 2021-05-05
US20170109259A1 (en) 2017-04-20
US11556456B2 (en) 2023-01-17

Similar Documents

Publication Publication Date Title
CN108139962A (zh) 遥测系统扩展
CN108139961A (zh) 遥测定义系统
JP2553307B2 (ja) プロセス監視方法
CN106980669B (zh) 一种数据的存储、获取方法及装置
CN108139963A (zh) 遥测响应系统
JP5404986B2 (ja) データベースのトレースをプログラムによって検索しおよび再生するためのapi
CN109302522A (zh) 测试方法、装置以及计算机系统和介质
CN109643255A (zh) 在云系统中自动检测分布式并发错误
US20120136644A1 (en) Predicting system performance and capacity using software module performance statistics
CN109460365B (zh) 一种系统性能测试方法、装置、设备及存储介质
CN113672222B (zh) 一种应用程序接口管理装置及其构建方法
CN117648106A (zh) 一种孪生模型更新方法、装置、电子设备及存储介质
CN113867700B (zh) 模型构建方法、展示平台、服务器及存储介质
CN109074411A (zh) 用于评估电子部件的系统和方法
US20220342802A1 (en) Automated testing for metadata-driven custom applications
US9990274B2 (en) Testing integrated business systems
JP2549251B2 (ja) ライブ・データ用の注釈記録の作成方法
US20190235865A1 (en) Solving constraint satisfaction problems comprising vectors of unknown size
CN104360819B (zh) 数据写入方法及装置
CN109614566A (zh) 流量来源分析方法、系统和装置
CN107885659A (zh) 对客户端的请求模拟响应的方法及装置、设备
JPH06208487A (ja) ディスプレイ方法及びディスプレイシステム
Stacey et al. Extending Two-level Information Modeling to the Internet of Things
CN107888696A (zh) 一种存储实验室设备信息获取方法、系统及相关装置
Mitrovic Domain Specific Language (DSL) visualisation for Big Data Pipelines

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
GR01 Patent grant
GR01 Patent grant