Skip to main content
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.
Les répartitions sont 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 valeur Type 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).
Les champs que l’API peut envoyer à 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.