DataStream 2 delivery log details
DataStream 2 delivery logs provide detailed data about EdgeWorkers usage, including metrics you can use to optimize traffic and solve issues on your Akamai property. The stream collects log data under two data set fields you can choose when configuring DataStream 2, EdgeWorker usage and EdgeWorkers execution.
Refer to the Integrate DataStream 2 logs section for steps on how to configure DataStream 2 for EdgeWorkers.
EdgeWorkers usage
Usage information includes details about the EdgeWorker ID, version, event handler, reasons for turning an EdgeWorkers function off, returned errors and metrics such as initialization CPU, and initialization wall time for the event. The field returns the data in the following format:
//[EdgeWorker-Id]/[Version]/[Event Handler]/[Off
Reason]/[Logic Executed]/[Status]/[RevisionId]/[OverJavaScriptLogLimit]/#[Metrics]
Here's an example of the usage information output:
//4380/4.0/1/-/0/4/1-1/1/#1,2\//4380/4.0/4/-/0/4/1-1/0/#0,0\//4380/4.0/5/-/1/1/1-1/0/#0,0
For instructions on how to add EdgeWorkers usage information to a stream refer to the data set parameters in the DataStream 2 documentation.
Field | Description |
---|---|
EdgeWorker Id | The identifier of the EdgeWorkers function. |
Version | The EdgeWorker version. |
Event Handler | The event handler used to execute the EdgeWorkers function. Returns one of the following values: - - No event handler was executed 1 - onClientRequest 2 - onOriginRequest 3 - onOriginResponse 4 - onClientResponse 5 - responseProvider |
Off Reason | Indicates why the EdgeWorkers service was turned off. Returns one of the following values: - - Metadata indicated EdgeWorkers should be "on" m - Metadata indicated EdgeWorkers should be "off" i - Request was "internal" and as such shouldn't execute the EdgeWorkers function, such as: SureRoute Test Object races, Intermediary Processing Agent requests, Request was not from End User (not CLIENT_REQ), Akamai Translate or Purge n - Request not on supported network s - Request was "denied" by a security product |
Logic Executed | Was the EdgeWorkers function successfully executed? Returns one of the following values: 0 - No 1 - Yes |
Status | Indicates if the EdgeWorkers event handler execution returned an error. Returns one of the following values: 1 - Successful execution 2 - Generic EdgeWorkers error 3 - Could not find the EdgeWorkers identifier 4 - Requested event handler was not implemented by the EdgeWorkers function 5 - A runtime or environment error prevented the EdgeWorkers execution 6 - Error during the EdgeWorkers execution, such as a JavaScript exception or error 7 - EdgeWorkers function timed out 8 - EdgeWorkers function hit preset resource limit 12 - The amount of CPU time consumed by the event handler exceeded the limit 13 - The wall time consumed by the event handler exceeded the limit 14 - The amount of CPU time consumed during initialization by the event handler exceeded the limit 15 - The amount of wall time consumed during initialization by the event handler exceeded the limit 22 - subWorker not enabled 23 - subWorker limit hit All other error codes return a generic, unnamed or uncategorized value. |
Revision ID | The Revision ID generated for a combined code bundle. If the code bundle does not include any child EdgeWorkers the output only contains a dash (-). The Revision ID is part of the Flexible composition feature. |
Over JavaScript Log Limit | Indicates the request is hitting JavaScript log delivery limitations on the request. If the request has reached the rate limits , the request will be processed but no logs will be delivered. Returns one of the following values: 0 - Logs could be delivered if configured 1 - Logging limits have been reached and no logs will be delivered on the request |
Metrics | Metrics about the execution of the event handler, separated by a comma (,): Initialization CPU Time - The amount of CPU time, in milliseconds, consumed during the event handler initialization. Initialization Wall Time - The total duration, in milliseconds, of the event handler initialization. |
EdgeWorkers execution
Execution information includes the fields described in the table below, separated by a colon ‘:’.
[Stage Information]:[EdgeWorker Id]:[Process Time]:[Total Time]:[Stage Time]:[Used Memory]:[Server Flow]:[Error Status Code]:[HTTP Status Change]:[Internal 1]:[Tier Id]:[Internal 2]:[Internal 3]:[Internal 4]:[Internal 5]
Here's an example of the execution info:
c:4380:7:161:162:161:n:::12473:200:0::::|C:4380:3:0:4:0:n:::6967:200:0::::|R:4380:20:99:99:1:n:::35982:200:0::::
For instructions on how to add EdgeWorkers execution information to a stream refer to the data set parameters in the DataStream 2 documentation.
Field | Description |
---|---|
Stage information | The stage during which the EdgeWorkers function was executed. Returns one of the following values: S - Sub-request c - onClientRequest o - onOriginRequest C - onClientResponse O - onOriginResponse R - responseProvider m - Missing stage |
EdgeWorker ID | The identifier of the EdgeWorkers function. |
EdgeWorker process time (ms) | The amount of time, in milliseconds, it took to process the EdgeWorkers function. |
EdgeWorker total time (ms) | The total amount of time used, in milliseconds, it took for the EdgeWorkers function to execute. |
Total stage time (ms) | The total amount of time used, in milliseconds, it took for the EdgeWorkers function to execute. This value includes any overhead associated with constructing the EdgeWorkers request beyond running the JavaScript code. |
Used memory (KB) | The amount of memory used, in kilobytes, it took for the EdgeWorkers function to execute. |
Akamai edge server flow | Akamai edge server flow status during the execution. Returns one of the following values: a - subWorkers disabled n - Normal flow s - Akamai JavaScript execution engine not available r - Termination request T - Akamai edge server write timeout t - Akamai edge server read timeout e - EdgeWorkers returned error E - Bad input from EdgeWorkers u - Unexpected Termination Request for non-METHOD_GET method m - Error in applying EdgeWorkers commands c - EdgeWorkers result applied from cached results o - Other |
Error Status Code | The error status code when a problem has occurred processing the EdgeWorkers request. This field will not be populated unless an error has occurred. If the Akamai edge server flow is n , this value will be empty.Returns one of the following values: 2 - genericError - Unnamed or uncategorized error 3 - unknownEdgeWorker - Unknown EdgeWorker ID 5 - runtimeError - Error at runtime or environment prevented EdgeWorkers execution 6 - executionError - Error during EdgeWorkers execution, such as JavaScript exception or error 7 - timeoutError - EdgeWorkers timed out 8 - resourceLimit - EdgeWorkers hit preset resource limit 9 - ringBufferError - Error receiving or sending data through RingBuffer 10 - blocklisted - EdgeWorkers function is blocklisted by Akamai JavaScript execution engine 11 - bundleVersionUnavailable - EdgeWorkers code bundle unavailable for a particular version 12 - cpuTimeoutError - JavaScript exec CPU timed out 13 - wallTimeoutError - JavaScript exec Wall timed out 14 - initCpuTimeoutError - Init CPU timed out 15 - initWallTimeoutError - Init Wall timed out 16 - responseProviderCancelled - RP cancelled 17 - unsupportedResponseProviderMethod - responseProvider is attempting to run a method other than GET .18 - EdgeWorker deleted - EdgeWorkers function deleted by user 19 - softwareTooOld - Software too old 20 - erpDrop - Request dropped due to ERP 21 - Error discovered by the Akamai edge server 23 - subWorker limit hit |
HTTP status change when response is generated with respondWith API | The status provided as part of the respondWith() JavaScript API:respondWith(status, headers, body, [deny_reason]) |
Internal Field 1 | This field is for Akamai internal use only. |
Tier ID used for processing this request | The resource tier of the EdgeWorker ID, 200 for Dynamic Compute, 280 for Enterprise Compute, or 100 for Basic Compute. |
Internal field 2 | This field is for Akamai internal use only. |
Internal field 3 | This field is for Akamai internal use only. |
Internal field 4 | This field is for Akamai internal use only. |
Internal field 5 | This field is for Akamai internal use only. |
Updated 5 days ago