Respuesta

9

Parece haber algunas soluciones, aunque en su mayoría parecen implicar el cambio de su arquitectura de API.

Usted podría utilizar una de las Google Analytics server-side tracking libraries.

Veo que está utilizando AppEngine; También corro una API usando AppEngine, y recientemente he estado jugando usando un Google Analytics Library for 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.

+1

Con 3scale, no hay necesidad de cambiar su infraestructura de API: funciona con un complemento de código que inserta en su sistema y puede informar el tráfico de forma síncrona o asíncrona. – steve

1

¿Qué información está buscando específicamente? Es posible que pueda obtener lo que necesita de los registros de acceso http.

+0

sólo quiero realizar un seguimiento del número de llamadas consigo etc. – JohnIdol

+1

a continuación, puedes utilizar los registros de acceso HTTP. – Bill

+0

Bueno. Estoy en el motor de aplicaciones, ¿cómo vería esos registros? :) – JohnIdol

1

No creo que Google Analytics puede realizar un seguimiento de las llamadas de descanso, ya que está activado por un fragmento de JavaScript que se incrusta en el código HTML. Para ver los registros, puede ir al appengine console, seleccione su aplicación y select Logs.

Para acceder a sus registros mediante programación, 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 también. en su estación de trabajo o tal vez en una instancia de Amazon EC2 (quizás 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 (Task Queues with Java, Task Queues with Python).

11

creo Keen IO sería un gran ajuste 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).

Descripció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 realizar análisis sobre 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 usan la API Keen IO externamente, y a modo de ejemplo, nuestro modelo de datos de dos eventos es como la siguiente: *

  • analysis_call
    • petición (objeto)
      • client_library_version (cadena)
      • API_version (número)
      • query_parameters (clave-valor objeto)
      • post_parameters (clave-valor objeto)
      • origin_ip (dirección IP)
      • URI (string)
    • NUM_EVENTS (entero)
    • includes_geolocation (boolean)
    • user_agent (string)
    • respuesta (objeto)
      • HTTP_CODE (número)
      • latencia (número)
      • cabeceras (objeto)
      • cuerpo (objeto: la plena objeto real respuesta JSON, si bajo 1K)
  • events_added_call
    • client_library_version (cadena)
    • API_version (número)
    • origin_ip (dirección IP)
    • petición (objeto)
    • respuesta (objeto: la plena objeto real respuesta JSON)

* De hecho, utilizamos un lote más propiedades que esta, las he eliminado para que quede más claro

4

Usted puede hacer esto ahora con GA usando el nuevo Measurement Protocol que se encuentra actualmente en versión beta pública.

+0

¿Alguien usa/prueba este enfoque? Han pasado 2.5 años desde la publicación, supongo que ahora está fuera de la versión beta. Solo quería comentarios sobre su uso para este caso. – David

+0

@David, el protocolo de medición funciona bien para casos de uso similares (tengo problemas para unir sesiones que son en parte web y parcialmente medidos en el servidor, pero eso no es un problema aquí). –

1

Creo que esta solución puede ser una muy buena opción si está interesado en el seguimiento específico de llamadas REST: http://apianalytics.com Parece que tiene todo lo que necesita. Un poco como el Mixpanel de API.

Negación: Un buen amigo mío ha construido este

Cuestiones relacionadas