New Relic Observability Agent: Roku

New Relic Observability Agent: Roku

The New Relic Roku agent enables you to monitor the system- and video- level performance of your Roku over the top (OTT) streaming applications and devices. The agent offers visibility into your application’s network connectivity, viewer accessibility, and video quality.

  • Get HTTP requests and errors analytics and use them to quickly detect and understand critical issues with your application’s network connectivity performance.

  • Access curated UIs with preconfigured, interactive data visualizations for instant visibility without having to manually run queries or create dashboards.

  • Process large quantities of data with performance metrics.

  • Track the customer journey to detect where drop offs occur and determine how long critical actions take.

  • Review complete tracings of video playback sessions to correlate issues back through the rest of the streaming architecture.

Install the agent today or learn more. Also, check out our launch blog and NerdByte video.


Follow the instructions on our Instant Observability page for Roku where you will download the agent from the GitHub repository and add it to your project’s source.

To enable automatic event capture perform the following steps which are detailed below (code examples are available in the repo)

Call NewRelic from Main subroutine and store the returned object.
Right after that, call nrAppStarted.
Call NewRelicSystemStart and NewRelicVideoStart to start capturing events for system and video.
Inside the main wait loop, call nrProcessMessage

The agent has a large number of methods to help you send custom data, and they’re all documented in the repository and contain in-line documentation in code. Here are a few of the most important ones.

	Set a custom attribute to be included in the events.
	nrSetCustomAttribute(, "myNum", 123, "CONTENT_START")
	nrSetCustomAttribute(, "myString", "hello")

	Send a custom event.		
	nrSendCustomEvent(, "MyEvent", "MY_ACTION")
	attr = {"key0":"val0", "key1":"val1"}
	nrSendCustomEvent(, "MyEvent", "MY_ACTION", attr)

	Record a log using the New Relic Log API.
	nrSendLog(, "This is a log", "console", {"key": "value"})

	Record a gauge metric. Represents a value that can increase or decrease with time.
	nrSendMetric(, "test", 11.1, {"one": 1})

Install the agent today or learn more.

Check out our launch blog and NerdByte video.