Logging and debugging of streaming applications
Systems and methods for logging OTT device requests and responses are provided. A method may include intercepting, via a logging system, one or more ad requests to be satisfied by an ad server. Data of the ad requests is logged, via the logging system. The request is forwarded to the ad server, which may respond with an ad server response that may also be logged by the logging system.
1 . A computer-implemented method comprising:
receive an ad request from a client device;
determine if the client device is indicated for logging;
in response to determining that the client device is indicated for logging:
intercepting, via a logging system, the ad request intended for an ad server;
logging, via the logging system, data associated with the ad request;
submitting the ad request to the ad server;
receiving, from the ad server, an initial ad response based on the ad request; and
providing, to the client device, a second ad response different from the initial ad response received from the ad server; and
in response to determining that the client device is not indicated for logging, submitting the ad request directly to the ad server.
2 . The computer-implemented method of claim 1 , comprising:
logging the initial ad response, wherein the second ad response is provided to the client device via a manifest manipulation system configured to incorporate a portion of the initial ad response into a content playback manifest of the client device.
3 . The computer-implemented method of claim 1 , comprising determining that the client device is indicated for logging by identifying that an account being used by the client device is on a list indicating that the account should be logged.
4 . The computer-implemented method of claim 1 , comprising:
modifying the initial ad response to cause a tracking pixel event to be directed to the logging system; and
provide, to the client device, the second ad response that is different from the initial ad response from the ad server.
5 . The computer-implemented method of claim 4 , wherein modifying the initial ad response comprises modifying a domain name of a tracking server provided in a tracking pixel of the initial ad response.
6 . The computer-implemented method of claim 4 , comprising:
receiving, at the logging system, a pixel event response, wherein the pixel event response comprises feedback data associated with playback of content associated with the second ad response; and
logging the feedback data.
7 . The computer-implemented method of claim 6 , comprising:
generating a redirect command requesting the client device to provide the pixel event response to a tracking server; and
providing the redirect command to the client device.
8 . The computer-implemented method of claim 6 , wherein determining that the client device is not indicated for logging comprises:
identifying that an account being used by the client device is not on a list indicating that the account should be logged; and
providing, to the client device, the second ad response that is unmodified from the initial ad response from the ad server.
9 . A system, comprising:
processing circuitry; and
memory, accessible by the processing circuitry, storing instructions that, when executed by the processing circuitry, cause the processing circuitry to perform operations comprising:
receiving, via a logging system, an ad request intended for an ad server;
logging, via the logging system, data associated with the ad request;
submitting the ad request to the ad server;
receiving, from the ad server, an initial ad response based on the ad request, wherein the initial ad response comprises a tracking pixel directed to a tracking server; and
providing, to a client device, a second ad response different from the initial ad response received from the ad server, wherein the second ad response is configured to redirect a tracking pixel event of the tracking pixel to the logging system by modifying the initial ad response.
10 . The system of claim 9 , wherein the processing circuitry performs operation comprising:
providing the second ad response to the client device via a manifest manipulation system configured to incorporate a portion of the second ad response into a content playback manifest of the client device.
11 . The system of claim 10 , wherein the manifest manipulation system is configured to:
receive a content request from the client device;
identify an account associated with the content request;
determine if the account associated with the content request is indicated for logging;
in response to the account being indicated for logging, submit the content request to the logging system in lieu of the ad server; and
in response to a second account being indicated as not for logging, direct a second ad request of the second account to the ad server directly.
12 . The system of claim 10 , wherein the manifest manipulation system is configured to:
identify the tracking pixel in the initial ad response;
modifying the initial ad response generating the second ad response; and
provide the second ad response for incorporation into the content playback manifest of the client device.
13 . The system of claim 12 , wherein the second ad response comprises a modified domain name or a modified URL tracker.
14 . The system of claim 9 , wherein the processing circuitry performs operation comprising:
receiving a pixel event response, wherein the pixel event response comprises feedback data associated with playback of the second ad response;
logging the feedback data; and
providing a redirect command to the client device, requesting the client device to redirect the pixel event response to a tracking server.
15 . A tangible, non-transitory, computer-readable storage medium, comprising computer-readable instructions that, when executed by one or more processors of one or more computers, cause the one or more computers to:
intercept, via a logging system, an ad request to be satisfied by an ad server;
log, via the logging system, data associated with the ad request;
submit the ad request to the ad server;
receive, from the ad server, an initial ad response based on the ad request;
log the initial ad response;
generate a second ad response by modifying the initial ad response to cause a tracking pixel event to be directed to the logging system; and
provide, to a client device, the second ad response.
16 . The tangible, non-transitory, computer-readable storage medium of claim 15 , comprising computer-readable instructions that, when executed by the one or more processors of the one or more computers, cause the one or more computers to:
forward the initial ad response to a client device providing the ad request.
17 . The tangible, non-transitory, computer-readable storage medium of claim 16 , comprising computer-readable instructions that, when executed by the one or more processors of the one or more computers, cause the one or more computers to:
modify the initial ad response, by adjusting a domain name or URL of the tracking pixel of the initial ad response to cause the tracking pixel event associated with the tracking pixel to be provided to the logging system.
18 . The tangible, non-transitory, computer-readable storage medium of claim 17 , comprising computer-readable instructions that, when executed by the one or more processors of the one or more computers, cause the one or more computers to:
forward the modified ad response to the client device, by causing the modified ad response to be incorporated in a manifest to be provided to the client device.
19 . The tangible, non-transitory, computer-readable storage medium of claim 15 , comprising computer-readable instructions that, when executed by the one or more processors of the one or more computers, cause the one or more computers to:
receive the ad request from a client device; and
determine if the client device is indicated for logging.
20 . The tangible, non-transitory, computer-readable storage medium of claim 19 , comprising computer-readable instructions that, when executed by the one or more processors of the one or more computers, cause the one or more computers to:
in response to determining that the client device is indicated for logging, intercept, via the logging system, the ad request to be satisfied by the ad server; and
in response to determining that the client device is not indicated for logging, submitting the ad request directly to the ad server.