Real-time CDN Performance Tracking 2024 – Cortex Use Case

Maintaining high performance and availability for Content Delivery Networks (CDN) is critical for online publishers, particularly those in video and live broadcasting. Any dip in CDN performance can directly affect user experience and, by extension, a publisher’s bottom line. Therefore CDN performance tracking must be designed as an automated, continuous and real-time process.
Faced with the challenge of continuous performance monitoring at an IP detail level, the technology team at Selfuel devised a real-time analytical solution. Through this initiative, Selfuel reaffirms its commitment to delivering innovative, tailored solutions that address the nuanced needs of our clients.
Problem
An online video and live broadcasting publisher uses a CDN to publish its videos to provide high availability and performance by distributing the service spatially relative to end users. The technology team wants to perform continuous CDN performance tracking in IP detail to interfere in case of increase in request failures and reach higher availability levels.
Solution – Real-Time CDN Performance Tracking Cortex Application
Selfuel team created a real-time application in Cortex that listens to CDN logs within 1 minute window, record number of requests with succeeded/failed, IP address and timestamp detail. It then sends an email to related staff all the collected data.

Source – CDN Logs
CDN Performance tracking automation flow starts with the source node. The http source node receives POST requests from CDN logs of the customer via HTTP endpoint in JSON format. The attributes it receives are:
- Unix Time as Timestamp
- Content Type
- User Agent
- CDN URL
- CS URI
- CS Status
- CS IP
Query 1 – Filter CDN Logs Greater 200
The query node runs a batch time window that keeps and processes events received within 1 minute window as a collective group.
Processor 1 – Preprocess CDN Logs
The query node is connected to the Processor Node, which organizes the CDN logs data that arrive within 1-minutes window to determine successful or failed requests and send it to stream node. It processes the data and returns output attributes as follows:
- Success: Count of CDN logs that returned “200” as CS Status.
- Failed: Count of CDN logs that has not returned “200” as CS Status.
- Total: Count of all CDN Logs
- Start Time: The minimum unix time recorded within the 1-minute window
- End Time: The maximum unix time recorded within the 1-minute window
- CS IP: IP address of the request
- Event Timestamp: current timestamp of the event in milli seconds’ level
Stream 1 – Processed CDN Logs
The first Stream Node creates stream of events by organizing them into logical sequences based on time, with all output attributes coming from processor node and sends it to the Query Node
Query 2 – Query for Email Stream
The query node runs a batch time window that keeps and processes events coming from Stream node within 1 minute window as a collective group.

Processor 2 – Prepare Email
The second Processor Node organizes the data coming from query node within 1-minutes window to prepare the email body to be sent to CDN officials. It processes the data and returns output attributes as follows:
- Table results: Creates a text table from the list of attributes below:
- CS IP
- Total
- Success
- Failed
- Success rate (Success / Total)
- Start time in date format
- End time in date format
- Min Time: Minimum of the Start Time of the events within 1 minute window
- Max Time: Maximum of the End Time of the events within 1 minute window
- Total Request: Sum of all requests arrived in 1 minute window
- No-fail Server Number: Number of events with all requests are success
- Fail Server Number: Number of events with at least one fail
- Distinct Server Number: Number of distinct CS IP addresses.
- Min Timestamp: Minimum of event timestamps.
- Max Timestamp: Max of event timestamps.
Stream 2 – Generate HTML Table
The second Stream Node creates stream of events by organizing them into logical sequences based on time, with all email data attributes coming from processor node and sends it to the Query Node
Query 3 – Pass Through HTML Table
The third query node passes all the data coming from stream to the Prepare HTML Table Processor.
Processor 3 – Prepare HTML Table
The third Processor Node organizes the data coming from query node within 1-minutes window to transform the email text into HTML ready format.
Sink – Send Email 200
The sink node sends all atributes according to the rules set in the application as an email to related staff in an HTML text format. This closes the automated loop of CDN performance tracking Cortex application.
Conclusion
This use case exemplifies Selfuel’s commitment to innovation and technical excellence. By harnessing the power of real-time data analysis amd high-frequency data processing, the online video and live broadcasting publisher can now proactively manage their CDN’s performance tracking, ensuring optimal service delivery to end-users. This solution not only demonstrates Selfuel’s capability in addressing specific industry challenges but also highlights the transformative impact of real-time data processing in enhancing operational efficiency. To discover Cortex’s power, start your free trial today with $150 free credits and no need for credit card registration.