Method and apparatus for tracing paths in service function chains
US-2018131590-A1 · May 10, 2018 · US
US10216614B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10216614-B2 |
| Application number | US-201615378177-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 14, 2016 |
| Priority date | Nov 27, 2016 |
| Publication date | Feb 26, 2019 |
| Grant date | Feb 26, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.