Sampling approaches for a distributed code tracing system

US10216614B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10216614-B2
Application numberUS-201615378177-A
CountryUS
Kind codeB2
Filing dateDec 14, 2016
Priority dateNov 27, 2016
Publication dateFeb 26, 2019
Grant dateFeb 26, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed are various embodiments for sampling in a distributed code tracing system. A sampling service receives a segment of a code trace corresponding to a request submitted to a particular application of a plurality of applications hosted in a computing environment. The code trace documents at least one call to at least one component service of the particular application to respond to the request. The sampling service determines whether to forward the segment to a trace processing system or to discard the segment based at least in part on at least one sampling parameter.

First claim

Opening claim text (preview).

Therefore, the following is claimed: 1. A system, comprising: one or more processors; and memory to store computer-executable instructions that, if executed, cause the one or more processors to at least: receive a segment of a code trace corresponding to a request submitted to a particular application of a plurality of applications hosted in a computing environment, wherein the code trace documents at least one call to at least one component service of the particular application to respond to the request; determine whether to discard the segment based at least in part on at least one sampling parameter; discard the segment; and aggregate another segment in a batch before forwarding the other segment to a trace processing system as part of the batch. 2. The system of claim 1 , wherein the at least one sampling parameter specifies a percentage of code trace segments to retain over a time period. 3. The system of claim 1 , wherein the at least one sampling parameter is based at least in part on a target cost and a current cost associated with sampling. 4. A system, comprising: one or more processors; and memory to store computer-executable instructions that, if executed, cause the one or more processors to at least: receive a segment of a code trace corresponding to a request submitted to a particular application of a plurality of applications hosted in a computing environment, wherein the code trace documents at least one call to at least one component service of the particular application to respond to the request; determine whether to discard the segment based at least in part on at least one sampling parameter; discard the segment; maintain information indicating code traces received, forwarded, or discarded within a time window; and send the information to a trace processing system. 5. The system of claim 4 , wherein, if executed, the computer-executable instructions further cause the one or more processors to at least adjust the at least one sampling parameter based at least in part on a directive received from the trace processing system. 6. A system, comprising one or more processors; and memory to store computer-executable instructions that, if executed, cause the one or more processors to at least: receive a segment of a code trace corresponding to a request submitted to a particular application of a plurality of applications hosted in a computing environment, wherein the code trace documents at least one call to at least one component service of the particular application to respond to the request; determine whether to discard the segment based at least in part on at least one sampling parameter; discard the segment; and apply reservoir sampling to collect a fixed number of code traces followed by Bernoulli sampling to collect a percentage of additional code traces based at least in part on the at least one sampling parameter. 7. A system, comprising: one or more processors; and memory to store computer-executable instructions that, if executed cause the one or more processors to at least: receive a segment of a code trace corresponding to a request submitted to a particular application of a plurality of applications hosted in a computing environment, wherein the code trace documents at least one call to at least one component service of the particular application to respond to the request; determine whether to discard the segment based at least in part on at least one sampling parameter; discard the segment; and wherein the at least one sampling parameter comprises a first sampling parameter that pertains to a first type of request, and a second sampling parameter that pertains to a second type of request, wherein a type of the request is identified by at least a portion of a uniform resource locator (URL). 8. A system, comprising: one or more processors; and memory to store computer-executable instructions that, if executed, cause the one or more processors to at least: receive a segment of a code trace corresponding to a request submitted to a particular application of a plurality of applications hosted in a computing environment, wherein the code trace documents at least one call to at least one component service of the particular application to respond to the request; determine whether to discard the segment based at least in part on at least one sampling parameter; discard the segment; receive another segment of another code trace corresponding to another request submitted to a particular application of a plurality of applications hosted in a computing environment, wherein the other code trace documents at least one call to at least one component service of the particular application to respond to the other request; determine whether to forward the other segment to a trace processing system based at least in part on at least one sampling parameter; and forward the other segment to the trace processing system. 9. The system of claim 8 , wherein, if executed, the computer-executable instructions further cause the one or more processors to at least adjust the at least one sampling parameter based at least in part on a directive received from the trace processing system. 10. The system of claim 8 , wherein the at least one sampling parameter is based at least in part on a target cost and a current cost associated with sampling. 11. A method, comprising: receiving, by one or more processors, information indicating a number of code traces processed by a sampling service within a time window, wherein the sampling service is to forward or discard individual code traces according to at least one sampling parameter; causing, by the one or more processors, the sampling service to dynamically adjust the at least one sampling parameter based at least in part on a difference between the number of code traces and a target number of code traces; and generating a user interface indicating code traces discarded and code traces forwarded for individual ones of a plurality of request types for a particular application based at least in part on the number of code traces. 12. The method of claim 11 , wherein the sampling service is to forward the code traces that have been sampled to another sampling service that also performs sampling. 13. The method of claim 12 , wherein the sampling service and the other sampling service are executed by respective ones of a plurality of machine instances in a computing environment. 14. The method of claim 11 , wherein the at least one sampling parameter includes a plurality of sampling percentages associated with respective ones of the plurality of request types for a particular application. 15. A method, comprising: receiving, by one or more processors, information indicating a number of code traces processed by a sampling service within a time window, wherein the sampling service is to forward or discard individual code traces according to at least one sampling parameter; causing, by the one or more processors, the sampling service to dynamically adjust the at least one sampling parameter based at least in part on a difference between the number of code traces and a target number of code traces; and determining the target number of code traces based at least in part on a current transaction volume of a plurality of applications associated with a customer of a hosting provider. 16. The method of claim 15 , wherein the sampling service is executed by a same machine instance as an application whose code traces are being sampled by the sampling service. 17. The method of claim 15 , further compri

Assignees

Inventors

Classifications

  • where the computing system is implementing multitasking (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title

  • Indexing; Data structures therefor; Storage structures · CPC title

  • Data logging (G06F11/14, G06F11/2205 take precedence) · CPC title

  • for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029) · CPC title

  • monitoring of user actions (tracking the activity of the user H04L67/535) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10216614B2 cover?
Disclosed are various embodiments for sampling in a distributed code tracing system. A sampling service receives a segment of a code trace corresponding to a request submitted to a particular application of a plurality of applications hosted in a computing environment. The code trace documents at least one call to at least one component service of the particular application to respond to the re…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3476. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 26 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).