IP Library Granted Patent US 9,959,195
Granted Patent B2
US 9,959,195 · App. 14/699,784 · Granted May 1, 2018

Dynamic instrumentation of WSGI applications

Inventors: Sanjay Nagaraj (Dublin, CA); Dan Koepke (San Francisco, CA)
Assignee: Cisco Technology, Inc.
G06F11/3644H04L67/04H04L67/10H04L67/22H04L67/2804H04L67/42
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 9,959,195
App. No.
14/699,784
Granted
May 1, 2018
Kind
B2
Abstract

An agent installed on application server having a WSGI web application dynamically instruments that web application. The agent may modify the application via instrumentation such that it can be monitored without specific details of the WSGI application framework. A configuration file may be modified upon detecting a call to the application configuration file through a gateway interface that receives the call. After modifying the configuration file, the modified configuration file is executed in response to the call. Additionally, for subsequent calls to that particular web application, the WSGI gateway will call the modified WSGI configuration file for execution instead of the original WSGI file.

Claims (32)

1. A method for monitoring an application, comprising:

detecting, by an agent on a server, a first call to a web service gateway interface (WSGI) application file from a gateway interface that receives the first call;

accessing, by the agent, a configuration file associated with the WSGI application file;

modifying, by the agent, the configuration file to include WSGI script for intercepting calls for the WSGI application file, wherein modifying the configuration file includes:

generating a new application file, and the new application file includes an existing application file and additional code for monitoring execution of the WSGI application file;

detecting, by the agent, a second call to the WSGI application file; and

in response to detecting the second call, directing the second call to the modified configuration file and executing the modified configuration file.

2. The method of claim 1 , wherein modifying the configuration file includes instrumenting the configuration file.

3. The method of claim 1 , further comprising configuring the gateway interface to call the modified configuration file in response to detecting the second call.

4. The method of claim 1 , wherein the first call originates from a remote machine and is first received by the gateway interface.

5. The method of claim 1 , wherein the gateway interface is a web server gateway interface.

6. The method of claim 1 , wherein the WSGI script is created by the agent.

7. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for monitoring an application, the method comprising:

detecting a first call to a web service gateway interface (WSGI) application file from a gateway interface that receives the first call;

accessing a configuration file associated with the WSGI application file;

modifying the configuration file to include WSGI script for intercepting calls for the WSGI application file, wherein modifying the configuration file includes:

generating a new application file, and the new application file includes an existing application file and additional code for monitoring execution of the WSGI application file;

detecting a second call to the WSGI application file; and

in response to detecting the second call, directing the second call to the modified configuration file and executing the modified configuration file.

8. The non-transitory computer readable storage medium of claim 7 , wherein modifying the configuration file includes instrumenting the configuration file.

9. The non-transitory computer readable storage medium of claim 7 , further comprising configuring the gateway interface to call the modified configuration file in response to detecting the second call.

10. The non-transitory computer readable storage medium of claim 7 , wherein the first call originates from a remote machine and is first received by the gateway interface.

11. The non-transitory computer readable storage medium of claim 7 , wherein the gateway interface is a web server gateway interface.

12. The non-transitory computer readable storage medium of claim 7 , wherein the WSGI script is created by the agent.

13. A system for monitoring applications, comprising:

an application server including one or more processors and memory; and

one or more modules stored in memory and executable by at least one of the one or more processors to detect a first call to a web service gateway interface (WSGI) application file from a gateway interface that receives the first call; access a configuration file associated with the WSGI application file; modify the configuration file to include WSGI script for intercepting calls for the WSGI application file, wherein modifying the configuration file includes: generating a new application file, and the new application file includes an existing application file and additional code for monitoring execution of the WSGI application file; detect a second call to the WSGI application file; and in response to detecting the second call, direct the second call to the modified configuration file and execute the modified configuration file.

14. The system of claim 13 , wherein modifying the configuration file includes instrumenting the configuration file.

15. The system of claim 13 , the one or more modules further executable to configure the gateway interface to call the modified configuration file in response to detecting the second call.

16. The system of claim 13 , wherein the first call originates from a remote machine and is first received by the gateway interface.

17. The system of claim 13 , wherein the gateway interface is a web server gateway interface.

18. The system of claim 13 , wherein the WSGI script is created by the agent.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2017
From: APPDYNAMICS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 044173/0050 →
CHANGE OF NAME Recorded Jun 23, 2017
From: APPDYNAMICS, INC.
To: APPDYNAMICS LLC
Reel/Frame 042964/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2016
From: NAGARAJ, SANJAY; KOEPKE, DAN
To: APPDYNAMICS, INC
Reel/Frame 038287/0884 →
Continuity (1)
Related Publication 20160321163A1 · Nov 3, 2016