Skip to content

Latest commit

 

History

History
290 lines (259 loc) · 27.4 KB

DATAMODEL.md

File metadata and controls

290 lines (259 loc) · 27.4 KB

Introduction

This document provides an overview of the Events and Attributes used for media monitoring in New Relic.

Glossary

This section defines the key terms used in the context of New Relic Media monitoring:

Event Types

  • ConnectedDeviceSystem: Events related to system tracking.
  • videoAction: Events triggered by general video interactions, such as starting, pausing, or seeking.
  • videoAdAction: Events related to ad playback, such as starting, completing, or skipping an ad.
  • videoErrorAction: Events triggered by errors encountered during video or ad playback.
  • videoCustomAction: Custom events defined to capture specific actions or interactions beyond default event types.

Attribute

An Attribute is a piece of data associated with an event. Attributes provide additional context or details about the event, such as the video’s title, duration, or playback position.

  • Most attributes are included with every event.
  • Some attributes are specific to certain event types, such as ad-related data sent with ad events.

Event Type Reference

ConnectedDeviceSystem

Attribute Name Description
instrumentation.provider Always “newrelic”.
instrumentation.name Always “roku”.
instrumentation.version Agent’s version.
newRelicAgent Always “RokuAgent”.
newRelicVersion Agent’s version.
sessionId Session ID, a hash that is generated every time the Roku app starts.
hdmiIsConnected Boolean. HDMI is connected or not.
hdmiHdcpVersion HDCP version.
deviceUuid Roku Device UUID.
deviceName Roku device name.
deviceSize Always "xLarge".
deviceGroup Always “Roku”.
deviceManufacturer Always “Roku”.
deviceModel Roku model.
deviceType Roku model type.
vendorName Roku model vendor.
modelNumber Roku model number.
vendorUsbName USB vendor.
screenSize Size of the Roku TV.
osName Always “RokuOS”.
osVersion Firmware version.
countryCode Country from where the current user is connected.
timeZone Current user’s timezone.
locale Current user’s locale.
memoryLevel Device memory level.
memLimitPercent Usage percentage of memory limit for the channel. Only reported if the memory monitor is enabled.
channelAvailMem Estimated kilobytes of memory available for the channel. Only reported if the memory monitor is enabled.
connectionType Network connection type (WiFi, etc).
displayType Type of display, screen, TV, etc.
contentRenditionName Display mode.
displayAspectRatio Aspect ratio.
videoMode Video mode.
graphicsPlatform Graphics platform (OpenGL, etc).
timeSinceLastKeyPress Time since last keypress in the remote. Milliseconds.
appId Application ID.
appVersion Application version.
appName Application name.
appDevId Developer ID.
appBuild Application build number.
timeSinceLoad Time since NewRelic function call. Seconds.
uptime Uptime of the system since the last reboot. Seconds.
httpCode Response code.
method HTTP method.
origUrl Original URL of request.
domain Host part of origUrl.
status Current request status.
targetIp Target IP address of request.
url Actual URL of request.
bytesDownloaded Number of bytes downloaded.
bytesUploaded Number of bytes uploaded.
connectTime Total connection time.
contentType Mime type of response body.
dnsLookupTime DNS lookup time.
downloadSpeed Download speed.
firstByteTime Time elapsed until the first bytes arrived.
transferTime Total transfer time.
uploadSpeed Upload speed.
bandwidth Bandwidth.
lastExitOrTerminationReason The reason for the last app exit / termination.
splashTime The splash time in ms.
instantOnRunMode Value of instant_on_run_mode property sent to Main.
launchSource Value of source property sent to Main.
httpResult Request final status.
http* Multiple attributes. All the header keys.
transferIdentity HTTP request identificator.
sceneName Identifier of the scene.
timeSinceHttpRequest Time since HTTP_REQUEST in milliseconds.
enduser.id User ID.

List of possible ConnectedDeviceSystem Actions

Action Name Description
BANDWIDTH_MINUTE Report the bandwidth every minute.
HTTP_CONNECT An HTTP request, generated by roSystemLog.
HTTP_COMPLETE An HTTP response, generated by roSystemLog.
HTTP_ERROR An HTTP error, generated by roSystemLog.
HTTP_REQUEST An HTTP request. Generated by nrSendHttpRequest function.
HTTP_RESPONSE An HTTP response. Generated by nrSendHttpResponse function.
APP_STARTED The app did start. Generated by nrAppStarted function.
SCENE_LOADED A scene did load. Generated by nrSceneLoaded function.

VideoAction

Attribute Name Definition
actionName The specific action being performed in the video player, such as play, pause, resume, content buffering, etc.
appId The ID of your application, as recorded by New Relic.
appName The name of the application.
playerName The name of the video player.
playerVersion The version of the video player.
deviceType The specific type of the device: iPhone 8, iPad Pro, etc.
deviceGroup The category of the device, such as iPhone or Tablet.
deviceManufacturer The manufacturer of the device, such as Motorola or HTC.
deviceModel The model number of the device.
deviceName The device's name.
deviceSize The display size of the device: Small, normal, large, xlarge.
deviceUuid A unique identifier assigned at the time of app installation by New Relic.
viewSession Trackers will generate unique IDs for every new video session. This could be the session ID from the client.
viewId Trackers will generate unique IDs for every new video iteration.
contentId The ID of the video.
contentTitle The title of the video.
contentBitrate Bitrate (in bits) of the video.
contentIsFullscreen Always "true".
contentRenditionName Name of the rendition (e.g., 1080p).
contentDuration Duration of the video, in ms.
contentPlayhead Playhead (currentTime) of the video, in ms.
contentSrc URL of the resource being played.
contentIsFullscreen True if the video is currently fullscreen.
contentIsMuted True if the video is currently muted.
totalAdPlaytime Total time ad is played for this video session.
elapsedTime Time that has passed since the last event.
bufferType When buffer starts, i.e., initial, seek, pause & connection.
timestamp The time (date, hour, minute, second) at which the interaction occurred.
instrumentation.provider Player/agent name.
instrumentation.name Name of the instrumentation collecting the data.
instrumentation.version Agent’s version.
enduser.id User ID.

List of possible Video Actions

Action Name Definition
PLAYER_READY The player is ready to start sending events.
CONTENT_REQUEST Content video has been requested.
CONTENT_START Content video started (first frame shown).
CONTENT_END Content video ended.
CONTENT_PAUSE Content video paused.
CONTENT_RESUME Content video resumed.
CONTENT_BUFFER_START Content video buffering started.
CONTENT_BUFFER_END Content video buffering ended.
CONTENT_HEARTBEAT Content video heartbeat, an event that happens once every 30 seconds while the video is playing.

VideoAdAction

Attribute Name Definition
actionName The specific action being performed in the video player, such as play, pause, resume, content buffering, etc.
appId The ID of your application, as recorded by New Relic.
appName The name of the application.
playerName The name of the video player.
playerVersion The version of the video player.
deviceType The specific type of the device: iPhone 8, iPad Pro, etc.
deviceGroup The category of the device, such as iPhone or Tablet.
deviceManufacturer The manufacturer of the device, such as Motorola or HTC.
deviceModel The model number of the device.
viewSession Trackers will generate unique IDs for every new video session. This could be the session ID from the client.
viewId Trackers will generate unique IDs for every new video iteration.
adId The ID of the video.
adTitle The title of the video.
adDuration Duration of the video, in ms.
adPlayhead Playhead (currentTime) of the video, in ms.
adSrc URL of the resource being played.
adIsMuted True if the video is currently muted.
adQuartile Quartile of the ad. 0 before first, 1 after first quartile, 2 after midpoint, 3 after third quartile, 4 when completed.
adPosition The position of the ad.
adCreativeId The creative ID of the ad.
adPartner The ad partner, e.g., ima, freewheel.
timestamp The time (date, hour, minute, second) at which the interaction occurred.
elapsedTime Time that has passed since the last event.
instrumentation.provider Player/agent name.
instrumentation.name Name of the instrumentation collecting the data.
instrumentation.version Agent’s version.
enduser.id User ID.

List of possible Video Ad Actions

Action Name Definition
AD_REQUEST Ad video has been requested.
AD_START Ad video started (first frame shown).
AD_END Ad video ended.
AD_PAUSE Ad video paused.
AD_RESUME Ad video resumed.
AD_BREAK_START Ad break (a block of ads) started.
AD_BREAK_END Ad break ended.
AD_QUARTILE Ad quartile happened.

VideoErrorAction

Attribute Name Definition
actionName The specific action being performed in the video player, such as play, pause, resume, content buffering, etc.
appId The ID of your application, as recorded by New Relic.
appName The name of the application.
playerName The name of the video player.
playerVersion The version of the video player.
deviceType The specific type of the device: iPhone 8, iPad Pro, etc.
deviceGroup The category of the device, such as iPhone or Tablet.
deviceManufacturer The manufacturer of the device, such as Motorola or HTC.
deviceModel The model number of the device.
viewSession Trackers will generate unique IDs for every new video session. This could be the session ID from the client.
viewId Trackers will generate unique IDs for every new video iteration.
contentId The ID of the video.
contentTitle The title of the video.
errorName Name of the error.
errorCode Error code if it's known.
backTrace Stack trace of the error.
contentSrc Content source URL.
elapsedTime Time that has passed since the last event.
timestamp The time (date, hour, minute, second) at which the interaction occurred.
instrumentation.provider Player/agent name.
instrumentation.name Name of the instrumentation collecting the data.
instrumentation.version Agent’s version.
enduser.id User ID.

List of possible Video Error Actions

Action Name Definition
AD_ERROR Ad video error.
HTTP_ERROR An HTTP error.
CONTENT_ERROR Content video error.

VideoCustomAction

Attribute Name Definition
actionName The name of the PageAction, as defined by client in their code.
appId The ID of your application, as recorded by New Relic.
appName The name of the application.
playerName The name of the video player.
playerVersion The version of the video player.
deviceType The specific type of the device: iPhone 8, iPad Pro, etc.
deviceGroup The category of the device, such as iPhone or Tablet.
deviceManufacturer The manufacturer of the device, such as Motorola or HTC.
deviceModel The model number of the device.
viewSession Trackers will generate unique IDs for every new video session. This could be the session ID from the client.
viewId Trackers will generate unique IDs for every new video iteration.
contentId The ID of the video.
contentTitle The title of the video.
timestamp The time (date, hour, minute, second) at which the interaction occurred.
instrumentation.provider Player/agent name.
instrumentation.name Name of the instrumentation collecting the data.
instrumentation.version Agent’s version.
enduser.id User ID.

The following attributes are also a part of VideoAction

Attribute Name Definition
contentMeasuredBitrate Video Measured Bitrate.
contentSegmentBitrate In case of segmented video sources (HLS, DASH), the current segment’s bitrate.
sessionDuration Time since the session started..
trackerName Always “rokutracker”.
trackerVersion Agent version.
numberOfVideos Number of videos played.
numberOfErrors Number of errors happened.
timeSinceLastHeartbeat Time since last heartbeat, in milliseconds.
timeSinceRequested Time since the video requested, in milliseconds.
timeSinceStarted Time since the video started, in milliseconds.
timeSinceTrackerReady Time since PLAYER_READY, in milliseconds.
totalPlaytime Total time the user spend seeing the video.
playtimeSinceLastEvent Total time the user spend seeing the video since last video event.
timeToStartStreaming The time in milliseconds from playback being started until the video actually began playing.
isPlaylist Content is a playlist. Boolean.
videoFormat Video format, a mime type.
timeSinceBufferBegin Time since video last video buffering began, in milliseconds.
timeSincePaused Time since the video was paused, in milliseconds.