Skip to main content
c.Apps.Network funciona solo con aplicaciones web. Todos los métodos reciben primero ctx y el id de la aplicación. Cada fragmento de abajo se ejecuta por sí solo dentro de este programa: pega uno a la vez en main y ejecuta goimports (consulta Ejecutar los ejemplos).

Ventanas de tiempo

Analytics, Errors, Logs y Performance reciben un start y un end, cada uno un time.Time (enviado como RFC 3339 en UTC). El programa de arriba los define como las últimas 24 horas. Una ventana abarca como máximo 7 días, y start se ajusta a la fecha de creación de la aplicación. Una ventana no válida da 400 INVALID_TIME_RANGE. Los resultados se almacenan en caché en intervalos de 5 minutos. Los fallos de caché de estos cuatro métodos comparten un límite de 20 peticiones cada 60 segundos por cuenta: superarlo da 429 RATE_LIMITED.

Analíticas

Network.Analytics(ctx, appID, start, end, filters) devuelve los totales de tráfico y sus desgloses como un *NetworkAnalytics. Devuelve nil (y un error nil) para una ventana sin tráfico. Pasa un squarecloud.AnalyticsFilters{} vacío para no aplicar filtros.
Los desgloses son Countries, Devices, OS, Browsers, Protocols, Methods, Paths, Referers, Providers, IPs, StatusCodes, Bots y ContentTypes (en JSON countries, …, status_codes, bots, content_types). Cada grupo tiene Type, Visits, Requests y Bytes (int64).

Filtros

Los filtros acotan todos los desgloses. Cada uno recibe el valor exacto de Type de su desglose. Un campo vacío no se envía:
Un filtro no válido da 400 INVALID_FILTER.

Errores

Network.Errors(ctx, appID, start, end, include4xx) devuelve las respuestas 5xx de la ventana, más las 4xx cuando include4xx es true. Devuelve nil para una ventana vacía.

Logs de peticiones

Network.Logs(ctx, appID, start, end) devuelve peticiones individuales con detalles del cliente, la petición y la respuesta. Disponible en los planes Pro y Enterprise (en caso contrario, 403 UPGRADE_REQUIRED).
Los campos que la API puede enviar como null son punteros (Client.IP, Client.Country, Request.Query, Request.Referer, Response.Cache, …).

Rendimiento

Network.Performance(ctx, appID, start, end) devuelve percentiles de latencia (P50, P95, P99, en ms) en el edge y en el origen, por país, por ubicación y para las rutas más lentas. Devuelve nil para una ventana vacía. Disponible en los planes Pro y Enterprise. Cada percentil es un *float64, nil cuando no hubo peticiones que medir:

DNS

Network.DNS(ctx, appID) devuelve los registros DNS que necesita tu dominio personalizado, con su estado. Sin un dominio personalizado da 400 NO_CUSTOM_DOMAIN.

Dominio personalizado

Network.SetDomain(ctx, appID, domain) asocia un dominio personalizado (plan Standard o superior). Pasa "@" para eliminarlo.

Purgar la caché

Network.PurgeCache(ctx, appID) borra la caché del edge de la aplicación. Está limitado a una purga cada 60 segundos (429 KEEP_CALM).

Errores de los métodos de analíticas

Próximos pasos

Tiempo real

Transmite logs y estado en vivo.

Referencia de la API de red

Los endpoints REST detrás de estos métodos.

Analíticas de edge desde la CLI

Las mismas acciones desde la terminal.