When one of the UIEvent steps is selected, you can review the JSON messages that are submitted as part of the step.
Note: Any BBR user can view the formatted client framework messages. To create attributes and events from them, you must have access permissions to the Event Manager.
- Click Request in the toolbar to display the request data.
- Click one of the
UIEvent
entries in the Navigable Pages List. - The raw JSON messages are displayed in the
[RequestBody]
section. - However, this information is not easy to read. To review the JSON messages in a more legible format, click the Click here to view Step Attributes link at the top of the request pane.
- The list of JSON messages are broken out into separate lines for easier reading.
- Each selectable item is a name-value pair that is highlighted when you move your mouse over it.
- Null values can be selected for creation of step-based attributes.
- Hit and event objects that you create search for the values for the specified JSON item.
Raw request body
The [RequestBody]
following information includes a sample raw request, which contains a set of JSON messages.
Note: While it is possible to create hit attributes from the [RequestBody]
section, it is not recommended, as this format might change over time.
In the raw request, the following entry is a single paragraph. You cannot use this section to create step-based attributes.
[RequestBody]
{"version":"0.0.0.4","serialNumber":1,"sessions":[{"id":"ID14H2M3S663R0.36228193
267311725","startTime":1326837723663,"timezoneOffset":480,"messages":[{"type":2,
"offset":2226,"count":1,"context":{"type":"LOAD","name":"root","renderTime":
2226}},{"type":6,"offset":2230,"count":2,"exception":{"description":"Unable to
get value of the property 'nodeValue': object is null or undefined",
"url":"http://straussandplesser.com/store/js/coremetrics/eluminate.js",
"line":1}},{"type":4,"offset":24878,"count":3,"event":{"type":"click"},"target":
{"id":"[['main'],['DIV',1],['DIV',0],['TABLE',0],['TR',0],['TD',0],['DIV',0],
['P',0],['A',0]]","idType":-2,"type":"A"}},
{"type":2,"offset":24880,"count":4,"context":{"type":"UNLOAD","name":"root"}}]}]}
After the messages were passed through Experience Analytics, the raw request is stored in the [RequestBody]
section of the request, which is viewable through Request View in BBR.
Formatted request body
When the JSON messages are received, Experience Analytics reformats them into a more legible format, which is listed here.
This information is available at the bottom of the request, which is formatted for view in Request View in BBR.
{
"version": "0.0.0.4",
"serialNumber": 1,
"sessions": [
{
"id": "ID14H2M3S663R0.36228193267311725",
"startTime": 1326837723663,
"timezoneOffset": 480,
"messages": [
{
"type": 2,
"offset": 2226,
"count": 1,
"context": {
"type": "LOAD",
"name": "root",
"renderTime": 2226
}
},
{
"type": 6,
"offset": 2230,
"count": 2,
"exception": {
"description": "Unable to get value of the property
'nodeValue': object is null or undefined",
"url":"http://straussandplesser.com/store/js/
coremetrics/eluminate.js",
"line": 1
}
},
{
"type": 4,
"offset": 24878,
"count": 3,
"event": {
"type": "click"
},
"target": {
"id":
"[['main'],['DIV',1],['DIV',0],['TABLE',0],
['TR',0],['TD',0],['DIV',0],['P',0],['A',0]]",
"idType": -2,
"type": "A"
}
},
{
"type": 2,
"offset": 24880,
"count": 4,
"context": {
"type": "UNLOAD",
"name": "root"
}
}
],
}
]
}
In the preceding example, the content after the following string is a set of four separate messages:
"messages": [
Each message is demarcated by a set of curly brackets.
messages
(such as serialNumber
or timezoneOffset
) is considered environmental data.Each step message constitutes a single step.
- Step-triggered events can fire per message step.
- In the preceding example, there are four-step messages. As a result, step-triggered events can fire up to four times on this hit.
Note: Each step-triggered event also has access to the hit attribute data of its parent hit and the environmental data included for reference in each step.
When you create step attributes, the value that is extracted is the contents between the colon (:
) and the final comma (,
) on the line.
Suppose you want to monitor exception messages that are submitted from the client framework. In the example above, the data is in the following area. In the following example, message data that was present in the previous example but is not relevant to the example is replaced with the <omitted>
string.
"sessions": [
{
<omitted>
"messages": [
<omitted>
{
"type": 6,
"offset": 2230,
"count": 2,
"exception": {
"description": "Unable to get value of the property
'nodeValue': object is null or undefined",
"url": "http://straussandplesser.com/store/js/coremetrics/eluminate.js",
"line": 1
In the preceding example, you can see that the exception message is stored in the description
value. To reference this value in step-based eventing, when you create the step attribute to monitor the above, the node in the tree is referenced by using the following structure:
sessions[0].message.exception.description
The naming structures for the sessions
and messages
nodes are changed, and the type
identifier is omitted.
Note: When you create step attributes through BBR, you use the menu, which automatically pre-populates the attribute with the appropriate reference within the Event Manager. These steps are described later.