c.Apps.Network fonctionne uniquement sur les applications web. Chaque méthode prend d’abord ctx et l’identifiant de l’application.
Chaque extrait ci-dessous s’exécute seul dans ce programme : collez-en un à la fois dans main et lancez goimports (voir Exécuter les exemples).
Fenêtres temporelles
Analytics, Errors, Logs et Performance prennent un start et un end, chacun étant un time.Time (envoyé au format RFC 3339 en UTC). Le programme ci-dessus les règle sur les dernières 24 heures. Une fenêtre dure au maximum 7 jours, et start est ramené à la date de création de l’application. Une fenêtre invalide donne 400 INVALID_TIME_RANGE.
Les résultats sont mis en cache par tranches de 5 minutes. Les défauts de cache de ces quatre méthodes partagent une limite de 20 requêtes par 60 secondes et par compte : la dépasser donne 429 RATE_LIMITED.
Analytics
Network.Analytics(ctx, appID, start, end, filters) renvoie les totaux et les répartitions du trafic sous forme d’un *NetworkAnalytics. Elle renvoie nil (et une erreur nil) pour une fenêtre sans trafic. Passez un squarecloud.AnalyticsFilters{} vide pour n’appliquer aucun filtre.
Countries, Devices, OS, Browsers, Protocols, Methods, Paths, Referers, Providers, IPs, StatusCodes, Bots et ContentTypes (en JSON countries, …, status_codes, bots, content_types). Chaque groupe a Type, Visits, Requests et Bytes (int64).
Filtres
Les filtres restreignent chaque répartition. Chacun prend la valeurType exacte de sa répartition. Un champ vide n’est pas envoyé :
Un filtre invalide donne 400
INVALID_FILTER.
Erreurs
Network.Errors(ctx, appID, start, end, include4xx) renvoie les réponses 5xx de la fenêtre, plus les 4xx lorsque include4xx vaut true. Elle renvoie nil pour une fenêtre vide.
Logs de requêtes
Network.Logs(ctx, appID, start, end) renvoie les requêtes individuelles avec les détails du client, de la requête et de la réponse. Disponible sur les plans Pro et Enterprise (403 UPGRADE_REQUIRED sinon).
null sont des pointeurs (Client.IP, Client.Country, Request.Query, Request.Referer, Response.Cache, …).
Performances
Network.Performance(ctx, appID, start, end) renvoie les percentiles de latence (P50, P95, P99, en ms) en périphérie et à l’origine, par pays, par emplacement et pour les chemins les plus lents. Elle renvoie nil pour une fenêtre vide. Disponible sur les plans Pro et Enterprise.
Chaque percentile est un *float64, nil lorsqu’il n’y avait aucune requête à mesurer :
DNS
Network.DNS(ctx, appID) renvoie les enregistrements DNS dont votre domaine personnalisé a besoin, avec leur statut. Sans domaine personnalisé, elle donne 400 NO_CUSTOM_DOMAIN.
Domaine personnalisé
Network.SetDomain(ctx, appID, domain) associe un domaine personnalisé (plan Standard et supérieurs). Passez "@" pour le supprimer.
Purger le cache
Network.PurgeCache(ctx, appID) vide le cache edge de l’application. Elle est limitée à une purge toutes les 60 secondes (429 KEEP_CALM).
Erreurs des méthodes d’analytics
Prochaines étapes
Temps réel
Diffusez les logs et le statut en direct.
Référence de l'API réseau
Les endpoints REST derrière ces méthodes.
Analytics edge depuis la CLI
Les mêmes actions depuis le terminal.

