google app engine - example - ¿Existe una solución similar a Google Analytics para rastrear llamadas REST a un servicio web?
google custom search api example (8)
¿Qué información estás buscando específicamente? Es posible que pueda obtener lo que necesita de los registros de acceso http.
Solo me pregunto si hay alguna solución lista para usar, no estoy muy familiarizado con la API de análisis. Quizás pueda escribir algunas js simples que actualicen las estadísticas antes de ir a mi servicio, etc. De lo contrario, tendré que ceñirme a los buenos viejos ''registros de tienda en la base de datos''.
Cualquier ayuda apreciada!
Bueno, podrías usar ... google analytics
En el servidor, en una función del controlador REST API, realice una solicitud HTTP GET a http://www.google-analytics.com/__utm.gif con los parámetros correctos, y listo. Preferiblemente asincrónico.
https://developers.google.com/analytics/resources/concepts/gaConceptsTrackingOverview
Creo que Keen IO encajaría muy bien aquí. Es una plataforma de análisis solo API (lo que significa que ambos envían datos y consumen análisis a través de una API REST).
Divulgación completa: soy el CEO. No estoy escribiendo esta respuesta para autopromocionar, sino porque honestamente, nuestro producto fue creado especialmente para casos de uso como el suyo.
Varios usuarios de Keen IO son empresas API que lo utilizan para analizar cómo sus usuarios utilizan sus API.
A riesgo de ser demasiado meta: usamos la API Keen IO internamente para recopilar eventos y realizar un análisis de cómo nuestros clientes utilizan la API Keen IO de forma externa, y a modo de ejemplo, nuestro modelo de datos de dos eventos se parece a esto : *
- análisis_llamada
- solicitud (objeto)
- client_library_version (cadena)
- API_version (número)
- query_parameters (objeto clave-valor)
- post_parameters (objeto clave-valor)
- origin_ip (dirección IP)
- URI (cadena)
- num_events (integer)
- includes_geolocation (boolean)
- user_agent (cadena)
- respuesta (objeto)
- HTTP_code (número)
- latencia (número)
- encabezados (objeto)
- cuerpo (objeto: el objeto de respuesta JSON completo real, si es menor de 1 K)
- solicitud (objeto)
- events_added_call
- client_library_version (cadena)
- API_version (número)
- origin_ip (dirección IP)
- solicitud (objeto)
- respuesta (objeto: el objeto de respuesta JSON completo real)
* De hecho, usamos muchas más propiedades que esta, las he eliminado para que quede más claro
Creo que esta solución podría ser una muy buena opción si le interesa rastrear específicamente las llamadas REST: http://apianalytics.com Parece que tiene todo lo que necesita. Un poco como el Mixpanel de API.
Descargo de responsabilidad: un buen amigo mío ha construido esto
Creo que lo que estás buscando es algo así como apigee: http://apigee.com
No creo que Google Analytics pueda rastrear las llamadas de descanso, porque se activa con un fragmento de JavaScript que incrusta en su HTML.
Para ver los registros, puede ir a la consola de appengine , elegir su aplicación y seleccionar Logs .
Para acceder a sus registros programáticamente, debe descargarlos (con Java , con Python ), pero parece que hasta ahora no puede hacerlo dentro del motor de su aplicación, por lo que debe hacerlo en su estación de trabajo o tal vez en una instancia de Amazon EC2 (tal vez micro) .
Por otro lado, si decide almacenar registros en DataStore, realice la actualización dentro de una cola de tareas, para que no desacelere su API ( Tareas con Java , Tareas con Python ).
Parece que hay algunas soluciones, aunque en su mayoría parecen implicar el cambio de su arquitectura de API.
Podría utilizar potencialmente una de las bibliotecas de seguimiento del lado del servidor de Google Analytics.
Veo que estás usando AppEngine; También ejecuto una API usando AppEngine, y recientemente he estado jugando con el uso de una biblioteca de Google Analytics para App Engine . No es una solución perfecta, pero hay una buena cantidad de datos de calidad.
Tenga en cuenta que el modelado de datos de Google Analytics realmente no es análogo al de una API; dependiendo de su API, la noción de "visita" no tiene sentido.
Usted puede hacer esto ahora con GA usando el nuevo Protocolo de medición que se encuentra actualmente en versión beta pública.