Esportare i dati di telemetria da Application Insights

Mantenere i dati di telemetria per più tempo rispetto al periodo di conservazione standard? Oppure si vuole elaborarlo in 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

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

Dopo l'esportazione continua, i dati vengono copiati nella risorsa di archiviazione, in cui possono rimanere purché siano disponibili in Application Insights per il periodo di conservazione consueto.

Aree 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
  • Stati Uniti occidentali 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 sud-orientale
  • 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 seguenti funzionalità o configurazioni di Archiviazione di Azure:

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 su 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 di archiviazione di Azure in cui archiviare i dati. Per altre informazioni sulle opzioni relative ai prezzi di archiviazione, vedere la pagina Prezzi.

    Selezionare Aggiungi> accountdi archiviazionedi 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 alcun 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, si troverà 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à.
Event 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, misurati nel server.

Modifica 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 Abilita di nuovo, 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 di posizione aggiunti dall'indirizzo IP 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 più a sinistra. Nella parte superiore in cui si dice servizi di Azure selezionare Account di archiviazione. Selezionare il nome dell'account di archiviazione e nella pagina Panoramica selezionareBLOB diServizi>. Infine, selezionare il nome del contenitore.

Per esaminare Archiviazione di Azure in Visual Studio, selezionare Visualizza>Cloud Explorer. Se non si dispone di tale comando di menu, è 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 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 verranno più forniti aggiornamenti o supporto per la funzionalità. Passare 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 archiviati nell'archivio, non l'ora in cui è stata generata. Per questo motivo, se si scrive codice per scaricare i dati, può spostarsi in modo lineare attraverso 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'archiviazione di staging interna.
  • blobDeliveryTimeUtc è l'ora in cui il BLOB viene copiato nell'archiviazione di destinazione di esportazione.

Formato dati

I dati vengono formattati in modo che:

  • Ogni BLOB è un file di testo contenente 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. Se si desidera visualizzare le righe, aprire il BLOB in Visual Studio e selezionare Modifica>file di formatoavanzato>.

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

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 un riferimento dettagliato al modello di dati per i tipi di proprietà e i valori, vedere Modello di dati di esportazione di Application Insights.

Elaborare i dati

In una scala ridotta è possibile scrivere un 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

È responsabile della gestione della capacità di archiviazione e dell'eliminazione dei dati precedenti, 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 il valoreEsporta destinazione , ma lasciare selezionata la stessa risorsa di archiviazione. Selezionare 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 HDInsight nel cloud. HDInsight offre diverse 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 risposte alle domande comuni.

È possibile ottenere un download one-time 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 un membro dei gruppi Proprietari o Collaboratori.

È possibile eseguire un'esportazione direttamente al negozio locale?

No. Il motore di esportazione funziona attualmente 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. Si arresterà se si raggiungeranno 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 è stata modificata 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 selezionata in precedenza 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ì. Selezionare Disabilita.

Esempi di codice

Esportazione basata sulle impostazioni di diagnostica

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

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

Le impostazioni di diagnostica esportano ulteriormente le differenze rispetto all'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> didiagnostica Aggiungi impostazione di diagnostica dall'interno della risorsa di Application Insights.
  3. Verificare che la nuova esportazione dei dati sia configurata come esportazione continua

Attenzione

Per archiviare i log di diagnostica in un'area di lavoro Log Analytics, è necessario considerare due punti 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 autorizzazioni per l'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 d'acquisto Percentuale di telemetria generata dall'SDK inviato al portale. L'intervallo è 0,0-100,0.
context.device object 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 object 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 o provincia
context.operation.id string Gli elementi che hanno lo stesso operation id valore 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

evento

Eventi personalizzati generati da TrackEvent().

Percorso Type Note
event [0] count numero intero 100/(frequenza di campionamento ). 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 numero intero 100/(frequenza di campionamento ). 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 numero intero
basicException [0] parsedStack [0] line numero intero
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 numero intero 100/(frequenza di campionamento ). Ad esempio, 4 => 25%.
remoteDependency [0] dependencyTypeName string HTTP, SQL...
remoteDependency [0] durationMetric.value d'acquisto 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

Requests

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 numero intero 100/(frequenza di campionamento ). Ad esempio, 4 => 25%.
request [0] durationMetric.value d'acquisto 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 numero intero 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 numero intero Tempo compreso tra la fine della ricezione del codice HTML e la visualizzazione della pagina.
clientPerformance [0] name string
clientPerformance [0] networkConnection.value numero intero Tempo necessario per stabilire una connessione di rete.
clientPerformance [0] receiveRequest.value numero intero Tempo compreso tra la fine dell'invio della richiesta e la ricezione del codice HTML nella risposta.
clientPerformance [0] sendRequest.value numero intero Tempo necessario per inviare la richiesta HTTP.
clientPerformance [0] total.value numero intero 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 numero intero 100/(frequenza di campionamento ). Ad esempio, 4 => 25%.
view [0] durationMetric.value numero intero 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 d'acquisto 1,0 o 0,0
availability [0] count numero intero 100/(frequenza di campionamento ). Ad esempio, 4 => 25%.
availability [0] dataSizeMetric.name string
availability [0] dataSizeMetric.value numero intero
availability [0] durationMetric.name string
availability [0] durationMetric.value d'acquisto 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

Metriche

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 è stato omesso il conteggio dei 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