×

Systems and methods of implementing tracking of resource usage for a cloud-based system

  • US 10,397,309 B2
  • Filed: 05/13/2015
  • Issued: 08/27/2019
  • Est. Priority Date: 05/13/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • setting filters to control a scope of tracking at least one of service entry data and service exit data, across multiple services running on multiple hardware instances, wherein the setting the filters comprises configuring transaction invocations to invoke cascading service invocations of the multiple services;

    running an interpreter, configured to be run as an instance on the multiple hardware instances, to specify a profiled service, profiled method, or profiled class, corresponding to the service entry data or the service exit data for tracking as set in the filters, to receive a transaction ID among the multiple services, and to spawn an autonomous log unit upon entry or exit of any of the multiple services that correspond to the profiled service, profiled method, or profiled class, at an event boundary corresponding to the entrance or the exit;

    applying the filters so that the autonomous log unit records at least one of the entry and exit of the multiple services corresponding to the profiled service, profiled method, or profiled class,wherein, as a result of a given transaction invocation of the transaction invocations, the data captured by the autonomous log unit comprises;

    a transaction ID configured to span services and classes invoked following the given transaction invocation,a URI for the given transaction invocation,an identifier for the service or class entered or exited,a time stamp of a given service entry of the service entries or a given service exit of the service exits; and

    a CPU time corresponding to the given transaction invocation;

    analyzing performance of at least some of the transaction invocations by organizing the data captured by the autonomous log unit across the multiple services, organizing the autonomous log unit into nested service invocations by corresponding transaction IDs of the transaction invocations, and generating a single profile view of performance metrics of the cascading service invocations;

    persisting results of the analyzing;

    implementing service protection process that comprises determining, based on the single profile view, that the CPU time corresponding to the given transaction invocation exceeds a maximum CPU time corresponding to the given transaction; and

    upon the determining that the CPU time corresponding to the given transaction invocation exceeds a maximum CPU time corresponding to the given transaction invocation, enforcing the governor limit for the given transaction invocation via the interpreter, wherein the maximum CPU time is determined based at least in part on whether the given transaction invocation corresponds to a synchronous process or to an asynchronous process.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×