IP Library Granted Patent US 12,229,039
Granted Patent B2
US 12,229,039 · App. 17/891,289 · Granted Feb 18, 2025

On-demand contextual trace log generation

Inventors: Wei Chen (Shanghai, CN); Wenbing Duan (Shanghai, CN); Xudong Liu (Shanghai, CN); Tianhao Liu (Shanghai, CN); Xiang Fan (Shanghai, CN); Jia Wang (Shanghai, CN)
Assignee: SAP SE
G06F11/3636G06F11/3624G06F11/3692
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,229,039
App. No.
17/891,289
Granted
Feb 18, 2025
Kind
B2
Abstract

Computer-readable media, methods, and systems are disclosed for automatic generation of dynamic application trace logs associated with a running application. A log viewer presents application log entries associated with an application execution log having been generated in connection with a previous execution of the running application. The application execution log is analyzed to identify application execution log context descriptors. The application execution log context descriptors are extracted from the application execution log. The application execution log context descriptors are transmitted to the running application. Matching templates that match each of the one or more application execution log context descriptors are received from the running application. The tracing templates that have an associated context relevance score are received from the running application. Finally, the log viewer displays the tracing templates based on the associated context relevance score and starts a trace based on a selected tracing template.

Claims (55)

1. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by a processor, perform a method for automatic generation of dynamic application trace logs associated with a running application, the method comprising:

presenting, by a log viewer, a plurality of application log entries associated with an application execution log, the application log having been generated in connection with a previous execution of an application;

analyzing the application execution log to identify one or more application execution log context descriptors;

extracting the one or more application execution log context descriptors from the application execution log;

transmitting the one or more application execution log context descriptors to the running application;

for each application execution log context descriptor, requesting, by the running application, one or more registered tracing templates for examining each application execution log context descriptor and returning the one or more tracing templates and an associated context relevance score;

receiving from the running application the one or more tracing templates that match each of the one or more application execution log context descriptors;

receiving, at the log viewer, the one or more tracing templates having the associated context relevance scores;

displaying, by the log viewer, the one or more tracing templates based on the associated context relevance scores;

generating an application debugging script based on the one or more tracing templates;

starting an execution trace in connection with the running application based on the generated application debugging script; and

transmitting a current application execution log based on the execution trace.

2. The non-transitory computer-readable media of claim 1 , wherein the log viewer includes a log segment selection integration for selecting log segments to extract the one or more application execution log context descriptors.

3. The non-transitory computer-readable media of claim 1 , wherein the one or more application execution log context descriptors comprises one or more of: a class name of a class within a module in the running application; a tenant identifier associated with a tenant in the running application; and a message associated with the running application.

4. The non-transitory computer-readable media of claim 1 , wherein the method further comprises:

in response to determining that no context information can be extracted from a selected log segment in the plurality of application log entries, raising an error condition.

5. The non-transitory computer-readable media of claim 4 , wherein the associated context relevance score is determined based on metadata associated with one or more annotations associated with source code of the running application.

6. The non-transitory computer-readable media of claim 1 , wherein displaying, the one or more tracing templates based on the associated context relevance score comprises displaying the one or more tracing templates by descending context relevance score.

7. A method for automatic generation of dynamic application trace logs associated with a running application, the method comprising:

presenting, by a log viewer, a plurality of application log entries associated with an application execution log, the application log having been generated in connection with a previous execution of an application;

analyzing the application execution log to identify one or more application execution log context descriptors;

extracting the one or more application execution log context descriptors from the application execution log;

transmitting the one or more application execution log context descriptors to the running application;

for each application execution log context descriptor, requesting, by the running application, one or more registered tracing templates for examining each application execution log context descriptor and returning the one or more tracing templates and an associated context relevance score;

receiving from the running application the one or more tracing templates that match each of the one or more application execution log context descriptors;

receiving, at the log viewer, the one or more tracing templates having the associated context relevance scores;

displaying, by the log viewer, the one or more tracing templates based on the associated context relevance scores;

generating an application debugging script based on the one or more tracing templates;

starting an execution trace in connection with the running application based on the generated application debugging script; and

transmitting a current application execution log based on the execution trace.

8. The method of claim 7 , wherein the log viewer includes a log segment selection integration for selecting log segments to extract the one or more application execution log context descriptors.

9. The method of claim 8 , wherein the one or more application execution log context descriptors comprises one or more of: a class name of a class within a module in the running application; a tenant identifier associated with a tenant in the running application; and a message associated with the running application.

10. The method of claim 7 , further comprising:

in response to determining that no context information can be extracted from a selected log segment in the plurality of application log entries, raising an error condition.

11. The method of claim 10 , wherein the associated context relevance score is determined based on metadata associated with one or more annotations associated with source code of the running application.

12. The method of claim 7 , wherein the associated context relevance score is determined based on metadata associated with one or more annotations associated with source code of the running application.

13. A system for automatic generation of dynamic application trace logs associated with a running application, the system comprising:

at least one processor;

and at least one non-transitory memory storing computer executable instructions that when executed by the at least one processor cause the system to carry out actions comprising:

presenting, by a log viewer, a plurality of application log entries associated with an application execution log, the application log having been generated in connection with a previous execution of an application;

analyzing the application execution log to identify one or more application execution log context descriptors;

extracting the one or more application execution log context descriptors from the application execution log;

transmitting the one or more application execution log context descriptors to the running application;

for each application execution log context descriptor, requesting, by the running application, one or more registered tracing templates for examining each application execution log context descriptor and returning the one or more tracing templates and an associated context relevance score;

receiving from the running application the one or more tracing templates that match each of the one or more application execution log context descriptors;

receiving, at the log viewer, the one or more tracing templates having the associated context relevance scores;

displaying, by the log viewer, the one or more tracing templates based on the associated context relevance scores;

generating an application debugging script based on the one or more tracing templates;

starting an execution trace in connection with the running application based on the generated application debugging script; and

transmitting a current application execution log based on the execution trace.

14. The system of claim 13 , wherein the log viewer includes a log segment selection integration for selecting log segments to extract the one or more application execution log context descriptors.

15. The system of claim 13 , wherein the one or more application execution log context descriptors comprises one or more of: a class name of a class within a module in the running application; a tenant identifier associated with a tenant in the running application; and a message associated with the running application.

16. The system of claim 13 , wherein the actions further comprise:

in response to determining that no context information can be extracted from a selected log segment in the plurality of application log entries, raising an error condition.

17. The system of claim 16 , wherein the associated context relevance score is determined based on metadata associated with one or more annotations associated with source code of the running application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2022
From: CHEN, WEI; DUAN, WENBING; LIU, XUDONG; LIU, TIANHAO; FAN, XIANG; WANG, JIA
To: SAP SE
Reel/Frame 060943/0342 →
Continuity (1)
Related Publication 20240061762A1 · Feb 22, 2024
References Cited (50)
US 5872909A · Wilner · 1999 [cited by examiner]
US 8347269B2 · Lazzaro · 2013 [cited by examiner]
US 8490064B2 · Shrivastava · 2013 [cited by examiner]
US 8997057B1 · Diwan · 2015 [cited by examiner]
US 9111031B2 · Wisnovsky · 2015 [cited by examiner]
US 9164878B2 · Kosuda · 2015 [cited by examiner]
US 9417993B2 · Gataullin · 2016 [cited by examiner]
US 9582398B1 · Elliott · 2017 [cited by examiner]
US 9665474B2 · Li · 2017 [cited by examiner]
US 9772927B2 · Gounares · 2017 [cited by examiner]
US 9864672B2 · Seto · 2018 [cited by examiner]
US 10394691B1 · Cole · 2019 [cited by examiner]
US 10467117B2 · Wilding · 2019 [cited by examiner]
US 10540259B1 · Kramer · 2020 [cited by examiner]
US 10628280B1 · Reeves · 2020 [cited by examiner]
US 10642721B2 · Kulkarni · 2020 [cited by examiner]
US 10649749B1 · Brooker · 2020 [cited by examiner]
US 10949338B1 · Sirianni · 2021 [cited by examiner]
US 11157386B2 · Chen · 2021 [cited by examiner]
US 11243869B2 · Mola · 2022 [cited by examiner]
US 11307966B2 · Odnopozov · 2022 [cited by examiner]
US 11928014B1 · Agarwal · 2024 [cited by examiner]
US 11940895B2 · Poghosyan · 2024 [cited by examiner]
US 20070143795A1 · Tran · 2007 [cited by examiner]
US 20110154296A1 · Marenco · 2011 [cited by examiner]
US 20120054675A1 · Rajamannar · 2012 [cited by examiner]
US 20130160128A1 · Dolan-Gavitt · 2013 [cited by examiner]
US 20150067654A1 · Seto · 2015 [cited by examiner]
US 20150254163A1 · Baril · 2015 [cited by examiner]
US 20160019133A1 · Forgács · 2016 [cited by examiner]
US 20160092336A1 · Atanasiu · 2016 [cited by examiner]
US 20160301561A1 · Petersen · 2016 [cited by examiner]
US 20180239661A1 · Duffee-Braun · 2018 [cited by examiner]
US 20190324891A1 · Mola · 2019 [cited by examiner]
US 20190340103A1 · Nelson · 2019 [cited by examiner]
US 20190370160A1 · Raman · 2019 [cited by examiner]
US 20200110687A1 · Hu · 2020 [cited by examiner]
US 20200233779A1 · Kroehling · 2020 [cited by examiner]
US 20210026646A1 · Jha · 2021 [cited by examiner]
US 20210216433A1 · Mola · 2021 [cited by examiner]
US 20210216437A1 · Mola · 2021 [cited by examiner]
US 20210224084A1 · Molchanov · 2021 [cited by examiner]
US 20210248023A1 · Brown · 2021 [cited by examiner]
US 20230244593A1 · Wu · 2023 [cited by examiner]
US 20240289256A1 · K · 2024 [cited by examiner]
CN 117435505A · 2024 [cited by examiner]
WO WO2015071777A1 · 2015 [cited by examiner]
WO WO2021068547A1 · 2021 [cited by examiner]
Vladimir Topias Kramar “Tool for grouping test log failures using string similarity algorithms”; University of Helsinki Faculty of Science—Master's thesis Master's Programme in Data Science, Sep. 25, 2022. [cited by examiner]
Jeanderson Cândido et al. “Log-based software monitoring: a systematic mapping study”; Peer J Computer Science: Department of Software Technology, Delft University of Technology, Delft, Netherlands—Adyen N.V., Amsterdam… [cited by examiner]