44 votes

Existe-t-il une solution similaire à Google Analytics pour suivre les appels REST vers un service web ?

Je me demande s'il y a une solution toute faite pour cela. Je ne suis pas très familier avec l'api analytics, je peux peut-être écrire un simple js qui met à jour les analytics avant de les envoyer à mon service, etc. -- Sinon, je vais devoir m'en tenir au bon vieux "stockage des enregistrements dans la base de données".

Toute aide est appréciée !

14voto

dorkitude Points 4484

Je pense Keen IO serait un bon ajustement ici. Il s'agit d'une plateforme d'analyse exclusivement API (ce qui signifie que vous envoyez des données et consommez des analyses via une API REST).

Divulgation complète : je suis le PDG. Je n'écris pas cette réponse pour faire de l'autopromotion, mais parce que, honnêtement, notre produit a été conçu pour des cas d'utilisation comme le vôtre.

Plusieurs utilisateurs de Keen IO sont des sociétés d'API qui s'en servent pour analyser la façon dont leurs utilisateurs utilisent leurs API.

Au risque d'être un peu trop méta : Nous utilisons l'API Keen IO en interne pour collecter des événements et analyser la manière dont nos clients utilisent l'API Keen IO en externe. À titre d'exemple, notre modèle de données à deux événements ressemble à ceci:*.

  • analyse_appel
    • demande (objet)
      • client_library_version (string)
      • API_version (nombre)
      • query_parameters (objet clé-valeur)
      • post_parameters (objet clé-valeur)
      • origin_ip (adresse IP)
      • URI (chaîne de caractères)
    • num_events (nombre entier)
    • includes_geolocation (booléen)
    • user_agent (string)
    • réponse (objet)
      • HTTP_code (nombre)
      • latence (nombre)
      • headers (objet)
      • body (objet : l'objet JSON complet de la réponse, s'il est inférieur à 1K)
  • événements_ajoutés_appel
    • client_library_version (string)
    • API_version (nombre)
    • origin_ip (adresse IP)
    • demande (objet)
    • response (objet : l'objet JSON complet de la réponse)

*Nous utilisons en fait un lot plus de propriétés que ça, je les ai enlevées pour que ce soit plus clair.

12voto

Yahel Points 21516

Il semble exister quelques solutions, mais elles impliquent généralement de modifier l'architecture de votre API.

Vous pouvez éventuellement utiliser l'un des outils de Google Analytics. bibliothèques de suivi côté serveur .

Je vois que vous utilisez AppEngine ; je gère également une API à l'aide d'AppEngine, et j'ai récemment joué avec l'utilisation d'une Bibliothèque Google Analytics pour App Engine . Ce n'est pas une solution parfaite, mais il y a une quantité décente de données de qualité.

Sachez que la modélisation des données de Google Analytics n'est pas vraiment analogue à celle d'une API ; selon votre API, la notion de "visite" est quelque peu dénuée de sens.

9voto

Neil McGuigan Points 10123

Eh bien, vous pourriez utiliser ... google analytics

Sur le serveur, dans une fonction de gestion de l'API REST, effectuez une demande HTTP GET à l'adresse suivante http://www.google-analytics.com/__utm.gif avec les bons paramètres, et vous avez terminé. De préférence asynchrone.

https://developers.google.com/analytics/resources/concepts/gaConceptsTrackingOverview

5voto

Andre Lackmann Points 451

Vous pouvez le faire maintenant avec GA en utilisant la nouvelle fonction Protocole de mesure est actuellement en version bêta publique.

2voto

jverdi Points 993

Je pense que ce que vous cherchez est quelque chose comme apigee : http://apigee.com

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X