The "Breadcrumbs" feature looks to improve real-time visibility of performance-impacting and error conditions for content delivery.
Breadcrumbs lets Akamai quickly do two things:
Help you troubleshoot problems. Troubleshooting a delivery issue typically requires that you contact us and provide client-side and Akamai edge IP information. We consult log information, along with some amount of back and forth communication to diagnose the issue. Breadcrumbs provides more real-time visibility into the Akamai network, to better help us in troubleshooting your issues. While Akamai customer support can simply look at a specific line in a specific log file to identify a problem, they have to locate this "specific" content in the logs. With Breadcrumbs, a potential problem is specifically written as a "breadcrumbs" line in the logs, making it easier to locate.
Leverage Breadcrumbs data. If your delivery environment can support it, you can configure it to get real-time insight regarding the Akamai network. Breadcrumbs includes data such as network health and the location in the Akamai network ("geo") used to serve content. You can aggregate this data from your player to a central location for review.
The actual root cause of an issue may not always be identifiable via breadcrumbs.
The Breadcrumbs service provides per HTTP transaction visibility into the Akamai platform, regardless of how deep within that platform, and simplifies log review for troubleshooting.
You need to add the Breadcrumbs behavior to your Property Manager property.
Create a new Property Manager property, or edit an existing one using Property Manager.
In the Property Configuration Settings options, click Add Behavior.
Input Breadcrumbs in Search available behaviors to filter the listed behaviors, and select it from the list.
The new behavior is added to your configuration. Set the Enable Breadcrumbs switch to On.
Use the Opt Mode slider to conditionally Opt-IN or Opt-OUT of breadcrumbs support on a per-request basis, using a specific query string.
Opt-OUT. Breadcrumbs data is included in every response. You can withdraw on a per-request basis by including the
Opt-IN. Breadcrumbs data is not included in responses. You can include it on a per-request basis by including the
Review this table to understand how the query strings are applied, based on your Opt Mode setting.
|Query string parameter||Opt-Mode setting||Is Breadcrumbs data included in response?||Description|
By default, Opt-IN blocks breadcrumbs data from all responses. By including this query string, the response for this request will contain breadcrumbs data.
By default, Opt-OUT includes breadcrumbs data in all responses. By including this query string, breadcrumbs data will be left out of the response to this request.
If no parameter is included, the "opt-IN" method responses will not include breadcrumbs data in all responses. (You need to include the query parameter in a request to "Opt-IN" and receive the data.)
If no parameter is included, the "Opt-OUT" method includes breadcrumbs data in all responses. You need to include the query parameter in a request to "Opt-OUT" of receiving the data.
You can simply have Breadcrumbs enabled in your property configuration and set Opt Mode to Opt-OUT to have breadcrumbs applied for all requests that match your rule criteria. Breadcrumbs include a specific header in the response to a requesting player. So, this increases the number of bytes delivered. Plus, a player just may not want (or support) the breadcrumbs response header. So, you can still have Breadcrumbs enabled and include opt-IN or opt-OUT to let the individual players determine how to handle the responses on a per-request basis.
Ion Standard, Dynamic Site Accelerator, and API Acceleration, only
When Breadcrumbs data is sent, it's included in response headers to a requesting client, and in logs to the content owner. If you're a content owner with no insight into the response headers sent to a client, you can enable this to include all Breadcrumbs data in logs, instead. This can also be helpful if you're using DataStream 2 to retrieve log data. This way, all Breadcrumbs data is carried in the logs it uses.
If you enable this, it's only applied if Breadcrumbs are sent after a request:
- If you've set Opt Mode to "Opt-OUT". All requests will include Breadcrumbs via logs, unless a request contains the
- You've set Opt Mode to "Opt-IN". This means that Breadcrumbs won't be sent unless a request includes the
ak-bc=onquery string, in which case they'll be sent via logs.
If you want to add support for Breadcrumbs, consider the following:
Response headers can't exceed 8 KB
If you enable Breadcrumbs, response headers delivered during a request will increase in size. If the overall size of these response headers exceeds 8 KB, an edge server will return an HTTP 502 status code. To avoid this, minimize additional data in your response headers to keep them well under this 8 KB maximum size.
If you're using an XMLHttpRequest (XHR)-based player, ensure that the "Access-Control-Expose-Headers" contains the name of the Breadcrumbs response header.
Cache Key Query Parameters
With Breadcrumbs, the player can send query parameters to control the opt-IN or opt-OUT aspects of receiving associated data in the response header. This parameter is not supported for use in the cache key. So, if you're including the Cache Key Query Parameters behavior, ensure that opt-IN and opt-OUT are left out.
The Breadcrumbs response header that's sent to a player includes various sub-fields of data.
|Sub-field key||Sub-field value||Details|
The IP address of the node/host currently processing the request. This can be an edge server or an origin.
A unique identifier that's assigned to the request. This helps Akamai support teams quickly pull the relevant log line in the request.
The number of milliseconds between the time the connection is accepted and the breadcrumb was gathered. This time includes the initial metadata parsing time, if metadata hadn't been loaded, as well as the metadata application time for this request, if they occurred between request acceptance and generation of the breadcrumb.
The time in milliseconds between receipt of the end of the request headers and when the breadcrumb was gathered. This includes the time it takes to fetch the object from another server in the case of a miss, or to perform (synchronous) validation of the object's freshness if the object was in cache. In both of these cases, there's a forward request corresponding to the client request. This time also may include the time to fetch the object from disk, perform ESI processing, and compute response headers.
The delta between the start of the request and the completion of the DNS lookup.
Geographic details for the node or host currently processing the request.
The autonomous system number of the current node or host.
These are letter identifiers for the Akamai network component that was involved during that phase of the request. Your Akamai account representative can use this value to determine where in the request phase the breadcrumb was gathered. Component letters include the following:
In this example, the request flow is Edge to Peer. So, the Breadcrumbs format would be in this order, with each enclosed in brackets, and separated with commas:
In this example, the request flow is Edge to Cache to Origin. So, the Breadcrumbs format would be in this order, with each enclosed in brackets, and separated with commas:
Updated 30 days ago