数字计算机系统中的任务特定的记录的制作方法

未命名 09-29 阅读:88 评论:0


1.本发明涉及数字计算机系统领域,更具体地,涉及用于在计算机系统中记录任务的方法。


背景技术:

2.在计算机系统上执行的程序可能引起计算机系统的稳定性的问题和/或包含执行错误。日志文件中的日志消息可用于研究这些错误和问题。然而,日志消息在体积和复杂性方面已经增加,使得它们的处理成为挑战性的任务。


技术实现要素:

3.不同的实施例提供了如独立权利要求的主题所描述的方法、计算机系统和计算机程序产品。在从属权利要求中描述了有利的实施例。本发明的实施例如果不相互排斥,则可以彼此自由地组合。
4.在一个方面,本发明涉及一种用于在计算机系统中记录任务的计算机实现的方法,包括:
5.在计算机系统处执行至少一个任务(被命名为至少一个测试任务);
6.从至少一个任务的执行日志输出中确定至少一个任务的日志记录的元数据集合和日志级别集合;(被命名为确定步骤);
7.执行另一任务;以及
8.根据所确定的元数据集合和相关联的日志级别集合,记录另一任务的执行输出。
9.在另一个方面,本发明涉及一种包括计算机可读存储介质的计算机程序产品,该计算机可读存储介质具有随其包含的计算机可读程序代码,该计算机可读程序代码被配置为实现根据前述各实施例的方法的所有步骤。
10.在另一个方面中,本发明涉及一种计算机系统,其被配置用于:在计算机系统处执行至少一个任务;从至少一个任务的执行日志输出中确定至少一个任务的日志记录的元数据集合和日志级别集合;执行另一任务;根据所确定的元数据集合和相关联的日志级别集合,记录另一任务的执行输出。
11.在根据本发明的一个方面,一种用于在计算机系统中记录任务的计算机实现的方法包括:在计算机系统处执行至少一个任务;从至少一个任务的执行日志输出中确定至少一个任务的日志记录的日志元数据集合和日志级别集合;执行另一任务;以及根据所确定的日志元数据集合和相关联的日志水平集合,记录另一任务的执行输出。
12.在相关的方面,日志记录的日志元数据包括一个或多个记录属性的值,记录属性包括从以下的组中选择的属性:日志记录源自的任务的类型,日志记录源自的计算机系统的组件,以及日志记录的类型。
13.在相关的方面,记录执行输出包括:存储日志记录,该日志记录的日志元数据和日志级别匹配日志元数据集合中的特定日志元数据和相关联的日志级别。
14.在相关的方面,该方法还包括:确定待存储的日志记录的日志元数据与所确定的日志元数据集合之间的相似性;以及将最相似的日志元数据的日志级别与待存储的日志记录的日志级别进行比较,并基于比较结果,执行记录的存储。
15.在相关的方面,确定包括:创建并存储用于至少一个任务的至少一个简档,该简档包括每日志记录的条目,其中,条目包括日志记录的日志元数据和日志级别。
16.在相关的方面,该方法还包括:
17.激活至少一个简档;以及
18.其中,记录执行输出包括:确定一个或多个先前存储的简档是否是活动的,以及响应于确定一个或多个存储的简档是活动的,基于活动的简档来执行记录执行输出。
19.在相关的方面,记录执行输出包括:
20.接收创建另一任务的日志记录的请求;以及
21.检查日志记录是否满足活动的简档中的任一者;以及在成功时,存储日志记录。
22.在相关的方面,检查包括:执行将日志记录的日志元数据和活动的简档的日志元数据组合的逻辑表达式。
23.在相关的方面,执行确定,直到满足停止条件为止,其中,停止条件是以下中的任何一者:基于时间的停止条件,所接收的显式停止,空间驱动的停止条件,以及任务完成。
24.在相关的方面,执行确定,直到满足停止条件,该方法还包括:
25.在确定步骤期间,在内存中执行简档的中间存储;以及
26.在满足停止条件之后,持续存储简档。
27.在相关的方面,在计算机系统的预热阶段结束时自动执行确定,并且其中,预热阶段是预定义的时间段或者用于达到某个代码点的时间段。
28.在相关的方面,在部署计算机系统之前,在测试运行中执行确定;或者在已部署了计算机系统之后,响应于用户的需求而执行确定。
29.在相关的方面,该方法还包括:
30.创建用于计算机系统的后台任务的另一个简档,称为后台简档;以及
31.从至少一个简档中减去后台简档的条目,其中,基于减去后的简档来执行记录执行输出。
32.在相关的方面,该方法包括:
33.创建用于计算机系统的其他类型的任务的其他简档;
34.接收执行包括任务的工作负载的请求,该任务是所述类型中的两种或更多种类型的组合;
35.将与所述两种或更多种类型相关联的简档进行组合,从而拒绝重复条目;
36.执行所接收的任务;以及
37.基于所组合的简档,记录所接收的任务的执行输出。
38.在相关的方面,该方法还包括:通过应用一组逻辑操作来组合简档。
39.在相关的方面,响应于在另一任务的初始执行中的执行错误,执行另一任务的执行和记录以用于调试另一任务。
40.在相关的方面,该方法还包括:经由应用编程接口接收调试另一任务的请求;以及响应于接收到请求,执行另一任务的执行和记录。
41.在相关的方面,在至少一个任务和另一任务的编译源代码已经被部署到计算机系统之后,在运行时执行确定步骤。
42.在相关的方面,响应于确定源代码已改变,维持至少一个简档以用于记录其他任务。
43.在根据本发明的另一个方面,一种包括计算机的计算机程序产品,包括计算机可读存储介质,该计算机可读存储介质具有随其包含的计算机可读程序代码。计算机可读程序代码可由计算机执行以:在计算机系统处执行至少一个任务;从至少一个任务的执行日志输出中确定至少一个任务的日志记录的日志元数据集合和日志级别集合;执行另一任务;以及根据所确定的日志元数据集合和相关联的日志水平集合,记录另一任务的执行输出。
44.根据本发明的另一个方面,一种系统包括:
45.计算机系统,其包括计算机处理器、计算机可读存储介质、以及存储在计算机可读存储介质上并且可由处理器执行的程序指令,以使计算机系统:
46.在计算机系统处执行至少一个任务;从至少一个任务的执行日志输出中确定至少一个任务的日志记录的日志元数据集合和日志级别集合;执行另一任务;以及根据所确定的日志元数据集合和相关联的日志级别集合,记录另一任务的执行输出。
附图说明
47.以下参考附图仅以示例的方式更详细地解释本发明的实施例,在附图中:
48.图1描绘根据本主题的示例的计算机系统。
49.图2为根据本主题的示例的用于在计算机系统中记录任务的方法的流程图。
50.图3是根据本主题的示例的用于在计算机系统中记录任务的方法的流程图。
51.图4是根据本主题的示例的用于记录日志简档的方法的流程图。
52.图5是根据本主题的示例的用于记录日志元数据和相关联的日志级别的方法的流程图。
53.图6表示适合于实现本主题所涉及的一个或多个方法步骤的计算机化系统。
具体实施方式
54.本发明的各种实施例的描述将被呈现以用于说明的目的,但并不旨在是穷尽的或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域普通技术人员将是显而易见的。这里所使用的术语被选择以最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解本文所公开的实施例。
55.计算机系统可以被配置成执行工作负载。工作负载可以包括一个或多个任务。至少一个测试任务可以具有工作负载。任务可以例如是程序。任务可以实施用户想要执行的动作或一系列动作。术语“用户”可以是指实体,例如,个人、计算机、或在计算机上执行的应用。任务可以具有类型(任务类型)。任务类型可以是例如用户任务、系统任务等。例如,任务可以是用于查询表的查询任务或者是用于在数据库中加载表的加载任务。任务的执行可涉及或需要计算机系统的能够实现和执行任务的组件。组件可以例如是计算机系统的软件
和/或硬件组件。例如,用于能够实现查询的执行的计算机系统的组件可以包括用于存储文件的磁盘、查询优化器、事务记录器等。
56.组件可产生日志记录,该日志记录可记录计算机系统中的事件、活动和事务。例如,具有日志级别debug(调试)的日志记录可源于包p中的类c的方法m。日志记录可包括日志消息和日志元数据。日志记录可被存储为例如日志文件内的条目。例如,日志文件的每个条目可包括表示日志消息和日志元数据的属性的值。日志文件内的信息可由支持计算机系统的人员使用以诊断计算机系统内的硬件和软件问题。
57.组件的记录可使用日志级别来被配置有不同的冗长性,以减少所生成的日志量和用于生成日志记录的性能开销。日志记录的日志级别可指示日志记录的日志消息中的信息的严重性。严重性可以例如指示对运行的程序的影响程度。严重性可以是以下中的一项:提供可能重要的关于在系统中已经发生的事物的指导和反馈的信息性消息;警告消息可引起对异常情况的关注,其中该情况可能不是错误,但是如果没有解决,则可能引起问题;以及错误消息可指示由于用户或系统错误而不能完成动作。例如,可以根据日志级别的严重性来对日志级别进行排序,例如,表示错误消息的日志级别可以是最高级别,并且表示调试消息的日志级别可以是最低级别。
58.本主题可以是有利的,因为它可以根据正在执行的任务来改进记录。确定步骤可以提供指示日志元数据和相关联的日志级别的日志设置。日志设置可用于减小日志体积。例如,对于正在执行的给定任务,可以仅存储给定任务所涉及的并且由所确定的日志设置指示的组件的日志记录。这实际上可以是有利的,因为对于特定的客户驱动工作负载,可以仅涉及计算机系统的所有组件的子集。
59.本主题可以提供一种安全的记录方法;它可以隐藏日志设置以避免组件结构被暴露给外部用户。本主题可以允许用定制的工作负载特定简档来自动校准记录器,而无需关于系统架构或操作的内部知识。例如,普通用户(客户或者甚至技术支持工程师)可缺乏特定任务类型涉及哪些组件的具体知识。用户知道的全部是被执行并且导致问题的工作负载。本主题可以提供使用可由用户控制的该输入以便导出日志设置的接口,例如应用编程接口(api)。因此,日志设置可容易地改变,而不影响用户可能知道关于计算机系统的内部的事物。
60.根据一个实施例,日志记录的日志元数据包括一个或多个日志属性的值。日志属性包括以下的任意一项:日志记录源自的任务的类型,日志记录源自的计算机系统的组件,以及日志记录的类型。日志记录的类型可以例如指示它是正常消息还是异常。例如,对于每个日志记录,可提供(日志元数据,日志级别)对。示例日志元数据可包括:任务类型=表查询,id=p.c.m。所确定的日志元数据集合可以具有或可以不具有相同的日志属性。在一个示例中,日志记录r1的日志元数据可包括任务类型的值和组件id的值,而另一个日志记录r2的日志元数据可包括任务类型的值、组件id的值和日志记录的类型的值。这可以是有利的,因为一些日志记录可以不具有用于所有记录属性的值。在另一个实例中,可以为所有日志记录预定义一组记录属性,其中,在针对日志记录无法评估该组的记录属性的情况下,虚拟值(dummy value)可被指派给该记录属性。这可以是有利的,因为它可实现日志元数据集合的一致处理。
61.根据一个实施例,记录执行输出包括:存储其日志元数据和日志级别分别匹配日
志元数据集合中的特定日志元数据和相关联的日志级别的每个日志记录。在一个示例中,如果日志记录的日志元数据包括特定日志元数据的日志属性,并且此外,该日志记录的日志级别与和所述特定日志元数据相关联的日志级别相同,则可存储该日志记录。在另一个示例中,如果日志记录的日志元数据包括特定日志元数据的日志属性,并且此外,该日志记录的日志级别等于或高于与所述特定日志元数据相关联的日志级别,则可存储该日志记录。本实施例可以通过匹配来提供准确可控的记录过程。
62.根据一个实施例,该方法还包括:确定待存储的日志记录的日志元数据与所确定的日志元数据集合之间的相似性;响应于使用匹配规则确定待存储的日志记录的日志元数据与日志元数据集合中的一个日志元数据匹配,将该一个日志元数据的日志级别与待存储的日志记录的日志级别相比较,并且基于比较结果,执行日志记录的存储。
63.可以通过将待存储的日志记录的日志元数据与所确定的日志元数据集合中的每个日志元数据进行比较来执行待存储的日志记录的日志元数据与所确定的日志元数据集合之间的相似性。例如,可以通过单独比较两个所比较的日志元数据的记录属性的值,并对于记录属性中的每个记录属性atti(i=1,..n,n是记录属性的数量)确定指示属性atti的值的比较结果的个体相似性得分来执行比较。相似性得分可被组合以用于确定(总体)相似性得分s
meta
,该得分指示两个所比较的日志元数据之间的相似性。个体相似性得分的组合可以例如是个体相似性得分之和,的组合可以例如是个体相似性得分之和,在另一个示例中,个体相似性得分的组合可以是使用被分配给记录属性的权重wi的个体相似性得分的加权和,的个体相似性得分的加权和,例如,任务类型可以具有比组件id等更高的权重。加权和可以是有利的,因为它可以使得能够在执行匹配时排除一些记录属性,例如,匹配规则可以指示仅使用任务类型属性来执行匹配。与其他属性相比,加权和还可以使得能够更加强调记录属性。匹配规则可以例如要求得分s
meta
高于预定义阈值。
64.匹配规则可指示日志记录的个体记录属性和预定日志元数据的个体记录属性可以如何被匹配以提供个体相似性得分。下面的示例描述用于表示发起日志记录的组件的记录属性的匹配。代码内部的日志请求的源可以是请求元数据的一部分。例如,具有级别debug的日志请求可以源于包p中的类c的方法m。在这种情况下,发起日志记录的组件可以被定义为子组件p、c和m的层级,并且它的组件id可以是p.c.m。匹配规则可适配于表示组件id的记录属性,以便实现不确定性半径。例如,为了实现不确定性半径,代替具有组件id(p.c.m)的精确匹配,可以例如通过允许来自该类c的任何方法(a)(即,具有从p.c开始的组件id的任何日志元数据可以是匹配)或者通过允许该数据包p内的任何类别(b)来拓宽匹配规则。因此,如果例如通过对方法重命名(a)或对类重命名(b)来重构类,则简档仍然匹配请求。更多示例的不确定性准则也可以通过组合若干元数据特性来定义。
65.在另一个实例中,可通过使用机器学习模型来执行待存储的日志记录的日志元数据与所确定的日志元数据集合之间的相似性,其中机器学习模型可将待存储的日志记录的日志元数据分类为可存储或不可存储。机器学习模型可以例如被训练成使用由确定步骤获得的日志元数据集合和日志级别集合来执行分类。
66.根据一个实施例,确定步骤包括:创建并存储用于至少一个任务的至少一个简档。至少一个简档中的每个简档包括相关联的任务的日志元数据和日志级别。例如,对于每个
所执行的任务类型,可以存储和创建简档。在这种情况下,简档可以被标记或标志以指示与简档相关联的任务类型。可替代地,任务类型可以是简档中的记录属性之一。在另一个示例中,对于每个所执行的任务,被创建并存储简档。在另一个示例中,可以对所有所执行的任务创建并存储单个简档。因此,确定步骤可以使得能够进行简档记录。简档可以被实现为从日志元数据(诸如,执行任务的服务/组件的任务类型和标识符)到日志级别的映射。简档可以是例如xml文档的形式。
67.使用简档可以是有利的,因为它可以简化对给定任务类型所需的日志级别的访问。此外,可以显著地细化这种日志设置的粒度。这是因为,可以基于代码来自动配置简档,其中,与日志设置的手动定义相比,代码可以使用更加细粒度的标识符。因此,可以减少日志开销以及将由系统生成的日志记录的数量,这也可以减少用于在日志的帮助下分析问题的人工分析努力。
68.根据一个实施例,该方法还包括:激活至少一个简档,其中记录执行输出包括:确定一个或多个所存储的简档是否是活动的,以及响应于确定一个或多个简档是活动的,基于活动的简档来执行记录执行输出。
69.例如,根据本主题,可以针对不同的任务类型创建若干简档。在记录给定任务的执行输出之前,可以检查所存储的简档是否是活动的,并且可以根据活动的简档来执行记录。例如,如果没有简档是活动的,则可以无条件地执行记录,以使得可以存储每个日志记录。
70.根据一个实施例,记录执行输出包括:接收创建另一任务的日志记录的请求,检查日志记录是否满足任何活动的简档,以及在成功时,存储日志记录。例如,对于要记录的每个日志记录,可以检查生成日志记录的组件、日志记录的内容、以及日志记录的任务是否匹配活动的简档中的与所述任务类型相关联的条目的内容。例如,日志请求可以是以下的调用“logger.info(“hello”)”。在执行时,,该调用例如可生成如下的格式化日志记录:《timestamp(时间戳)》《component(组件)》《task-id(任务id)》《task-type(任务类造型)》《source-file-location(源文件位置)》info:“hello”。本方法可以例如在执行之前处理日志请求,以导出与日志请求的日志记录相关联的日志元数据,诸如component、task-id等以及日志级别“info”。该所导出的元数据和日志级别可以与简档的内容进行比较,以决定是存储还是不存储调用的日志记录。
71.根据一个实施例,检查包括:执行将日志记录的日志元数据和活动的简档的日志元数据组合的逻辑表达式。例如,可检查所有可用简档及其任何组合(例如,经由逻辑表达式组合的)以用于与日志记录匹配。这可以实现简化记录过程的简档操纵。
72.根据一个实施例,执行确定步骤,直到满足停止条件为止,其中,停止条件是以下中的任何一项:基于时间的停止条件,所接收到的显式停止,空间驱动的停止条件,以及任务完成。例如,响应于开始记录触发条件,可以记录在系统运行时产生的所有日志记录的元数据,直到满足停止条件为止。
73.根据一个实施例,该方法还包括:在确定步骤期间,在内存中执行简档的中间存储;以及在满足停止条件之后,持续简档的存储。
74.根据一个实施例,在计算机系统的预热阶段结束时自动执行确定步骤,其中,预热阶段是预定义的时间段或者是用于达到某个代码点的时间段。
75.根据一个实施例,在计算机系统被部署之前,在测试运行中执行确定步骤;或者在
计算机系统已经被部署之后,响应于用户的需求,执行确定步骤。在一个示例中,确定步骤可以被绑定到特定任务类型的开始,或者基于某些日志请求元数据,例如,如果条目类型表示错误或警告。
76.确定步骤可以经由专用系统接口(例如,管理api)来触发。具体地,这可以在系统被部署之前在测试运行中完成,或者在系统已经被部署之后而在触发其记录行为应当被训练的特定工作负载之前,根据客户的需求完成。当特定功能被验证用于训练功能特定的简档时,可以在测试特定工作负载条件下触发确定步骤。确定步骤可以在不执行用于训练内部工作负载简档的特定工作负载的情况下被触发。除了明确触发确定步骤之外,系统可以例如在预热阶段之后(基于时间的或在达到某个代码点之后)自动地调度确定步骤,以便减少对不代表常规系统操作模式的代码路径的剖析。进一步地,记录可被绑定到特定任务的生命周期,例如在数据库系统中执行查询,其已明确地定义开始和结束条件。
77.根据一个实施例,该方法还包括:针对计算机系统的后台任务创建另一个简档,称为后台简档;从至少一个简档中减去后台简档的条目;其中,基于所减去的简档来执行记录执行输出。
78.该实施例可允许过滤已由后台任务生成的日志记录。例如,计算机系统可以是像db2分析加速器(idaa)那样的电器类系统。计算机系统可以实现在系统的组件上产生附加负载的内部维护任务。该实施例可以防止那些额外的日志,并因此简化在支持情况下的日志关联任务并且减少使用组合的简档的日志开销。
79.根据一个实施例,该方法还包括:创建用于计算机系统的其他类型的任务的其他简档,接收执行工作负载的请求,该工作负载包括所述类型中的两种或更多种类型的任务,将与所述两种或更多种类型相关联的简档进行组合,从而拒绝重复条目,执行所接收到的工作负载,其中,记录所接收到的工作负载的执行输出是基于组合的简档。将与所述两种或更多种类型相关联的简档进行组合,并且从组合的简档中移除重复条目。这可以节省资源,因为它可以处理单个去重复简档。如果与简档相关联的任务类型没有被编码为简档的日志元数据中的属性,则该实施例也可以特别有利。
80.根据一个实施例,该方法还包括:通过应用一组逻辑操作来组合简档。
81.可以针对系统的不同用例生成日志简档,例如,在数据库管理系统的情况下,执行查询、将数据加载到数据库表中或从数据库表中移除数据、运行性能分析任务、管理用户特权等。系统的用户还可以例如通过并行执行这样的任务而将多个用例组合在他们的工作负载中。进一步,系统本身可自主地执行后台任务,例如数据重组、健康检查、性能监测等,这对于系统的用户不是直接可见的,并且可不被直接控制。因此,当记录简档时存在可能导致问题的许多组合。在组合的用例下可涉及许多记录组件,一旦应用简档,这可降低日志记录过滤过程的效率。该问题可以通过记录用于多个工作负载的简档并将它们例如与面向集合的逻辑操作相组合来解决。该机制可以允许基于现有的所记录的简档来导出简档,而不需要记录额外的简档。当特定工作负载难以建模时或者当它受到难以控制的其他任务干扰时,这可以特别有用。该日志简档的逻辑组合可在创建这种导出的简档时静态地计算或者在过滤过程期间动态地计算。
82.例如,当系统运行无用户驱动的任务时,例如,在将涉及可能大多数组件的预热阶段之后,可以针对特定时间帧记录简档,以便记录与后台操作对应的简档,这些后台操作被
自动地执行,并且如果在用户驱动的操作的简档中包括它们的相当不感兴趣的日志记录,则将在日志输出中导致“噪声”。可以通过在简档的组件或任务id列表上应用一组补充操作,从所有随后记录的用户工作负载特定的简档中“减去”该后台任务简档。这也可以应用于组合用户驱动的工作负载简档,例如,用于加载数据库表和从表中移除数据但不包括查询执行的联合简档。
83.根据一个实施例,响应于在另一任务的初始执行中的执行错误,执行另一任务的执行和记录以用于调试另一任务。
84.根据一个实施例,该方法还包括:经由应用编程接口接收调试另一任务的请求;以及响应于接收到请求,执行另一任务的执行和记录。
85.根据一个实施例,在至少一个任务的编译源代码已被部署到计算机系统之后,在运行时执行确定步骤。
86.该实施例可以实现简档的动态创建。出于以下原因,与简档的静态定义相比,这可以是有利的。术语“静态”是指开发人员在开发时已在产品代码内部定义的硬编码简档设置。也就是说,存在列出用于特定组件/任务类型的日志配置的特殊代码。由于这是编译源代码的一部分,因此,这样的预定义简档不能在运行时改变。该配置可能是不正确的,在新特征的开发期间容易被遗忘,不能被动态扩展,并且可能不反映用户定义的复杂工作负载。进一步地,在用户驱动的任务和内部维护任务之间共享组件。也就是说,一旦针对组件之一改变了日志配置,则可以用来自内部后台作业的不相关信息泛洪日志,这增加了由于滚动日志重写或仅仅在大量日志数据中监督而丢失重要错误信息的概率。进一步,在代码改变不再发生的情况下(这容易被遗忘),可能不需要适配静态简档。
87.图1示出了计算机系统的实例。图1中的图示是功能图。计算机系统100包括服务101a和101b。为了简化描述,仅示出了两个服务,但并不限于此。服务101a-101b可被配置成在计算机系统100处处理工作负载102和103。工作负载可以包括用户工作负载102和内部工作负载103。用户工作负载可以例如经由计算机系统100的用户接口105从用户106接收。每个工作负载102和103可以包括一个或多个任务。每个任务可以与指示任务的任务id和任务类型的信息相关联。
88.每个服务101a-101b可包括执行逻辑、日志配置单元和记录器。例如,服务101a包括执行逻辑110a、日志配置单元111a和记录器112a。服务101b包括执行逻辑110b、日志配置单元111b和记录器112b。每个服务101a-101b的执行逻辑110a-110b可使得能够执行被分配给服务101a-101b的任务。日志配置单元111a可提供日志配置,而日志记录可根据该日志配置由记录器112a-112b提供。每个服务101a-101b的记录器112a-112b可生成包括任务执行输出的日志记录134。每一个日志记录134可例如包括日志元数据136和一个或多个日志消息138。日志元数据136可包括与日志记录相关联的指示任务的任务id和任务类型的值、执行任务的服务101a-101b的服务id、以及日志级别。作为示例,最高严重性的日志级别可以指示对计算机系统100有显著影响的事件,例如,如果没有立即校正,则该级别事件可能导致计算机系统100崩溃。第二最高严重性的日志级别可以指示警告消息,例如,磁盘空间达到最大值。最低严重性的日志级别可以是信息性的,并且可以例如指示执行时间、事务的数量、高速缓存未命中等。
89.每个日志记录134的日志元数据136可由计算机系统100的日志简档记录器120使
用以创建例如每任务类型的日志简档。每个日志简档122包括诸如任务类型、服务id和日志级别的属性的值。计算机系统100可以进一步包括日志过滤器124。日志过滤器124可被配置为基于日志简档122选择将要存储在计算机系统100的日志目标存储装置126中的日志记录134。例如,日志过滤器124可使用日志简档来检查在日志请求中可用的(元数据)数据是否匹配日志简档中的元数据。如果匹配,则记录器112a-112b可处理该请求,并生成实际的日志记录。如果否,则可忽略日志请求。管理员130可经由计算机系统100的管理员接口128访问日志目标存储装置126中的所选择和存储的日志记录。
90.图2是用于在计算机系统中记录任务的方法的流程图。出于解释的目的,图2中描述的方法可在图1中所说明的系统中实施,但不限于该实施。图2的方法可以例如由计算机系统100执行。
91.在步骤201中,可以在计算机系统100处执行n个任务,其中n是大于或等于1的整数。例如,在步骤201中可以执行工作负载,其中,执行工作负载包括执行n个任务。在n个任务的执行期间,可由n个任务中所涉及的组件生成执行日志输出。在步骤203中,可以从n个任务的执行日志输出中确定记录属性的值。可以针对通过执行n个任务所提供的每个日志记录来评估记录属性的值。例如,可以定义或提供预定义的记录属性集,并且对于每个日志记录,可以评估该集的所有记录属性。在不能评估记录属性的情况下,可以向其分配虚拟值。记录属性集可以例如包括日志记录源自的任务的任务类型、引起日志记录的组件的id、以及日志记录的类型等。此外,可确定与每个日志记录相关联的日志级别。这可以通过解析n个任务的执行输出或者解析实现n个任务的代码以找到日志级别来执行。由于以下原因,通过执行任务而不是读取静态代码来生成日志元数据集合和相关联的日志级别可以是有利的。静态代码分析可能错过运行时信息部分,特别是任务信息。可以在任务之间共享组件。在数据库的情况下,例如,需要创建数据库连接以用于加载表和用于处理查询。因此,仅仅知道连接类内的源代码位置可能不传达如何到达该地点以及它属于哪个用户请求的任何信息。因此,在运行时(在执行n个任务时)记录的简档可以考虑这样的信息,并且可以减少独立填充的总体日志量。
92.在部署计算机系统之前,可以例如先验地(例如离线地)执行步骤201至203。在一个示例中,可以针对不同的工作负载重复步骤201至203。因此,步骤201至203的执行可以导致m个条目的集合,其中,m个条目中的每个条目包括记录属性集和日志级别的值。在一个示例中,m个条目可被存储在简档中。在另一个示例中,m个条目可以被存储在被分配给不同任务类型的多个简档中。
93.步骤201至203的结果可以有利地用于记录要在计算机系统上执行的后续任务。例如,可以在步骤205中触发另一任务的执行。在另一任务的执行期间,可以针对每个所接收的请求执行步骤207至213以创建日志记录。在步骤207中,可接收创建日志记录的请求。在步骤209中,可以针对所接收的日志请求,确定记录属性集(命名为meta)的值。在不能评估记录属性的情况下,可以向其分配虚拟值。此外,在步骤209中,可从所接收的请求中确定日志记录的日志级别(命名为lev)。在步骤211中,可确定所确定的日志记录的日志元数据meta和日志级别lev是否匹配m个条目中的至少一个条目。可以例如通过将m个条目中的每个条目的日志元数据与日志元数据meta进行比较来执行匹配。例如,可以通过计算如本文所描述的相似性得分s
meta
来执行该比较。在另一个实例中,可执行该比较以找到日志元数
据meta与m个条目中的条目的日志元数据之间的精确匹配。在成功匹配日志元数据meta与m个条目中的条目x的情况下,可将日志级别lev与条目x的日志级别进行比较。如果日志级别lev等于或高于条目x的日志级别,则比较可以成功。如果比较成功,则可存储日志记录。
94.可以例如响应于在另一任务的先前执行中的执行错误,执行步骤205至213以用于调试该另一任务。
95.图3是用于在计算机系统中记录任务的方法的流程图。出于说明的目的,图3中所描述的方法可在图1中所说明的系统中实施,但不限于该实施。图3的方法可以例如由计算机系统100执行。
96.在步骤301中,可以在计算机系统100处执行n个任务,其中n是大于或等于1的整数。例如,在步骤301中可以执行工作负载,其中,工作负载的执行包括n个任务的执行。在n个任务的执行期间,可由n个任务中所涉及的组件生成执行日志输出。在步骤303中,可以从n个任务的执行日志输出中确定记录属性的值。可以针对通过执行n个任务所提供的每个日志记录来评估记录属性的值。例如,可以定义或提供预定义的记录属性集,并且对于每个日志记录,可以评估该集的所有记录属性。在不能评估记录属性的情况下,可以向其分配虚拟值。记录属性集可以例如包括日志记录源自的任务的任务类型、引起日志记录的组件的id、以及日志记录的类型等。此外,可以确定与每个日志记录相关联的日志级别。这可以通过解析n个任务的执行输出或者解析实现n个任务的代码以找到日志级别来执行。
97.在步骤305中,可以执行另一任务。在步骤307中,可以根据所确定的日志元数据集合和相关联的日志级别集合来记录该另一任务的执行输出。
98.图4是用于在计算机系统中记录任务的方法的流程图。出于解释的目的,图5中所描述的方法可在图1中所说明的系统中实施,但不限于该实施。图5的方法可以例如由计算机系统100执行。
99.在步骤401中,可以响应于满足触发条件,初始化新简档的记录。可以经由专用系统接口(例如,管理api)触发新简档的生成/记录。特别地,可以如下进行:在部署系统之前,在测试运行中;当特定功能被验证用于训练功能特定简档时,在测试特定的工作负载条件下;在不执行用于训练内部工作负载简档的特定工作负载的情况下;或者在系统已经被部署之后,在触发其记录行为应当被训练的特定工作负载之前,根据客户的需求。
100.在步骤403中,可以在(内存)简档数据库中创建新简档条目。在步骤405中,简档记录器可以被注册为用于所有服务的附加日志目标。直到完成记录为止(例如,基于时间的停止、显式停止、空间驱动的停止、完成待剖析任务,

),在步骤407中,在执行程序代码时,可从将被发布到每个日志目标的那些日志记录中提取简档相关元数据。如果尚未被添加,则在步骤409中,可以将元数据添加到简档中,并且可以省略日志记录本身以限制用于记录的开销。在步骤411中,可以将所记录的日志简档存储在持久性日志记录数据库中以供稍后激活,例如,用于调试目的。
101.图5是根据本主题的示例的用于记录日志元数据和相关联的日志级别的方法的流程图。出于解释的目的,图5中描述的方法可在图1中说明的系统中实施,但不限于此实施。图5的方法可以例如由计算机系统100执行。
102.在步骤501中,可以在计算机系统100处执行n个任务,其中,n是大于或等于1的整数。例如,在步骤501中可以执行工作负载,其中,工作负载的执行包括n个任务的执行。在n
个任务的执行期间,可由n个任务中所涉及的组件生成执行日志输出。在步骤503中,可以从n个任务的执行日志输出中确定记录属性的值。可以针对通过执行n个任务所提供的每个日志记录来评估记录属性的值。例如,可以定义或提供预定义的记录属性集,并且对于每个日志记录,可以评估该集的所有记录属性。在不能评估记录属性的情况下,可以向其分配虚拟值。记录属性集可以例如包括日志记录源自的任务的任务类型、引起日志记录的组件的id、以及日志记录的类型等。此外,可确定与每个日志记录相关联的日志级别。这可以通过解析n个任务的执行输出或者解析实现n个任务的代码以找到日志级别来执行。
103.可以针对不同的工作负载重复步骤501至503。因此,步骤501至503的执行可以产生m个条目的集合,其中,m个条目中的每个条目包括记录属性集和日志级别的值。在一个示例中,m个条目可被存储在简档中。在另一个示例中,m个条目可以被存储在被分配给不同任务类型的多个简档中。
104.图6表示适合于实施本公开所涉及的方法步骤的至少一部分的通用计算机化系统600。
105.应当理解,本文所描述的方法至少部分是非交互式的,并且通过计算机化系统(诸如服务器或嵌入式系统)来自动化。然而,在示例性实施例中,本文描述的方法可以在(部分)交互式系统中实现。这些方法可进一步在软件612、622(包括固件622)、硬件(处理器)605或其组合中实现。在示例性实施例中,本文所描述的方法采用软件实现,作为可执行程序,并且由专用或通用数字计算机(诸如个人计算机、工作站、小型计算机或大型计算机)执行。因此,最通用的系统600包括通用计算机601。
106.在示例性实施例中,在硬件架构方面,如图6所示,计算机601包括处理器605、耦合到存储器控制器615的存储器(主存储器)610、以及经由本地输入/输出控制器635通信地耦合的一个或多个输入和/或输出(i/o)设备(或外围设备)10、645。输入/输出控制器635可以是但不限于如本领域中已知的一个或多个总线或其他有线或无线连接。输入/输出控制器635可以具有为简化而省略的附加元件,诸如控制器、缓冲器(高速缓存)、驱动器、中继器和接收器,以实现通信。进一步地,本地接口可以包括地址、控制和/或数据连接,以实现上述组件之间的适当通信。如本文所描述的,i/o设备10、645一般可以包括本领域已知的任何通用密码卡或智能卡。
107.处理器605是用于执行软件(特别地,存储在存储器610中的软件)的硬件装置。处理器605可以是任何定制或商业可获得的处理器、中央处理单元(cpu)、与计算机601相关联的若干处理器中的辅助处理器、基于半导体的微处理器(采用微芯片或芯片集的形式)、或通常用于执行软件指令的任何装置。
108.存储器610可以包括易失性存储器元件(例如,随机存取存储器(ram,诸如dram、sram、sdram等))和非易失性存储器元件(例如,rom、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom))中的任何一个或组合。注意,存储器610可具有分布式架构,其中,各种组件彼此远离地定位,但可由处理器605访问。
109.存储器610中的软件可以包括一个或多个单独的程序,每个程序包括用于实现逻辑功能(尤其是本发明的实施例所涉及的功能)的可执行指令的有序列表。在图6的示例中,存储器610中的软件包括指令612,例如管理诸如数据库管理系统的数据库的指令。
110.存储器610中的软件通常还应包括合适的操作系统(os)611。os 611实质上控制其
他计算机程序(诸如,可能的用于实现本文所描述的方法的软件612)的执行。
111.本文所描述的方法可以采用源程序612、可执行程序612(目标代码)、脚本、或者包括要执行的指令612的集合的任何其他实体的形式。在源程序时,则需要经由编译器、汇编器、解释器(其可以被包括在或可以不被包括在存储器610内)等翻译程序,以便结合os 611正确地操作。此外,该方法可以被编写成具有数据类和方法类的面向对象的编程语言、或者具有例程、子例程和/或函数的过程编程语言。
112.在示例性实施例中,常规的键盘650和鼠标655可以耦合到输入/输出控制器635。其他输出设备(诸如i/o设备645)可以包括输入设备,例如但不限于打印机、扫描仪、麦克风等。最后,i/o设备10、645可以进一步包括传送输入和输出两者的设备,例如但不限于网络接口卡(nic)或调制器/解调器(用于访问其他文件、设备、系统、或网络)、射频(rf)或其他收发器、电话接口、网桥、路由器等。i/o设备10、645可以是本领域中已知的任何通用密码卡或智能卡。系统600可进一步包括耦合到显示器630的显示器控制器625。在示例性实施例中,系统600可进一步包括用于耦接至网络665的网络接口。网络665可以是用于计算机601与任何外部服务器、客户端等之间的经由宽带连接的通信的基于ip的网络。网络665在计算机601与外部系统30之间发送和接收数据,该数据可以涉及执行本文所讨论的方法的部分或全部步骤。在示例性实施例中,网络665可以是由服务提供商管理的管理ip网络。网络665可以以无线方式实现,例如,使用无线协议和技术,诸如wi-fi、wimax等。网络665也可以是分组交换网络,诸如局域网、广域网、城域网、互联网网络、或其他类似类型的网络环境。网络665可以是固定无线网络、无线局域网w(lan)、无线广域网(wwan)、个人区域网(pan)、虚拟专用网(vpn)、内联网或其他合适的网络系统,并且包括用于接收和发送信号的设备。
113.如果计算机601是pc、工作站、智能设备等,则存储器610中的软件还可以包括基本输入输出系统(bios)622。bios是在启动时初始化和测试硬件、启动os 611、以及支持数据在硬件设备之间的传输的基本软件例程的集合。bios被存储在rom中,以使得当计算机601被激活时可以执行bios。
114.当计算机601运行时,处理器605被配置为执行被存储在存储器610内的软件612,将数据传送至存储器610和从存储器610传送数据,并且通常依照软件控制计算机601的操作。本文所描述的方法和os 611(全部或部分,但通常为后者)由处理器605读取,可能地在处理器605内被缓冲,然后被执行。
115.当本文所描述的系统和方法在软件612中实现时,如图6所示,这些方法可以被存储在任何计算机可读介质(诸如存储装置620)上,以供任何计算机相关系统或方法使用或结合任何计算机相关系统或方法使用。存储器620可包括磁盘存储器,例如hdd存储器。
116.本公开的主题可包括以下内容。
117.在一个实施例中,一种用于在计算机系统中记录任务的计算机实现的方法可包括:在计算机系统处执行至少一个任务;从至少一个任务的执行日志输出中确定至少一个任务的日志记录的日志元数据集合和日志级别集合;执行另一任务;根据所确定的日志元数据集合和相关联的日志级别集合,记录该另一任务的执行输出。
118.在一个示例中,该方法可以包括:日志记录的日志元数据包括一个或多个记录属性的值,并且记录属性包括以下中的任何一个:日志记录源自的任务的类型,日志记录源自的计算机系统的组件,以及日志记录的类型。
119.在一个示例中,前述示例中的任一个的方法,其中,记录执行输出包括:存储日志记录,该日志记录的日志元数据和日志级别与日志元数据集合中的特定日志元数据和相关联的日志级别匹配。
120.在一个示例中,该方法还可以包括:确定待存储的日志记录的日志元数据与所确定的日志元数据集合之间的相似性;将最相似的日志元数据的日志级别与待存储的日志记录的日志级别进行比较;以及基于比较结果,执行记录的存储。
121.在一个示例中,前述条款1至4中的任一项的方法,确定包括:创建并存储用于至少一个任务的至少一个简档,该简档包括每日志记录的条目,其中,条目包括日志记录的日志元数据和日志级别。
122.在一个示例中,该方法还包括:激活至少一个简档;其中,记录执行输出包括:确定一个或多个先前存储的简档是否是活动的,以及响应于确定一个或多个存储的简档是活动的,基于活动的简档,执行记录执行输出。
123.在一个示例中,记录执行输出包括:接收创建另一任务的日志记录的请求;以及检查日志记录是否满足任何活动的简档;以及在成功时,存储日志记录。
124.在一个示例中,检查包括:执行组合日志记录的日志元数据和活动的简档的日志元数据的逻辑表达式。
125.在一个示例中,执行确定,直到满足停止条件,其中,停止条件是以下中的任何一个:基于时间的停止条件,所接收的显式停止,空间驱动的停止条件,以及完成任务。
126.在一个示例中,执行确定,直到满足停止条件,该方法还包括:在确定步骤期间,在内存中执行简档的中间存储;以及在满足所述停止条件之后,持续简档的存储。
127.在一个示例中,在计算机系统的预热阶段结束时,自动执行确定,其中,预热阶段是预定义的时间段或者是达到特定代码点的时间段。
128.在另一个示例中,在计算机系统被部署之前,在测试运行中执行确定;或者在计算机系统已经被部署之后,响应于用户的需求而执行确定。
129.在另一个示例中,本公开的一个或多个方法可包括:创建用于计算机系统的后台任务的另一个简档,其被称为后台简档;以及从至少一个简档中减去后台简档的条目;其中,基于减去后的简档执行记录执行输出。
130.在一个示例中,本公开的一个或多个方法可以包括:创建用于计算机系统的其他类型的任务的其他简档;接收执行包括任务的工作负载的请求,所述任务是所述类型中的两种或更多种类型的组合;组合与所述两种或更多种类型相关联的简档,从而拒绝重复条目;执行所接收的任务;基于组合的简档,记录所接收到的任务的执行输出。
131.在一个示例中,方法可以进一步包括:通过应用一组逻辑操作来组合简档。
132.在一个示例中,响应于在另一任务的初始执行中的执行错误,执行另一任务的执行和记录以用于调试另一任务。
133.在一个示例中,一种方法可以包括:经由应用编程接口接收调试另一任务的请求;以及响应于接收到请求,执行另一任务的执行和记录。
134.在一个示例中,在至少一个任务和另一任务的编译源代码已被部署到所述计算机系统之后,在运行时执行确定步骤。
135.在一个示例中,响应于确定源代码已改变,方法可包括维持至少一个简档以用于
记录其他任务。
136.本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。如本文所使用的“处理器”涵盖能够执行程序或机器可执行指令或计算机可执行代码的电子组件。处理器例如可以是多核处理器。处理器也可以是指单个计算机系统内的或分布在多个计算机系统之间的处理器的集合。计算机可执行代码可以由多个处理器执行,多个处理器可以在相同的计算设备内或者甚至可以在多个计算设备上分布。
137.计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
138.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
139.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或者以一种或多种编程语言(包括面向对象的编程语言,例如smalltalk、c++等)和过程编程语言(例如“c”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
140.下面将参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
141.这些计算机可读程序指令可以被提供给计算机或其他可编程数据处理装置的处
理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的方面的指令。
142.计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
143.附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以作为一个步骤来实现,同时、基本同时、以部分或全部时间重叠的方式执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。

技术特征:
1.一种用于在计算机系统中记录任务的计算机实现的方法,包括:在所述计算机系统处执行至少一个任务;从所述至少一个任务的执行日志输出中确定所述至少一个任务的日志记录的日志元数据集合和日志级别集合;执行另一任务;以及根据所确定的日志元数据集合和相关联的日志级别集合,记录所述另一任务的执行输出。2.根据权利要求1所述的方法,其中,所述日志记录的所述日志元数据包括一个或多个记录属性的值,所述记录属性包括从以下的组中选择的属性:所述日志记录源自的所述任务的类型,所述日志记录源自的所述计算机系统的组件,以及所述日志记录的类型。3.根据权利要求1所述的方法,其中,记录所述执行输出包括:存储日志记录,所述日志记录的日志元数据和日志级别匹配所述日志元数据集合中的特定日志元数据和相关联的日志级别。4.根据权利要求3所述的方法,进一步包括:确定待存储的日志记录的日志元数据与所确定的日志元数据集合之间的相似性;以及将最相似的日志元数据的日志级别与所述待存储的日志记录的日志级别进行比较,并基于比较结果,执行所述记录的存储。5.根据权利要求1所述的方法,其中,所述确定包括:创建并存储用于所述至少一个任务的至少一个简档,所述简档包括每日志记录的条目,其中,所述条目包括所述日志记录的所述日志元数据和所述日志级别。6.根据权利要求5所述的方法,进一步包括:激活所述至少一个简档;其中,记录所述执行输出包括:确定一个或多个先前存储的简档是否是活动的,以及响应于确定一个或多个存储的简档是活动的,基于活动的简档来执行所述执行输出的记录。7.根据权利要求6所述的方法,其中,记录执行输出包括:接收创建所述另一任务的日志记录的请求;以及检查所述日志记录是否满足所述活动的简档中的任何一个;以及在成功时,存储所述日志记录。8.根据权利要求7所述的方法,其中,所述检查包括:执行将所述日志记录的日志元数据与所述活动的简档的所述日志元数据组合的逻辑表达式。9.根据权利要求1所述的方法,其中,执行所述确定,直到满足停止条件为止,其中,所述停止条件是以下中的任一者:基于时间的停止条件,所接收到的显式停止,空间驱动的停止条件,以及完成所述任务。10.根据权利要求5所述的方法,其中,执行所述确定,直到满足停止条件,所述方法还包括:在所述确定步骤期间,在内存中执行所述简档的中间存储;以及在满足所述停止条件之后,持续存储所述简档。11.根据权利要求1所述的方法,其中,在所述计算机系统的预热阶段结束时自动执行所述确定,并且其中,所述预热阶段是预定义的时间段或用于达到特定代码点的时间段。12.根据权利要求1所述的方法,其中,在所述计算机系统被部署之前,在测试运行中执
行所述确定;或者在所述计算机系统已经被部署之后,响应于用户的需求而执行所述确定。13.根据权利要求5所述的方法,进一步包括:创建用于所述计算机系统的后台任务的另一个简档,称为后台简档;以及从所述至少一个简档中减去所述后台简档的条目;其中,基于减去后的简档,执行所述执行输出的记录。14.根据权利要求5所述的方法,进一步包括:创建用于所述计算机系统的其他类型的任务的其他简档;接收执行包括任务的工作负载的请求,所述任务是所述类型中的两种或更多种类型的组合;组合与所述两种或更多种类型相关联的简档,从而拒绝重复条目;执行所接收的任务;以及基于所组合的简档,记录所接收的任务的执行输出。15.根据权利要求14所述的方法,进一步包括:通过应用一组逻辑操作来组合所述简档。16.根据权利要求1所述的方法,其中,响应于在所述另一任务的初始执行中的执行错误,执行所述另一任务的执行和所述记录以便调试所述另一任务。17.根据权利要求1所述的方法,还包括:经由应用编程接口接收调试所述另一任务的请求;以及响应于接收到所述请求,执行所述另一任务的执行和所述记录。18.根据权利要求1所述的方法,其中,在所述至少一个任务和所述另一任务的编译源代码已被部署到所述计算机系统之后,在运行时执行所述确定步骤。19.根据权利要求18所述的方法,其中,响应于确定所述源代码已经改变,维持所述至少一个简档以用于记录其他任务。20.一种包括计算机的计算机程序产品,包括具有计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码可由所述计算机执行以执行权利要求1至19中任一项所述的步骤。21.一种系统,包括:计算机系统,其包括计算机处理器、计算机可读存储介质、以及存储在所述计算机可读存储介质上并可由所述处理器执行的程序指令,以使所述计算机系统执行权利要求1至19中任一项所述的步骤。

技术总结
一种用于在计算机系统中记录任务的技术。通过在计算机系统处执行至少一个任务,将任务记录到计算机系统中。可从至少一个任务的执行日志输出中确定至少一个任务的日志记录的日志元数据集合和日志级别集合。可根据所确定的日志元数据集合和相关联的日志级别集合,确定另一任务的执行输出。另一任务的执行输出。另一任务的执行输出。


技术研发人员:F
受保护的技术使用者:国际商业机器公司
技术研发日:2023.03.22
技术公布日:2023/9/26
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐