IP Library › Granted Patent US 12,541,563
Granted Patent B2
US 12,541,563 · App. 18/364,333 · Granted Feb 3, 2026

Instrumentation of soft navigation elements of web page applications

Inventors: Kevin J. Cirone (Tewksbury, MA); Blake T. Sullivan (Redwood City, CA); Dipankar Bajpai (Chelmsford, MA)
Assignee: Oracle International Corporation
G06F16/954G06F16/958
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,541,563
App. No.
18/364,333
Granted
Feb 3, 2026
Kind
B2
Abstract

Disclosed techniques relate to instrumenting applications. In an example, a method involves providing a web page application with a tracer application. The method further involves accessing a source of the web page application. The method further involves detecting a reference to an element of the web page application in the source. The method further involves detecting the user interaction with the web page application. The method further involves automatically logging a start of a span based on the detection of the user interaction. The logging includes associating the span with the tracer application. The method further involves executing operations relating to the element. The method further involves determining that the element is ready for additional user interactions. The method further involves automatically logging an end of the span based upon the determining.

Claims (89)

1 . A method of instrumenting an application, the method comprising:

providing, to a web browser on a client device, a web page application that comprises a tracer application;

accessing, via the tracer application, a source of the web page application;

detecting, via the tracer application and in the source, a reference to an element of the web page application, wherein the element is a soft navigation element that (i) is triggered by a user interaction with the web page application and (ii) is marked with a priority designation at development of the web page application;

detecting, via the tracer application, the user interaction with the web page application;

automatically logging a start of a span based on the detection of the user interaction, the logging comprising associating the span with the tracer application;

executing operations relating to the element;

determining that the element is ready for additional user interactions; and

automatically logging an end of the span based upon the determining.

2 . The method of claim 1 , further comprising:

automatically starting an additional span related to a subset of the operations, wherein the subset of the operations are associated with a rendering of the element and wherein the additional span is a child span of the span; and

automatically logging an end of the additional span based upon a completion of the subset of the operations.

3 . The method of claim 1 , wherein detecting the reference to the element of the web page application comprises:

executing, within the tracing application, a mutation observer that analyzes the source of a web page; and

determining, via the mutation observer, that the source has changed.

4 . The method of claim 1 , wherein automatically logging the end of the span comprises determining one or more of: (i) a number of processing cycles corresponding to the execution of the operations or (ii) an execution time of the operations.

5 . The method of claim 1 , further comprising:

determining, from the source of the web page application, that an additional element is triggered by the user interaction;

in response to the determining that the additional element is triggered by the user interaction:

automatically logging an additional start of an additional span, the logging comprising associating the additional span with the tracer application;

executing additional operations relating to the additional element;

determining that the additional element is ready for user interactions; and

automatically logging an end of the additional span based upon the determining; and

outputting a combined span representing completion of the span and the additional span.

6 . The method of claim 1 , further comprising determining that the element has the priority designation by identifying, in the source of the web page application, one or more attributes associated with the element.

7 . The method of claim 1 , wherein the operations relating to the element comprise:

transmitting, to an external server, a request for the element;

creating a child span based on the transmitting;

receiving the element from the external server;

automatically logging an end of the child span responsive to receiving the element; and

associating the child span with the span.

8 . A system comprising:

a non-transitory computer-readable medium storing computer-executable program instructions; and

a processing device communicatively coupled to the non-transitory computer-readable medium for executing the computer-executable program instructions, wherein executing the computer-executable program instructions configures the processing device to perform operations comprising:

providing, to a web browser on a client device, a web page application that comprises a tracer application;

accessing, via the tracer application, a source of the web page application;

detecting, via the tracer application and in the source, a reference to an element of the web page application, wherein the element is a soft navigation element that (i) is triggered by a user interaction with the web page application and (ii) is marked with a priority designation at development of the web page application;

detecting, via the tracer application, the user interaction with the web page application;

automatically logging a start of a span based on the detection of the user interaction, the logging comprising associating the span with the tracer application;

executing operations relating to the element;

determining that the element is ready for additional user interactions; and

automatically logging an end of the span based upon the determining.

9 . The system of claim 8 , wherein executing the computer-executable program instructions configures the processing device to perform operations comprising:

automatically starting an additional span related to a subset of the operations, wherein the subset of the operations are associated with a rendering of the element and wherein the additional span is a child span of the span; and

automatically logging an end of the additional span based upon a completion of the subset of the operations.

10 . The system of claim 8 , wherein detecting the reference to the element of the web page application comprises:

executing, within the tracing application, a mutation observer that analyzes the source of a web page; and

determining, via the mutation observer, that the source has changed.

11 . The system of claim 8 , wherein automatically logging the end of the span comprises determining one or more of: (i) a number of processing cycles corresponding to the execution of the operations or (ii) an execution time of the operations.

12 . The system of claim 8 , wherein executing the computer-executable program instructions configures the processing device to perform operations comprising:

determining, from the source of the web page application, that an additional element is triggered by the user interaction;

in response to the determining that the additional element is triggered by the user interaction:

automatically logging an additional start of an additional span, the logging comprising associating the additional span with the tracer application;

executing additional operations relating to the additional element;

determining that the additional element is ready for user interactions; and

automatically logging an end of the additional span based upon the determining; and

outputting a combined span representing completion of the span and the additional span.

13 . The system of claim 8 , wherein executing the computer-executable program instructions configures the processing device to perform operations comprising determining that the element has the priority designation by identifying, in the source of the web page application, one or more attributes associated with the element.

14 . The system of claim 8 , wherein the operations relating to the element comprise:

transmitting, to an external server, a request for the element;

creating a child span based on the transmitting;

receiving the element from the external server;

automatically logging an end of the child span responsive to receiving the element; and

associating the child span with the span.

15 . A non-transitory computer-readable storage medium storing computer-executable program instructions, wherein when executed by a processing device, the computer-executable program instructions cause the processing device to perform operations comprising:

providing, to a web browser on a client device, a web page application that comprises a tracer application;

accessing, via the tracer application, a source of the web page application;

detecting, via the tracer application and in the source, a reference to an element of the web page application, wherein the element is a soft navigation element that (i) is triggered by a user interaction with the web page application and (ii) is marked with a priority designation at development of the web page application;

detecting, via the tracer application, the user interaction with the web page application;

automatically logging a start of a span based on the detection of the user interaction, the logging comprising associating the span with the tracer application;

executing operations relating to the element;

determining that the element is ready for additional user interactions; and

automatically logging an end of the span based upon the determining.

16 . The non-transitory computer-readable storage medium of claim 15 , wherein when executed by the processing device, the computer-executable program instructions cause the processing device to perform operations comprising:

automatically starting an additional span related to a subset of the operations, wherein the subset of the operations are associated with a rendering of the element and wherein the additional span is a child span of the span; and

automatically logging an end of the additional span based upon a completion of the subset of the operations.

17 . The non-transitory computer-readable storage medium of claim 15 , wherein detecting the reference to the element of the web page application comprises:

executing, within the tracing application, a mutation observer that analyzes the source of a web page; and

determining, via the mutation observer, that the source has changed.

18 . The non-transitory computer-readable storage medium of claim 15 , wherein automatically logging the end of the span comprises determining one or more of: (i) a number of processing cycles corresponding to the execution of the operations or (ii) an execution time of the operations.

19 . The non-transitory computer-readable storage medium of claim 15 , wherein when executed by the processing device, the computer-executable program instructions cause the processing device to perform operations comprising:

determining, from the source of the web page application, that an additional element is triggered by the user interaction;

in response to the determining that the additional element is triggered by the user interaction:

automatically logging an additional start of an additional span, the logging comprising associating the additional span with the tracer application;

executing additional operations relating to the additional element;

determining that the additional element is ready for user interactions; and

automatically logging an end of the additional span based upon the determining; and

outputting a combined span representing completion of the span and the additional span.

20 . The non-transitory computer-readable storage medium of claim 15 , wherein when executed by the processing device, the computer-executable program instructions cause the processing device to perform operations comprising determining that the element has the priority designation by identifying, in the source of the web page application, one or more attributes associated with the element.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2023
From: CIRONE, KEVIN J.; SULLIVAN, BLAKE T.; BAJPAI, DIPANKAR
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 064486/0275 →
Continuity (1)
Related Publication 20250045340A1 · Feb 6, 2025
References Cited (24)
US 10455043B2 · Wei et al. · 2019 [cited by applicant]
US 10776252B1 · Weiss · 2020 [cited by applicant]
US 11403157B1 · Ross · 2022 [cited by applicant]
US 20040015736A1 · Mihara · 2004 [cited by applicant]
US 20090210890A1 · Tully · 2009 [cited by examiner]
US 20120179744A1 · Sullivan et al. · 2012 [cited by applicant]
US 20120259969A1 · Mastrangelo et al. · 2012 [cited by applicant]
US 20140136693A1 · Greifeneder et al. · 2014 [cited by applicant]
US 20150281035A1 · Melikyan · 2015 [cited by examiner]
US 20160098697A1 · Dunsmore et al. · 2016 [cited by applicant]
US 20160315842A1 · Boss et al. · 2016 [cited by applicant]
US 20170132111A1 · Ravindranath Sivalingam · 2017 [cited by examiner]
US 20170237799A1 · Veeravalli et al. · 2017 [cited by applicant]
US 20190310931A1 · Ocariza, Jr. et al. · 2019 [cited by applicant]
US 20210216438A1 · Mola · 2021 [cited by applicant]
US 20220027827A1 · Flacher et al. · 2022 [cited by applicant]
US 20220083447A1 · Cirone et al. · 2022 [cited by applicant]
US 20220083454A1 · Cirone et al. · 2022 [cited by applicant]
US 20220276953A1 · Padala et al. · 2022 [cited by applicant]
International Patent Application No. PCT/US2024/040336 , International Search Report and Written Opinion, Mailed On Oct. 30, 2024, 14 pages. [cited by applicant]
U.S. Appl. No. 18/364,320, “Non-Final Office Action”, mailed Jul. 2, 2025, 18 pages. [cited by applicant]
U.S. Appl. No. 18/364,327, “Non-Final Office Action”, mailed Jun. 17, 2025, 20 pages. [cited by applicant]
U.S. Appl. No. 18/364,342, “Non-Final Office Action”, mailed Jun. 18, 2025, 23 pages. [cited by applicant]
International Application No. PCT/US2025/026737, “International Search Report and Written Opinion”, mailed Aug. 5, 2025, 11 pages. [cited by applicant]