2013-08-22 3 views
5

Ho lavorato a un'applicazione Java su GAE che utilizza servizi come cloud sql, calender api, mail API e data-store. Quindi la mia domanda è che ho bisogno di misurare l'utilizzo di questi servizi per gli utenti che accedono alla mia applicazione. Questo sarà basato sul numero di I/O che eseguono su cloud SQL o sulla quantità di dati archiviati. C'è un modo per farlo?Misurazione sui servizi Google App Engine

risposta

1

Non esiste un modo integrato per misurare la quota per utente. Potresti essere in grado di farla franca tenendo traccia degli accessi di ciascun utente a queste risorse e memorizzandole nell'archivio dati, anche se questo aumenterebbe l'utilizzo. 2 scritture sono necessarie per ogni uso, o 4 se è indicizzato.

Se non si richiede una misurazione precisa e se i dati di misurazione vanno persi se le risorse di Google si esauriscono, è possibile memorizzarle in memcache come dati di nome utente/id-> misura. Viene fornito su una base di best-effort che dovrebbe essere sufficiente se vincolato ai limiti di sanity per ogni app e non è necessario fatturare agli utenti.

I due possono essere utilizzati in modo ottimale insieme. Ogni pochi minuti a un'ora, scrivere i dati di utilizzo memcached nell'archivio dati e, se i dati vengono persi dalla memcache (a meno che non si acquisti memcache dedicati), ripristinare dal datastore (possibilmente stimando l'utilizzo nel periodo perduto passato).

1

Attualmente non è possibile calcolare l'utilizzo di ciascun servizio. ma questo può aiutarti a ottenere l'utilizzo della CPU da & CPU per ogni richiesta.

App Engine include un paio di intestazioni extra in tutte le risposte HTTP inviate. Ecco intestazioni HTTP che contribuiranno a metro l'utilizzo delle risorse & stimata-CPM-US-Dollari:

X-AppEngine-Resource-Usage: ms=293 cpu_ms=500 api_cpu_ms=236 
X-AppEngine-Estimated-CPM-US-Dollars: $0.

Ecco alcuni di riferimento: http://googleappengine.blogspot.in/2009/08/new-features-in-124.html https://developers.google.com/appengine/docs/java/#Java_Responses

+0

"App Engine includerà un paio di intestazioni supplementari tutte le risposte HTTP che ti invia. " Solo se autenticato su Google e la tua app con un account amministratore app, – hexafraction

+0

Sì, corretto. Ma qui non riesco ad autenticare l'utente tramite il suo account Google o il giuramento di Google. –