IP Library › Granted Patent US 12,443,460
Granted Patent B2
US 12,443,460 · App. 18/046,613 · Granted Oct 14, 2025

Performance analysis and root cause identification for cloud computing

Inventors: Doga Tav (Fredericton, CA); Matthew de Souza (Kanata, CA); Alpha Barry (Gatineau, CA); Geoffrey Tate (Ottawa, CA); Nick Antonov (Fredericton, CA)
Assignee: International Business Machines Corporation
G06F9/505G06F9/5077G06F11/3495
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 12,443,460
App. No.
18/046,613
Granted
Oct 14, 2025
Kind
B2
Abstract

Examples described herein provide a computer-implemented method that includes, in response to receiving a request against the workload in an environment comprising predetermined cloud-based containers, searching predetermined container runtime interface metadata across a plurality of compute nodes in the environment to locate runtime processes. The method further includes selecting, for each runtime process located, a respective applicable profiler from a set of predetermined profilers sharing a transactional database. The method further includes injecting, for each runtime process located, predetermined code libraries for each respective applicable profiler. The method further includes re-linking the predetermined code libraries for each respective applicable profiler. The method further includes executing, for each runtime process located, each respective applicable profiler to produce a set of results.

Claims (31)

1. A computer-implemented method for unified performance profiling of a workload, the computer-implemented method comprising:

in response to receiving a request against the workload in an environment comprising predetermined cloud-based containers, searching predetermined container runtime interface metadata across a plurality of compute nodes in the environment to locate runtime processes;

selecting, for each runtime process located, a respective applicable profiler from a set of predetermined profilers sharing a transactional database;

injecting, for each runtime process located, predetermined code libraries for each respective applicable profiler;

re-linking the predetermined code libraries for each respective applicable profiler;

executing, for each runtime process located, each respective applicable profiler to produce a set of results.

2. The computer-implemented method of claim 1 , wherein the predetermined code libraries comprises predetermined Linux libraries.

3. The computer-implemented method of claim 1 , further comprising persisting the set of results in a repository.

4. The computer-implemented method of claim 1 , further comprising generating, based on the set of results, a graphical interface, and displaying the graphical interface to a user.

5. The computer-implemented method of claim 4 , wherein the graphical interface displays information about each respective applicable profiler.

6. The computer-implemented method of claim 5 , wherein the graphical interface merges the information about each respective applicable profiler into unified data.

7. The computer-implemented method of claim 5 , wherein the graphical interface further displays the information about an additional profiler.

8. The computer-implemented method of claim 1 , wherein the respective applicable profiler is selected from a group consisting of a Node.js profiler, a Go profiler, a Python profiler, a Java profiler, a Rust profiler, a C profiler, a C++ profiler, and a Perl profiler.

9. A system comprising:

a memory comprising computer readable instructions; and

a processing device for executing the computer readable instructions, the computer readable instructions controlling the processing device to perform operations for unified performance profiling of a workload, the operations comprising:

in response to receiving a request against the workload in an environment comprising predetermined cloud-based containers, searching predetermined container runtime interface metadata across a plurality of compute nodes in the environment to locate runtime processes;

selecting, for each runtime process located, a respective applicable profiler from a set of predetermined profilers sharing a transactional database;

injecting, for each runtime process located, predetermined code libraries for each respective applicable profiler;

re-linking the predetermined code libraries for each respective applicable profiler;

executing, for each runtime process located, each respective applicable profiler to produce a set of results.

10. The system of claim 9 , wherein the predetermined code libraries comprises predetermined Linux libraries.

11. The system of claim 9 , further comprising persisting the set of results in a repository.

12. The system of claim 9 , further comprising generating, based on the set of results, a graphical interface, and displaying the graphical interface to a user.

13. The system of claim 12 , wherein the graphical interface displays information about each respective applicable profiler, wherein the graphical interface merges the information about each respective applicable profiler into unified data, and wherein the graphical interface further displays the information about an additional profiler.

14. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform operations for unified performance profiling of a workload, the operations comprising:

in response to receiving a request against the workload in an environment comprising predetermined cloud-based containers, searching predetermined container runtime interface metadata across a plurality of compute nodes in the environment to locate runtime processes;

selecting, for each runtime process located, a respective applicable profiler from a set of predetermined profilers sharing a transactional database;

injecting, for each runtime process located, predetermined code libraries for each respective applicable profiler;

re-linking the predetermined code libraries for each respective applicable profiler;

executing, for each runtime process located, each respective applicable profiler to produce a set of results.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2022
From: TAV, DOGA; DE SOUZA, MATTHEW; BARRY, ALPHA; TATE, GEOFFREY; ANTONOV, NICK
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 061426/0897 →
Continuity (1)
Related Publication 20240126614A1 · Apr 18, 2024
References Cited (21)
US 10171565B2 · Moon et al. · 2019 [cited by applicant]
US 10303576B1 · Seymour et al. · 2019 [cited by applicant]
US 20110283266A1 · Gallagher et al. · 2011 [cited by applicant]
US 20160337215A1 · Wunderlich et al. · 2016 [cited by applicant]
US 20160357655A1 · Mukai · 2016 [cited by applicant]
US 20220365750A1 · Bharambe · 2022 [cited by examiner]
US 20250208911A1 · Ding · 2025 [cited by examiner]
CN 114816914A · 2022 [cited by applicant]
EP 2616931B1 · 2013 [cited by applicant]
TW 202416126A · 2024 [cited by applicant]
“Flame Graphs Visualize Profiled Code”; Retrieved Online from https://github.com/brendangregg/FlameGraph on Jul. 28, 2022; 9 Pages. [cited by applicant]
“gProfiler”; Retrieved Online from https://github.com/Granulate/gprofiler on Jul. 28, 2022; 17 Pages. [cited by applicant]
“Kubectl Plugin for Effortless Profiling on Kubernetes”; Kubectl Flame; Retrieved Online from https://github.com/yahoo/kubectl-flame on Jul. 28, 2022; 4 Pages. [cited by applicant]
“py-spy: Sampling Profiler for Python Programs”; Retrieved Online from https://github.com/benfred/py-spy on Jul. 28, 2022; 8 Pages. [cited by applicant]
Yamamoto et al.; “Unified Performance Profiling of an Entire Virtualized Environment”; International Journal of Networking and Computing—www.ijnc.org; ISSN 2185-2839 (Print) ISSV 2185-2547 (Online); vol. 6, No. 1; Jan. … [cited by applicant]
Zaslavskiy et al.; “Lightweight Linux Dynamic Libraries Profiling Technique for Embedded Systems”; CEE-SECR; Oct. 23-25, 2013; 6 Pages. [cited by applicant]
IBM—“Container monitoring”, IBM owned Instana, 14 pages, May 12, 2025, https://www.instana.com/apm-for-containers/. [cited by applicant]
Kubernetes Monitoring, “What is Kubernetes and how should you monitor it?”, NewRelic, 18 p. May 12, 2025, https://newrelic.com/platform/kubernetes/monitoring-guide. [cited by applicant]
New Relic, “Auto-telemetry with Pixie for instant Kubernetes observability”, 05 pages, May 12, 2025, https://docs.newrelic.com/docs/kubernetes-pixie/auto-telemetry-pixie/get-started-auto-telemetry-pixie/. [cited by applicant]
New Relic, “Real-time profiling for Java using JFR metrics”, 06 pages, May 12, 2025, https://docs.newrelic.com/docs/apm/agents/java-agent/features/real-time-profiling-java-using-jfr-metrics/. [cited by applicant]
Sysdig Monitor—“Radically Simplified Monitoring”, IBM partner SysDig, 11 pages, May 12, 2025, https://sysdig.com/products/monitor/. [cited by applicant]
Cited By (1)
US 12,596,601