Method and apparatus for accessing instrumentation data from within a managed code environment
First Claim
1. A computer-implemented method for providing access to instrumentation data from within a managed code runtime environment, wherein the data arises from a source outside the managed code runtime environment, the method comprising:
- providing an application compiled into an intermediate form from a runtime-aware programming language, the application being suitable for execution by a runtime engine in a managed code runtime environment;
executing the application in the managed code runtime environment;
receiving a request at the runtime engine from the executing application for instrumentation data from a source executing in a native code environment outside the managed code runtime environment;
the runtime engine binding an instance of a management object class to a particular management instrumentation object, the instance of the management object class being constructed from an API comprising the management object class, the management object class encapsulating a method for binding an instance of the management object to the particular management instrumentation object and a method for saving changes made to the object,the API further comprising a management object searcher class which permits the retrieval of a collection of instrumentation objects based on a specified query, a management event watcher class, a management path class, a management scope class providing functionally for building a management scope or namespace, and a management options class which is a base class for subclasses that allow options to be set that are utilized when certain operations are performed, the certain operations comprising one or more of connecting to a management scope, enumeration of object, and querying,the particular management instrumentation object representing the data source executing in the native code environment outside management code environment;
wherein binding the instance comprises passing a path of an instrumentation data object for the instance of the management object to bind to, options used to retrieve the instrumentation data object, and a namespace identifying a parent of the instrumentation data object;
transmitting a corresponding request for said instrumentation data to the source executing in the native code environment outside the managed code runtime environment;
receiving a response to said corresponding request from said instrumentation data source;
converting said response to a format that is compatible with said managed code runtime environment; and
responding to said request for instrumentation data with said converted response.
2 Assignments
0 Petitions
Accused Products
Abstract
An instrumentation client API is provided within a managed code runtime environment for accessing instrumentation data that resides outside of the managed code runtime environment. The instrumentation client API provides access to instrumentation data in a manner that is consistent with the classes and models provided by the runtime environment, raises exceptions in a manner that is compatible with the runtime environment, and is secure. The instrumentation client API wraps, or translates, calls to and from an instrumentation data source external to the runtime environment. The API interacts with an interface provided by the instrumentation data source to provide functionality and connectivity that is not otherwise provided by the instrumentation data source. The API also provides access to instrumentation data in a manner that is consistent with the models and classes provided by the runtime platform. The classes defined by the API return collections and exceptions in a way that is consistent with the managed code runtime platform.
42 Citations
14 Claims
-
1. A computer-implemented method for providing access to instrumentation data from within a managed code runtime environment, wherein the data arises from a source outside the managed code runtime environment, the method comprising:
-
providing an application compiled into an intermediate form from a runtime-aware programming language, the application being suitable for execution by a runtime engine in a managed code runtime environment; executing the application in the managed code runtime environment; receiving a request at the runtime engine from the executing application for instrumentation data from a source executing in a native code environment outside the managed code runtime environment; the runtime engine binding an instance of a management object class to a particular management instrumentation object, the instance of the management object class being constructed from an API comprising the management object class, the management object class encapsulating a method for binding an instance of the management object to the particular management instrumentation object and a method for saving changes made to the object, the API further comprising a management object searcher class which permits the retrieval of a collection of instrumentation objects based on a specified query, a management event watcher class, a management path class, a management scope class providing functionally for building a management scope or namespace, and a management options class which is a base class for subclasses that allow options to be set that are utilized when certain operations are performed, the certain operations comprising one or more of connecting to a management scope, enumeration of object, and querying, the particular management instrumentation object representing the data source executing in the native code environment outside management code environment; wherein binding the instance comprises passing a path of an instrumentation data object for the instance of the management object to bind to, options used to retrieve the instrumentation data object, and a namespace identifying a parent of the instrumentation data object; transmitting a corresponding request for said instrumentation data to the source executing in the native code environment outside the managed code runtime environment; receiving a response to said corresponding request from said instrumentation data source;
converting said response to a format that is compatible with said managed code runtime environment; andresponding to said request for instrumentation data with said converted response. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method for accessing instrumentation data from within a managed code runtime environment, wherein the managed code runtime environment provides a runtime engine that executes an application compiled from source written in a runtime-aware language into an intermediate form, the method comprising:
-
receiving a request from an application compiled from source written in a runtime-aware language into an intermediate form for instrumentation data representing management information about other application and devices available in an environment outside the managed code runtime environment, the outside environment comprising a native code environment, wherein the request for said instrumentation data from said outside environment is implemented within a runtime engine of said managed code runtime environment using an API for binding an instance of a management object class to a particular instrumentation data object, the instance of the management object class being constructed from the API and encapsulating a method for binding an instance of the management object to the particular instrumentation data object and a method for saving changes made to the object, the instrumentation data object representing the data source executing in the native code environment outside the managed code runtime environment, wherein binding the management class instance to the instrumentation data object comprises passing the path of the instrumentation data to bind to, the option used to retrieve the instrumentation data object, and a namespace identifying the parent of the instrumentation data object; wherein the API comprises a management object class which encapsulates a method for binding an instance of the management object to the instrumentation object and a method for saving changes made to the object, a management object searcher class which permits the retrieval of a collection of instrumentation object based on a specified query, a management event watcher class, a management path class, a management scope class providing functionally for building a management scope or namespace, and a management options class which is a base class for subclasses that allow options to be set that are utilized when certain operations are performed, the certain operations comprising one or more of connecting to a management scope, enumeration of objects, and querying; converting a response to a format that is compatible with the managed code runtime environment; and responding to the request for instrumentation data with the converted response. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
Specification