Entrega de archivos de registros y frecuencia
Log files are pulled by Triton Digital from the client's S3, FTP, or SFTP (pickup point). Publishers are required to provide the necessary login credentials to obtain the log files.
Log files should reach the pickup point at least daily, but more frequently is acceptable, especially if the logs are larger and in multiple chunks. Triton Digital expects to receive session information within three days of the beginning of the session. Si el registro de la sesión se recibe después de esta demora, no se tomará en cuenta en las mediciones agregadas.
Nombre del archivo
Los archivos de registro deben tener un nombre único, con la fecha como parte del nombre del archivo. Each named file should arrive in the pickup location when the log is complete (rather than opening up FTP to the actual logging folder where files are being actively written), and each unique filename will be retrieved/processed once. An example of a good filename for this purpose is: MSLT20150830-00.tsv.gz, where 20150830 is the date, and -00 is a suffix, if needed, for the hour, file-number on that day, or some other sequencing/unique identifying value.
For efficiency purposes, each log file should be compressed in a “.gz” single-file archive.
Persistence
Create a clean-up task to remove log files that were created more than 60 days ago. For example, if you are using Amazon S3 storage, you can add a lifecycle rule to your bucket in order to accomplish this.
Formato del archivo
Los archivos de registro deben estar en uno de los siguientes formatos:
Formatted in the standard output of the file server. La salida del registro de acceso predeterminado de los servicios de streaming de audio más actuales por lo general se usa sin hacer cambios especiales en la configuración.
Formateado según el formato de archivo extendido W3C (https://www.w3.org/TR/WD-logfile-960221.html). This is a format commonly used for streaming server output. It is basically a tab or space delimited file with a header that identifies field names for each column in the data.
Formateado como valores separados por tabuladores (tsv). Details: Tab character (As \t or 0x09). Line Ending (\n or 0x0A). The # character for commented line. Header line ideal but optional. If this format is used, please contact your Triton Digital Account Manager with details on your planned output format/fields so we can ensure it matches with a log parsing scheme.
For those using Akamai CDN, this Luna file format should be used:
Extended + Completion Flag Log record format:
date_YYYY-MM-DD \t time_HH:MM:SS \t client_ip \t http_method \t arl_stem \t status_code \t total_bytes \t transfer_time \t "referrer" \t "user_agent" \t "cookie" \t total_object_size \t byte_range \t last_byte_served_flag
Required and Optional Fields in the Log Lines
In cases where the same value might be provided by more than one field, Triton uses only the first value in a log entry in the order presented. For example, if a log entry contains both dev and devicename, Triton uses dev and ignores devicename.
Required Fields
Logs must provide these fields.
Field | Descripción |
|---|---|
| Remote public IP address of the client device. It can be either IPv4 or IPv6. It can be either the full IP address (e.g., 200.150.100.111) or a partial (truncated) one with the last digit at 0 (e.g., 200.150.100.0). If it’s a partial address, we must also receive the hashed IP address in an extra field. The hashed IP is required to maintain a proper Download and Unique count. |
| IP address hashed with any standard hash function algorithm (e.g., MD5). The hashing method should minimize the risk of collisions and should not be shared. The hashed IP is used to properly count unique downloads and unique listeners when the IP address is truncated. (See IP field.) |
| Contenido de la cabecera HTTP de "agente de usuario". This user-agent HTTP header contains a characteristic string that allows network protocol peers to identify the application type, operating system, software vendor, or software version of the requesting software user agent. Example: Mozilla/5,00 (Windows NT 10,00; Win64; x64) |
| Date at which transaction is completed. Format is YYYY-MM-DD. |
| The timestamp of the session start. Format is HH:MM: SS |
| HTTP method. E.g.: GET |
| HTTP Status Code. E.g.: 200 |
| Up to 2048 characters complete URI (or URL). Este valor debería completarse automáticamente con un punto de publicación (URI) único, de modo que el registro pueda aplicarse a esa estación en nuestro sistema. En otras palabras, una parte de este campo se usará como la clave para coincidir con una estación en la base de datos de Triton Digital. Example: /FolderABC/2018/02/20180209_pine0823.mp3?siteplayer=true&episode=588472 |
| bytes transferred or response size, server to client. E.g.: 766967 |
| Total size of the podcast file to be downloaded. |
| Should have data if the response code is 206. E.g.: 2008-19568 |
Campos opcionales
Optional fields can be standalone or in some cases they can be positioned in the URI original query parameters.
Field | Descripción |
|---|---|
| La dirección de la página web anterior desde la cual se siguió un enlace hacia la página actualmente solicitada. |
| Numérico, hasta nueve dígitos. This is the duration of the session, in integer seconds. |
| Episode GUID Identifier as represented in the RSS feed. If this value is present, it may substitute the URI as the key to match with an episode in the RSS feed. |
| Podcast (show) identifier where the listener has initiated a session. |
| A unique registration/visitor ID that can be used to identify a listener and must come from a listener registration mechanism. |
| The Triton Digital LSID (también conocido como UUID). This is the App/Cookie/Advertising ID as presented in the Listener ID Management topic in the Advertising Technical Specification. Typically, on a mobile device, this should be a Google “gaid” or Apple “idfa,” or if not available, an application-generated ID. En una computadora de escritorio, debería ser una ID de cookie. |
| Listener's gender (M or F or U). U can be used for other or unknown gender. |
| Listener’s year of birth, using the YYYY format. |
| La edad del oyente. |
| Listener’s ZIP code (5 digits) or postal code (alpha-numerical, no space). |
| Macador que indica si la sesión de escucha puede recibir publicidad. Possible values are 0 and 1. Sending 0 indicates that the session cannot receive advertising. |
| Propiedad adicional que se usa para especificar en qué dispositivo se inició la sesión. Triton Digital puede proporcionar una lista no exhaustiva de los dispositivos disponibles, pero los clientes pueden ampliar esa lista para su propio uso. |
| Extra property that could be used to produce aggregation that shows on which Distributor/Partner the session has been initiated. For example, Publisher A shares their stream on Distributor/Partner B, so the Distributor property is "B". Triton Digital can provide a non-exhaustive list of available distributors, but clients may extend that list for their own usage. |
| Extra property that could be used to produce aggregation that shows the publisher of the stream. For example, Publisher A shares their stream on Partner B, so this property is "A". This is rarely used, since logs are typically produced by the publisher. |
| Propiedad adicional que se usa para especificar en qué reproductor se inició la sesión. Triton Digital puede proporcionar una lista no exhaustiva de todos los reproductores disponibles, pero los clientes pueden ampliar esa lista para su propio uso. |
| Es posible que se proporcione cualquiera o todas las secuencias de parámetros de búsqueda URI para un posible uso futuro. For example, there could be IDs that are used to properly match episodes or podcasts. |
| Used for identifying the originating IP address of a client connecting to a web server through an HTTP proxy or load balancer. |
Other fields | Any other parameters sent will be ignored by our systems. |