使用调试容器提供关于生产容器的调试信息制造技术

技术编号:20596293 阅读:29 留言:0更新日期:2019-03-16 11:56
一种方法以及相关联的系统,用于提供与在生产容器中执行的计算机软件相关联的调试信息。将生产容器复制为调试容器。在生产容器和调试容器中执行计算机软件。执行计算机软件包括将发送到在生产容器中执行的计算机软件的请求复制到在调试容器中执行的计算机软件。存储来自在生产容器中执行的计算机软件的请求以及对存储的请求的任何响应。存储由在调试容器中执行的计算机软件生成的调试信息。

Provide debugging information about production containers using debugging containers

A method and associated system for providing debugging information associated with computer software executed in production containers. Copy the production container as the debugging container. Execute computer software in production and debugging containers. Executing computer software includes copying requests sent to computer software executed in production containers to computer software executed in debugging containers. Store requests from computer software executed in production containers and any response to stored requests. Store debugging information generated by computer software executed in the debugging container.

【技术实现步骤摘要】
【国外来华专利技术】使用调试容器提供关于生产容器的调试信息
本专利技术涉及提供关于生产容器的调试信息,更具体地说,涉及使用专用调试容器提供与在生产容器中执行的计算机软件相关联的调试信息。
技术介绍
在企业级软件中启用调试跟踪和调试功能通常会对企业级软件的性能产生负面影响。因此,在测试环境中无法重新生成问题的情况下,使用本地部署(on-premise)解决方案的客户通常不愿意启用调试跟踪和其他调试功能。这可能使客户难以收集诊断信息以解决他们自己的问题。当客户要求调查所提供软件中的可能缺陷时,它也可能对支持服务产生负面影响。
技术实现思路
本专利技术提供了一种方法以及相关联的计算机系统和计算机程序产品,用于提供与在生产容器中执行的计算机软件相关联的调试信息。一个或多个处理器将生产容器复制为调试容器。一个或多个处理器在生产容器和调试容器中执行计算机软件,其中执行计算机软件包括将发送到在生产容器中执行的计算机软件的请求复制到在调试容器中执行的计算机软件。一个或多个处理器存储来自在生产容器中执行的计算机软件的请求以及对存储的请求的任何响应。一个或多个处理器存储由在调试容器中执行的计算机软件生成的调试信息。附图说明现在将参考附图仅通过示例更详细地描述本专利技术的实施例。图1示出了其中可以实现提供调试信息的本专利技术的实施例的计算机系统。图2是根据本专利技术实施例的计算机实现的方法的实施例的流程图,该方法提供与在生产容器中执行的计算机软件相关联的调试信息。图3是根据本专利技术实施例的图2的请求和响应步骤的复制的实现的实施例的框图。图4是根据本专利技术实施例的调用图2的计算机实现的方法的用户启动的第一计算机实现的方法的框图。图5是根据本专利技术实施例的调用图2的计算机实现的方法的用户根据请求启动的第二计算机实现的方法的框图。图6是根据本专利技术的实施例的使用先前记录的消息的重放来调用图2的计算机实现的方法的第三计算机实现的方法的框图。图7是根据本专利技术实施例的调用图2的计算机实现的方法的第四计算机实现的方法的框图。图8是可用于实现本专利技术实施例的示例性计算机系统的示意图。图9描绘了根据本专利技术实施例的说明性云计算环境。图10描绘了根据本专利技术实施例的由图9的云计算环境提供的一组功能抽象层。具体实施方式本专利技术改进了计算机系统的功能,特别是在云环境中操作的计算机系统的功能,这将从本专利技术的以下描述中变得明显。本专利技术使得能够使用云或软件即服务(SaaS)中可用的设施来收集诊断信息以调试软件,以消除生产性能的风险并最小化调试跟踪的性能影响。本专利技术还能够减少云商品(cloudoffering)上的调试操作的CPU时间定价。混合云商品通常包括由云控制器组件编排的一组生产容器。网络边缘可以由网关软件或诸如DataPowerGateway安全和集成平台的网关设备控制。在一个实施例中,可以通过现有的安全连接器连接到本地部署环境或私有云。容器可以从包含客户应用程序定义的共享存储网络位置自配置。容器将计算机程序或其一部分包含在一个软件层中,该软件层无缝地连接到操作系统和它依赖于其执行的其他计算资源。将计算机程序放入容器中有许多好处。一个特别的优点是计算机程序可以快速且容易地从一台计算机移动到另一台计算机,例如,从程序员的笔记本电脑到测试系统再到云。在本专利技术的实施例中,除了标准容器之外,还提供了针对调试活动而优化的专用容器。这些容器以多种方式专门化,包括但不限于:(i)可以实现计算机软件的运行调试版本(debugbuilds);(ii)底层硬件专门用于最小化调试成本,例如,底层硬件可能安装了固态存储设备(SSD),以便最小化写入跟踪信息的输入/输出(I/O)成本;(iii)默认情况下可以启用记录和重放设施等审计功能;以及(iv)默认情况下,可以开放调试端口,以允许支持人员实时调试调试系统上的问题。本专利技术的实施例提供了将任何特定客户应用程序弹性缩放到调试容器以及生产容器上的能力。尽管现有技术的专用调试实例在某种程度上可以减少诊断功能的影响,但仍然会对性能产生负面影响。因此,为了消除这种负面影响,当启用调试时,在本专利技术的实施例中,根据需要将现有客户容器图像旋转到本专利技术实施例的专用调试实例之一上。网关流量可以由位于网络边缘的网关设备或软件在调试容器和普通生产容器之间自动复制。同样,生产应用程序通过网络边缘的网关设备或通过安全连接器发出的任何传出请求都会与对传出请求的响应一起存储,以便可以使用相同的数据来模拟在调试容器实例中发生的实际请求。在上述实施例中,诊断活动可以在定制的硬件和/或软件上运行,而不会对运行的生产工作负载产生任何影响。可以通过用于云商品的网络管理控制台直接向客户提供在调试信息中收集的诊断信息。诊断信息还可以可选地直接链接到云商品提供商的产品支持团队所使用的问题票务系统。调试实例也可以由支持人员通过直接虚拟专用网络(VPN)访问调试云环境进行调试。图1示出了其中可以实现提供调试信息的本专利技术的实施例的计算机系统。云102包括生产容器106-112的生产组104。每个生产容器106-112将计算机程序(软件)或计算机程序的一部分包含在软件层中,该软件层无缝地连接到操作系统(图1中未示出)和计算机程序依赖于其运行的其他计算资源(图1中未示出)。该软件由客户在运营客户业务时用在生产环境中。云102还包括调试容器126-130的调试组124。每个调试容器126-130将计算机程序或计算机程序的一部分包含在软件层中,该软件层无缝地连接到操作系统和计算机程序依赖于其运行的其他计算资源。客户在运营客户业务时不在生产环境中使用该软件,而是将该软件用于获取诊断信息以帮助调试计算机程序的问题的目的。调试容器126-130的每个实例对应于生产容器106-112的单个实例。可以有任何数量的生产容器106-112和任何数量的调试容器126-130,但是调试容器126-130的每个实例必须对应于生产容器106-112的单个实例。生产容器106-112可以具有或不具有相应的调试容器126-130。生产容器106-112可以具有与生产容器相关联的多于一个的调试容器126-130,用于工作负载共享或类似目的。在一个实施例中,仅少量生产容器106-112将具有相应的调试容器126-130。生产容器106-112和调试容器126-130在相同的网络环境中运行并共享网络存储器140,使得调试126-130和生产106-112容器可以加载共同的客户配置。在一个实施例中,调试容器126-130在专用硬件上执行。例如,执行调试容器126-130的硬件可以安装有SSD142,以便减少写入跟踪信息的I/O成本。当旋转容器(调试容器126-130或生产容器106-112)时,从共享网络存储器140上的位置加载配置数据和客户应用程序。生产组104和调试组124执行所在的云102具有用于在客户本地部署外部进行通信的网关150,例如,到远程服务器310。云102还具有一个或多个安全连接器152,用于连接到客户本地部署内的另一个应用程序等。通常,网关150连接到因特网170以进行通信。云控制器172协调图1中的其他组件以确保云102的正确操作。调试器162在远程支持系统160中执行。远程支持系统160可以位于远离生产组104和调试组124的地理位置本文档来自技高网...

【技术保护点】
1.一种用于提供与在生产容器中执行的计算机软件相关联的调试信息的方法,所述方法包括:由一个或多个处理器将所述生产容器复制为调试容器;由一个或多个处理器在所述生产容器和所述调试容器中执行所述计算机软件,所述执行计算机软件包括将发送到在所述生产容器中执行的所述计算机软件的请求复制到在所述调试容器中执行的所述计算机软件;由一个或多个处理器存储来自在所述生产容器中执行的所述计算机软件的请求以及对存储的请求的任何响应;以及由一个或多个处理器存储由在所述调试容器中执行的所述计算机软件生成的调试信息。

【技术特征摘要】
【国外来华专利技术】2016.07.08 US 15/205,1431.一种用于提供与在生产容器中执行的计算机软件相关联的调试信息的方法,所述方法包括:由一个或多个处理器将所述生产容器复制为调试容器;由一个或多个处理器在所述生产容器和所述调试容器中执行所述计算机软件,所述执行计算机软件包括将发送到在所述生产容器中执行的所述计算机软件的请求复制到在所述调试容器中执行的所述计算机软件;由一个或多个处理器存储来自在所述生产容器中执行的所述计算机软件的请求以及对存储的请求的任何响应;以及由一个或多个处理器存储由在所述调试容器中执行的所述计算机软件生成的调试信息。2.如权利要求1所述的方法,其特征在于,所述方法还包括利用所存储的调试信息来调试在所述生产容器中执行的所述计算机软件。3.如权利要求2所述的方法,其中所述利用所存储的调试信息包括通过网络接口利用所存储的调试信息。4.如权利要求1所述的方法,其中所述在所述调试容器中执行所述计算机软件包括通过启用断言、使用符号、使用最小编译器优化或其组合来优化用于生成调试信息的所述计算机软件。5.如权利要求1所述的方法,其中所述在所述调试容器中执行所述计算机软件包括通过将跟踪打开、将审计功能打开、启用调试端口或其组合在所述调试容器中执行所述计算机软件来优化用于生成调试信息的所述调试容器的配置。6.如权利要求1所述的方法,其中在所述调试容器中的所述计算机软件在硬件上执行,所述硬件通过使用固态存储设备、更大存储容量、附加CPU容量或其组合被优化用于生成调试信息。7.如权利要求1所述的方法,其中,所述方法还包括:所述一个或多个处理器记录在所述生产容器中执行所述计算机软件的请求和响应,并随后重放到在所述调试容器中执行的所述计算机软件。8.一种计算机系统,包括一个或多个处理器、一个或多个存储器、以及一个或多个计算机可读硬件存储设备,所述一个或多个硬件存储设备包含可由所述一个或多个处理器经由所述一个或多个存储器执行的程序指令,以实现一种用于提供与在生产容器中执行的计算机软件相关联的调试信息的方法,所述方法包括:由一个或多个处理器将所述生产容器复制为调试容器;由一个或多个处理器在所述生产容器和所述调试容器中执行所述计算机软件,所述执行计算机软件包括将发送到在所述生产容器中执行的所述计算机软件的请求复制到在所述调试容器中执行的所述计算机软件;由一个或多个处理器存储来自在所述生产容器中执行的所述计算机软件的请求以及对存储的请求的任何响应;以及由一个或多个处理器存储由在所述调试容器中执行的所述计算机软件生成的调试信息。9.如权利要求8所述的计算机系统,所述方法还包括利用所存储的调试信息来调试在所述生产容器中执行的所...

【专利技术属性】
技术研发人员:J·S·贝恩斯K·F·L·克拉珀顿D·J·克莱顿R·M·利科里什M·奈什
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1