Condividi tramite


Esportare i dati di telemetria da Application Insights

Conservare i dati di telemetria per un periodo di conservazione più lungo del periodo di conservazione standard? O si vuole elaborarlo in qualche modo specializzato? L'esportazione continua è ideale per questo scopo. Gli eventi visualizzati nel portale di Application Insights possono essere esportati nell'archiviazione in azure in formato JSON. Da qui è possibile scaricare i dati e scrivere qualsiasi tipo di codice necessario per elaborarli.

Importante

  • A partire dal 29 febbraio 2024, l'esportazione continua viene ritirata.
  • Quando si esegue la migrazione a una risorsa di Application Insights basata sull'area di lavoro, è necessario usare le impostazioni di diagnostica per l'esportazione dei dati di telemetria. Tutte le risorse di Application Insights basate sull'area di lavoro devono usare le impostazioni di diagnostica.
  • L'esportazione delle impostazioni di diagnostica potrebbe aumentare i costi. Per altre informazioni, vedere Esportazione basata sulle impostazioni di diagnostica.

Prima di configurare l'esportazione continua, è necessario prendere in considerazione alcune alternative:

  • Il pulsante Esporta nella parte superiore di una scheda metriche o di ricerca consente di trasferire tabelle e grafici in un foglio di calcolo di Excel.
  • Log Analytics offre un linguaggio di query avanzato per i dati di telemetria. che consente anche di esportare i risultati.
  • Se si vuole esplorare i dati in Power BI, è possibile farlo senza usare l'esportazione continua se è stata eseguita la migrazione a una risorsa basata sull'area di lavoro.
  • L'API REST di accesso ai dati consente di accedere ai dati di telemetria a livello di codice.
  • È anche possibile accedere alla configurazione per l'esportazione continua tramite PowerShell.

Dopo l'esportazione continua copia i dati nella risorsa di archiviazione, in cui può rimanere fino a quando si preferisce, è ancora disponibile in Application Insights per il periodo di conservazione consueto.

Aree geografiche supportate

L'esportazione continua è supportata nelle aree seguenti:

  • Asia sud-orientale
  • Canada centrale
  • India centrale
  • Europa settentrionale
  • Regno Unito meridionale
  • Australia orientale
  • Giappone orientale
  • Corea centrale
  • Francia centrale
  • Asia orientale
  • Stati Uniti occidentali
  • Stati Uniti centrali
  • Stati Uniti orientali 2
  • Stati Uniti centro-meridionali
  • West US 2
  • Sudafrica settentrionale
  • Stati Uniti centro-settentrionali
  • Brasile meridionale
  • Svizzera settentrionale
  • Australia sud-orientale
  • Regno Unito occidentale
  • Germania centro-occidentale
  • Svizzera occidentale
  • Australia centrale 2
  • Emirati Arabi Uniti centrali
  • Brasile meridionale
  • Australia centrale
  • Emirati Arabi Uniti settentrionali
  • Norvegia orientale
  • Giappone occidentale

Nota

L'esportazione continua continuerà a funzionare per le applicazioni negli Stati Uniti orientali e nell'Europa occidentale se l'esportazione è stata configurata prima del 23 febbraio 2021. Non è possibile configurare nuove regole di esportazione continua in qualsiasi applicazione negli Stati Uniti orientali o nell'Europa occidentale, indipendentemente dal momento in cui è stata creata l'applicazione.

Configurazione dell'archiviazione avanzata per l'esportazione continua

L'esportazione continua non supporta le funzionalità o le configurazioni Archiviazione di Azure seguenti:

Creare un'esportazione continua

Nota

Un'applicazione non può esportare più di 3 TB di dati al giorno. Se vengono esportati più di 3 TB al giorno, l'esportazione verrà disabilitata. Per esportare senza un limite, usare l'esportazione basata sulle impostazioni di diagnostica.

  1. Nella risorsa di Application Insights per l'app in Configura a sinistra aprire Esportazione continua e selezionare Aggiungi.

  2. Scegliere i tipi di dati di telemetria da esportare.

  3. Creare o selezionare un account Archiviazione di Azure in cui archiviare i dati. Per altre informazioni sulle opzioni relative ai prezzi di archiviazione, vedere la pagina Prezzi.

    Selezionare Aggiungi>account di archiviazione di destinazione>esportazione. Creare quindi un nuovo archivio o scegliere un archivio esistente.

    Avviso

    Per impostazione predefinita, il percorso di archiviazione verrà impostato sulla stessa area geografica della risorsa di Application Insights. Se si archivia in un'area diversa, è possibile che vengano addebitati addebiti per il trasferimento.

  4. Creare o selezionare un contenitore nella risorsa di archiviazione.

Nota

Dopo aver creato l'esportazione, i dati appena inseriti inizieranno a passare a Archiviazione BLOB di Azure. L'esportazione continua trasmette solo nuovi dati di telemetria creati o inseriti dopo l'abilitazione dell'esportazione continua. Tutti i dati esistenti prima di abilitare l'esportazione continua non verranno esportati. Non esiste un modo supportato per esportare in modo retroattivo i dati creati in precedenza usando l'esportazione continua.

Può verificarsi un ritardo di circa un'ora prima che i dati vengano visualizzati nella risorsa di archiviazione.

Al termine della prima esportazione, è possibile trovare la struttura seguente nel contenitore di archiviazione BLOB. Questa struttura varia a seconda dei dati raccolti.

Nome Descrizione
Disponibilità Segnala i test Web di disponibilità.
Evento Eventi personalizzati generati da TrackEvent().
Eccezioni Segnala le eccezioni nel server e nel browser.
Messaggi Inviati da TrackTrace e dagli adattatori di registrazione.
Metriche Generato dalle chiamate delle API di metrica.
PerformanceCounters Contatori delle prestazioni raccolti da Application Insights.
Richieste Inviate da TrackRequest. I moduli standard usano le richieste per il tempo di risposta del server di report, misurato nel server.

Modificare l'esportazione continua

Selezionare Esportazione continua e selezionare l'account di archiviazione da modificare.

Arrestare l'esportazione continua

Per arrestare l'esportazione, selezionare Disabilita. Quando si seleziona di nuovo Abilita , l'esportazione viene riavviata con nuovi dati. Non si otterranno i dati che arrivano nel portale mentre l'esportazione è stata disabilitata.

Per interrompere l'esportazione in modo permanente, eliminare l'esportazione. Questa operazione non elimina i dati dalla risorsa di archiviazione.

Non si riesce ad aggiungere o modificare un'esportazione?

Per aggiungere o modificare le esportazioni, è necessario avere i diritti di accesso Proprietario, Collaboratore o Collaboratore di Application Insights. Informazioni sui ruoli.

Quali eventi si ottengono?

I dati esportati sono i dati di telemetria non elaborati ricevuti dall'applicazione con dati sulla posizione aggiunti dall'indirizzo IP del client.

I dati eliminati dal campionamento non sono inclusi nei dati esportati.

Altre metriche calcolate non sono incluse. Ad esempio, non si procederà all'esportazione dell'uso medio della CPU, ma si procederà all'esportazione dei dati di telemetria non elaborati a partire dai quali viene calcolata la media.

I dati includono anche i risultati di ogni test Web di disponibilità impostato.

Nota

Se l'applicazione invia molti dati, la funzionalità di campionamento potrebbe funzionare e inviare solo una frazione dei dati di telemetria generati. Altre informazioni sul campionamento.

Esaminare i dati

È possibile esaminare lo spazio di archiviazione direttamente nel portale. Selezionare Home nel menu all'estrema sinistra. Nella parte superiore in cui sono presenti i servizi di Azure selezionare Account di archiviazione. Selezionare il nome dell'account di archiviazione e nella pagina Panoramica selezionare BLOB dei servizi>. Infine, selezionare il nome del contenitore.

Per esaminare Archiviazione di Azure in Visual Studio, selezionare Visualizza>Cloud Explorer. Se questo comando di menu non è disponibile, è necessario installare Azure SDK. Aprire la finestra di dialogo Nuovo progetto, espandere Visual C#/Cloud e selezionare Recupera Microsoft Azure SDK per .NET.

Quando si apre l'archivio BLOB, si noterà un contenitore con un set di file BLOB. Verrà visualizzato l'URI di ogni file derivato dal nome della risorsa di Application Insights, dalla relativa chiave di strumentazione e dal tipo di telemetria, dalla data e dall'ora. Il nome della risorsa è tutto minuscolo e la chiave di strumentazione omette trattini.

Screenshot che mostra l'ispezione dell'archivio BLOB con uno strumento appropriato.

Nota

Il 31 marzo 2025, il supporto per l'inserimento delle chiavi di strumentazione terminerà. L'inserimento delle chiavi di strumentazione continuerà a funzionare, ma non saranno più garantiti aggiornamenti o supporto per la funzionalità. Eseguire la transizione alle stringhe di connessione per sfruttare le nuove funzionalità.

La data e l'ora sono UTC e sono quando i dati di telemetria sono stati depositati nell'archivio, non l'ora in cui è stata generata. Per questo motivo, se si scrive codice per scaricare i dati, è possibile spostarsi in modo lineare tra i dati.

Di seguito è riportato il formato del percorso:

$"{applicationName}_{instrumentationKey}/{type}/{blobDeliveryTimeUtc:yyyy-MM-dd}/{ blobDeliveryTimeUtc:HH}/{blobId}_{blobCreationTimeUtc:yyyyMMdd_HHmmss}.blob"

Dove:

  • blobCreationTimeUtc è l'ora in cui il BLOB è stato creato nell'archivio di staging interno.
  • blobDeliveryTimeUtc è l'ora in cui il BLOB viene copiato nell'archivio di destinazione dell'esportazione.

Formato dati

I dati vengono formattati in modo che:

  • Ogni BLOB è un file di testo che contiene più \nrighe separate. Contiene i dati di telemetria elaborati in un periodo di tempo di circa mezzo minuto.

  • Ogni riga rappresenta un punto dati di telemetria, ad esempio una richiesta o una visualizzazione pagina.

  • Ogni riga è un documento JSON non formattato. Per visualizzare le righe, aprire il BLOB in Visual Studio e selezionare Modifica>file di formato avanzato.>

    Screenshot che mostra la visualizzazione dei dati di telemetria con uno strumento appropriato

Gli intervalli di tempo sono espressi in tick, dove 10.000 tick = 1 ms. Questi valori, ad esempio, indicano un tempo di 1 ms per inviare una richiesta dal browser, 3 ms per riceverla e 1,8 s per elaborare la pagina nel browser:

"sendRequest": {"value": 10000.0},
"receiveRequest": {"value": 30000.0},
"clientProcess": {"value": 17970000.0}

Per informazioni di riferimento dettagliate sul modello di dati per i tipi di proprietà e i valori, vedere Modello di dati di esportazione di Application Insights.

Elaborare i dati

Su scala ridotta, è possibile scrivere codice per separare i dati e leggerli in un foglio di calcolo. Ad esempio:

private IEnumerable<T> DeserializeMany<T>(string folderName)
{
   var files = Directory.EnumerateFiles(folderName, "*.blob", SearchOption.AllDirectories);
   foreach (var file in files)
   {
      using (var fileReader = File.OpenText(file))
      {
         string fileContent = fileReader.ReadToEnd();
         IEnumerable<string> entities = fileContent.Split('\n').Where(s => !string.IsNullOrWhiteSpace(s));
         foreach (var entity in entities)
         {
            yield return JsonConvert.DeserializeObject<T>(entity);
         }
      }
   }
}

Per un esempio di codice più grande, vedere Uso di un ruolo di lavoro.

Eliminare i vecchi dati

L'utente è responsabile della gestione della capacità di archiviazione e dell'eliminazione dei dati obsoleti, se necessario.

Rigenerare la chiave di archiviazione

Se si modifica la chiave per l'archiviazione, l'esportazione continua non funzionerà più. Verrà visualizzata una notifica nell'account Azure.

Selezionare la scheda Esportazione continua e modificare l'esportazione. Modificare ilvalore Esporta destinazione , ma lasciare selezionata la stessa risorsa di archiviazione. Seleziona OK per confermare.

L'esportazione continua verrà riavviata.

Esempi di esportazione

Per esempi di esportazione, vedere:

Su larga scala, prendere in considerazione i cluster Hadoop di HDInsight nel cloud. HDInsight offre varie tecnologie per la gestione e l'analisi dei Big Data. È possibile usarlo per elaborare i dati esportati da Application Insights.

Domande frequenti

Questa sezione fornisce le risposte alle domande comuni.

È possibile ottenere un download monouso di un grafico?

per un telefono Android, Nella parte superiore della scheda selezionare Esporta dati.

È stata configurata un'esportazione, ma perché non sono presenti dati nell'archivio?

Application Insights ha ricevuto eventuali dati di telemetria dall'app dal momento in cui si è impostata l'esportazione? Si riceveranno solo nuovi dati.

Si è tentato di configurare un'esportazione, ma perché è stato negato l'accesso?

Se l'account è di proprietà dell'organizzazione, è necessario essere membri dei gruppi Proprietari o Collaboratori.

È possibile eseguire un'esportazione direttamente al negozio locale?

No. Il nostro motore di esportazione attualmente funziona solo con Archiviazione di Azure in questo momento.

Esiste un limite alla quantità di dati da inserire nell'archivio personale?

No. L'inserimento dei dati continuerà fino a quando non si elimina l'esportazione. Ci fermeremo se si raggiungono i limiti esterni per l'archiviazione BLOB, ma questo limite è enorme. Spetta all'utente controllare quante risorse di archiviazione usare.

Quanti BLOB dovrebbero essere visualizzati nella risorsa di archiviazione?

  • Per ogni tipo di dati selezionato per l'esportazione, viene creato un nuovo BLOB ogni minuto, se i dati sono disponibili.
  • Per le applicazioni con traffico elevato, vengono allocate unità di partizione aggiuntive. In questo caso ogni unità crea un BLOB ogni minuto.

È stata rigenerata la chiave nell'archiviazione o è stato modificato il nome del contenitore, ma perché l'esportazione non funziona?

Modificare l'esportazione e selezionare la scheda Esporta destinazione . Lasciare selezionata la stessa risorsa di archiviazione precedente e selezionare OK per confermare. L'esportazione verrà riavviata. Se la modifica è stata eseguita negli ultimi giorni, non si perderanno i dati.

È possibile sospendere l'esportazione?

Sì. Seleziona Disabilita.

Esempi di codice

Esportazione basata sulle impostazioni di diagnostica

L'esportazione delle impostazioni di diagnostica è preferibile perché offre funzionalità aggiuntive:

  • Archiviazione di Azure account con reti virtuali, firewall e collegamenti privati.
  • Esporta in Hub eventi di Azure.

L'esportazione delle impostazioni di diagnostica differisce ulteriormente dall'esportazione continua nei modi seguenti:

  • Schema aggiornato.
  • I dati di telemetria vengono inviati man mano che arrivano anziché in caricamenti in batch.

Importante

Potrebbero essere addebitati costi aggiuntivi a causa di un aumento delle chiamate alla destinazione, ad esempio un account di archiviazione.

Per eseguire la migrazione all'esportazione delle impostazioni di diagnostica:

  1. Abilitare le impostazioni di diagnostica in Application Insights classico.
  2. Configurare l'esportazione dei dati: selezionare Impostazioni di>diagnostica Aggiungi impostazione di diagnostica dall'interno della risorsa di Application Insights.
  3. Verificare che la nuova esportazione dei dati sia configurata come l'esportazione continua

Attenzione

Se si vogliono archiviare i log di diagnostica in un'area di lavoro Log Analytics, ci sono due cose da tenere in considerazione per evitare di visualizzare dati duplicati in Application Insights:

  • L'area di lavoro di destinazione non può essere la stessa area di lavoro Log Analytics su cui si basa la risorsa di Application Insights.
  • L'utente di Application Insights non può avere accesso a entrambe le aree di lavoro. Impostare la modalità di controllo di accesso di Log Analytics su Richiede le autorizzazioni dell'area di lavoro. Tramite il controllo degli accessi in base al ruolo di Azure, assicurarsi che l'utente abbia accesso solo all'area di lavoro Log Analytics su cui si basa la risorsa di Application Insights.

Questi passaggi sono necessari perché Application Insights accede ai dati di telemetria tra le proprie risorse (incluse le aree di lavoro Log Analytics) per fornire operazioni di transazione end-to-end complete e mappe accurate delle applicazioni. Poiché i log di diagnostica usano gli stessi nomi di tabella, è possibile che siano presenti dati di telemetria duplicati se l'utente ha accesso a più risorse contenenti gli stessi dati.

Modello di dati di esportazione di Application Insights

Questa tabella elenca le proprietà di telemetria inviate al portale dagli SDK di Application Insights . Queste proprietà saranno visualizzate nell'output dei dati di Esportazione continua. Sono visibili anche nei filtri delle proprietà in Esplora metriche e Ricerca diagnostica.

Punti da notare:

  • [0] in queste tabelle indica un punto nel percorso in cui è necessario inserire un indice, ma non è sempre 0.
  • Le durate sono espresse in decimi di microsecondo, quindi 10000000 == 1 secondo.
  • Date e ore sono in formato UTC e vengono specificate nel formato ISO yyyy-MM-DDThh:mm:ss.sssZ

Esempio

// A server report about an HTTP request
{
  "request": [
    {
      "urlData": { // derived from 'url'
        "host": "contoso.org",
        "base": "/",
        "hashTag": ""
      },
      "responseCode": 200, // Sent to client
      "success": true, // Default == responseCode<400
      // Request id becomes the operation id of child events
      "id": "fCOhCdCnZ9I=",  
      "name": "GET Home/Index",
      "count": 1, // 100% / sampling rate
      "durationMetric": {
        "value": 1046804.0, // 10000000 == 1 second
        // Currently the following fields are redundant:
        "count": 1.0,
        "min": 1046804.0,
        "max": 1046804.0,
        "stdDev": 0.0,
        "sampledValue": 1046804.0
      },
      "url": "/"
    }
  ],
  "internal": {
    "data": {
      "id": "7f156650-ef4c-11e5-8453-3f984b167d05",
      "documentVersion": "1.61"
    }
  },
  "context": {
    "device": { // client browser
      "type": "PC",
      "screenResolution": { },
      "roleInstance": "WFWEB14B.fabrikam.net"
    },
    "application": { },
    "location": { // derived from client ip
      "continent": "North America",
      "country": "United States",
      // last octagon is anonymized to 0 at portal:
      "clientip": "168.62.177.0",
      "province": "",
      "city": ""
    },
    "data": {
      "isSynthetic": true, // we identified source as a bot
      // percentage of generated data sent to portal:
      "samplingRate": 100.0,
      "eventTime": "2016-03-21T10:05:45.7334717Z" // UTC
    },
    "user": {
      "isAuthenticated": false,
      "anonId": "us-tx-sn1-azr", // bot agent id
      "anonAcquisitionDate": "0001-01-01T00:00:00Z",
      "authAcquisitionDate": "0001-01-01T00:00:00Z",
      "accountAcquisitionDate": "0001-01-01T00:00:00Z"
    },
    "operation": {
      "id": "fCOhCdCnZ9I=",
      "parentId": "fCOhCdCnZ9I=",
      "name": "GET Home/Index"
    },
    "cloud": { },
    "serverDevice": { },
    "custom": { // set by custom fields of track calls
      "dimensions": [ ],
      "metrics": [ ]
    },
    "session": {
      "id": "65504c10-44a6-489e-b9dc-94184eb00d86",
      "isFirst": true
    }
  }
}

Contesto

Tutti i tipi di telemetria sono accompagnati da una sezione di contesto. Non tutti questi campi vengono trasmessi con ogni punto dati.

Percorso Type Note
context.custom.dimensions [0] oggetto [ ] Coppie di stringhe chiave-valore impostate dal parametro delle proprietà personalizzate. La lunghezza massima delle chiavi 100, la lunghezza massima dei valori è 1024. Più di 100 valori univoci. La proprietà può essere cercata, ma non può essere usata per la segmentazione. Massimo 200 chiavi per ikey.
context.custom.metrics [0] oggetto [ ] Coppie di chiave-valore impostate dai parametri delle misurazioni personalizzate e da TrackMetrics. La lunghezza massima delle chiavi 100, i valori possono essere numerici.
context.data.eventTime string UTC
context.data.isSynthetic boolean La richiesta proviene da un robot o un test Web.
context.data.samplingRate number Percentuale di telemetria generata dall'SDK inviato al portale. L'intervallo è 0,0-100,0.
context.device oggetto Dispositivo client
context.device.browser string IE, Chrome, ...
context.device.browserVersion string Chrome 48.0, ...
context.device.deviceModel string
context.device.deviceName string
context.device.id string
context.device.locale string en-GB, de-DE, ...
context.device.network string
context.device.oemName string
context.device.os string
context.device.osVersion string Sistema operativo host
context.device.roleInstance string ID dell'host server
context.device.roleName string
context.device.screenResolution string
context.device.type string PC, Browser,...
context.location oggetto Derivata da clientip.
context.location.city string Derivato da clientip, se noto
context.location.clientip string L'ultimo ottagono viene reso anonimo come 0.
context.location.continent string
context.location.country string
context.location.province string Stato/regione o provincia
context.operation.id string Gli elementi con gli stessi operation id elementi vengono visualizzati come Elementi correlati nel portale. In genere l'oggetto request id.
context.operation.name string URL o nome richiesta
context.operation.parentId string Consente elementi correlati annidati.
context.session.id string Id di un gruppo di operazioni dalla stessa origine. Un periodo di 30 minuti senza operazioni segnala la fine di una sessione.
context.session.isFirst boolean
context.user.accountAcquisitionDate string
context.user.accountId string
context.user.anonAcquisitionDate string
context.user.anonId string
context.user.authAcquisitionDate string Utente autenticato
context.user.authId string
context.user.isAuthenticated boolean
context.user.storeRegion string
internal.data.documentVersion string
internal.data.id string Unique id assegnato quando un elemento viene inserito in Application Insights

Eventi

Eventi personalizzati generati da TrackEvent().

Percorso Type Note
event [0] count integer 100/(frequenza dicampionamento ). Ad esempio, 4 => 25%.
event [0] name string Nome evento. Lunghezza massima: 250.
event [0] url string
event [0] urlData.base string
event [0] urlData.host string

Eccezioni

Segnala le eccezioni nel server e nel browser.

Percorso Type Note
basicException [0] assembly string
basicException [0] count integer 100/(frequenza dicampionamento ). Ad esempio, 4 => 25%.
basicException [0] exceptionGroup string
basicException [0] exceptionType string
basicException [0] failedUserCodeMethod string
basicException [0] failedUserCodeAssembly string
basicException [0] handledAt string
basicException [0] hasFullStack boolean
basicException [0] id string
basicException [0] method string
basicException [0] message string Messaggio dell'eccezione. Lunghezza massima: 10 K.
basicException [0] outerExceptionMessage string
basicException [0] outerExceptionThrownAtAssembly string
basicException [0] outerExceptionThrownAtMethod string
basicException [0] outerExceptionType string
basicException [0] outerId string
basicException [0] parsedStack [0] assembly string
basicException [0] parsedStack [0] fileName string
basicException [0] parsedStack [0] level integer
basicException [0] parsedStack [0] line integer
basicException [0] parsedStack [0] method string
basicException [0] stack string Lunghezza massima: 10 K.
basicException [0] typeName string

Messaggi di traccia

Inviati da TrackTrace e dagli adattatori di registrazione.

Percorso Type Note
message [0] loggerName string
message [0] parameters string
message [0] raw string Messaggio del log, lunghezza massima 10.000 caratteri.
message [0] severityLevel string

Dipendenza remota

Inviata da TrackDependency. Usata per segnalare le prestazioni e l'utilizzo delle chiamate alle dipendenze nel server e delle chiamate AJAX nel browser.

Percorso Type Note
remoteDependency [0] async boolean
remoteDependency [0] baseName string
remoteDependency [0] commandName string Ad esempio "home/index"
remoteDependency [0] count integer 100/(frequenza dicampionamento ). Ad esempio, 4 => 25%.
remoteDependency [0] dependencyTypeName string HTTP, SQL...
remoteDependency [0] durationMetric.value number Tempo intercorso tra la chiamata e il completamento della risposta da parte di una dipendenza
remoteDependency [0] id string
remoteDependency [0] name string URL. Lunghezza massima: 250.
remoteDependency [0] resultCode string Dalla dipendenza HTTP
remoteDependency [0] success boolean
remoteDependency [0] type string HTTP, SQL...
remoteDependency [0] url string Lunghezza massima: 2000
remoteDependency [0] urlData.base string Lunghezza massima: 2000
remoteDependency [0] urlData.hashTag string
remoteDependency [0] urlData.host string Lunghezza massima: 200

Richieste

Inviate da TrackRequest. I moduli standard le usano per segnalare il tempo di risposta del server, calcolato nel server.

Percorso Type Note
request [0] count integer 100/(frequenza dicampionamento ). Ad esempio, 4 => 25%.
request [0] durationMetric.value number Tempo tra l'arrivo della richiesta e la risposta. 1e7 == 1 s
richiesta [0] id string Operation id
request [0] name string GET/POST + base URL. Lunghezza massima: 250
request [0] responseCode integer Risposta HTTP inviata al client
request [0] success boolean Valore predefinito == (responseCode < 400)
request [0] url string Host non incluso
request [0] urlData.base string
request [0] urlData.hashTag string
request [0] urlData.host string

Prestazioni visualizzazioni pagina

Inviate dal browser. Misura il tempo necessario per elaborare una pagina, da quando l'utente avvia la richiesta al completamento della visualizzazione (escluse le chiamate AJAX asincrone).

I valori del contesto indicano la versione del sistema operativo client e del browser.

Percorso Type Note
clientPerformance [0] clientProcess.value integer Tempo compreso tra la fine della ricezione del codice HTML e la visualizzazione della pagina.
clientPerformance [0] name string
clientPerformance [0] networkConnection.value integer Tempo necessario per stabilire una connessione di rete.
clientPerformance [0] receiveRequest.value integer Tempo compreso tra la fine dell'invio della richiesta e la ricezione del codice HTML nella risposta.
clientPerformance [0] sendRequest.value integer Tempo necessario per inviare la richiesta HTTP.
clientPerformance [0] total.value integer Tempo compreso tra l'inizio dell'invio della richiesta e la visualizzazione della pagina.
clientPerformance [0] url string URL di questa richiesta
clientPerformance [0] urlData.base string
clientPerformance [0] urlData.hashTag string
clientPerformance [0] urlData.host string
clientPerformance [0] urlData.protocol string

Visualizzazioni pagina

Inviate da trackPageView() o stopTrackPage

Percorso Type Note
view [0] count integer 100/(frequenza dicampionamento ). Ad esempio, 4 => 25%.
view [0] durationMetric.value integer Valore facoltativo impostato in trackPageView() o da startTrackPage() - stopTrackPage(). Non corrisponde ai valori di clientPerformance.
view [0] name string Titolo della pagina. Lunghezza massima: 250
view [0] url string
view [0] urlData.base string
view [0] urlData.hashTag string
view [0] urlData.host string

Disponibilità

Segnala i test Web di disponibilità.

Percorso Type Note
availability [0] availabilityMetric.name string availability
availability [0] availabilityMetric.value number 1,0 o 0,0
availability [0] count integer 100/(frequenza dicampionamento ). Ad esempio, 4 => 25%.
availability [0] dataSizeMetric.name string
availability [0] dataSizeMetric.value integer
availability [0] durationMetric.name string
availability [0] durationMetric.value number Durata del test. 1e7==1 s
availability [0] message string Diagnostica di errori
availability [0] result string Esito positivo o negativo
availability [0] runLocation string Origine geografica della richiesta HTTP
availability [0] testName string
availability [0] testRunId string
availability [0] testTimestamp string

Metrica

Generata da TrackMetric().

Il valore della metrica è disponibile in context.custom.metrics[0]

Ad esempio:

{
  "metric": [ ],
  "context": {
  ...
    "custom": {
      "dimensions": [
        { "ProcessId": "4068" }
      ],
      "metrics": [
        {
          "dispatchRate": {
            "value": 0.001295,
            "count": 1.0,
            "min": 0.001295,
            "max": 0.001295,
            "stdDev": 0.0,
            "sampledValue": 0.001295,
            "sum": 0.001295
          }
        }
      ]  
    }
  }
}

Informazioni sui valori della metrica

I valori della metrica, nei report della metrica e altrove, vengono segnalati con una struttura di oggetti standard. Ad esempio:

"durationMetric": {
  "name": "contoso.org",
  "type": "Aggregation",
  "value": 468.71603053650279,
  "count": 1.0,
  "min": 468.71603053650279,
  "max": 468.71603053650279,
  "stdDev": 0.0,
  "sampledValue": 468.71603053650279
}

Attualmente (ma la situazione potrebbe cambiare in futuro) di tutti i valori segnalati dai moduli SDK standard sono utili count==1 e solo i campi name e value. L'unico caso in cui sarebbero diversi è quello in cui si scrivono chiamate TrackMetric personalizzate in cui si impostano gli altri parametri.

Lo scopo degli altri campi è quello di consentire l'aggregazione della metrica nell'SDK, per ridurre il traffico verso il portale. È possibile, ad esempio, calcolare la media di diverse letture successive prima di inviare il report di ogni metrica. Si calcolerà quindi la deviazione minima, massima e standard e il valore di aggregazione (somma o media) e si imposterà il conteggio sul numero di letture rappresentate dal report.

Nelle tabelle precedenti sono stati omessi i campi usati raramente, min, max, stdDev e sampledValue.

Se è necessario ridurre il volume della telemetria, anziché aggregare in anticipo la metrica, è possibile usare il campionamento .

Durate

Se non indicato diversamente, le durate vengono espresse in decimi di microsecondo, quindi 10000000,0 corrisponde a 1 secondo.

Vedi anche