Syntaxe
newrelic.measure(name: string, options?: Object<{ customAttributes?: Object, start?: number|PerformanceMark, end?: number|PerformanceMark }>)Signale un événement BrowserPerformance du navigateur.
Exigences
Agent Browser Pro ou Pro+SPA (v1.291 ou supérieur)
Si vous installez l'agent browser via npm et que vous créez un agent personnalisé avec des fonctionnalités sélectionnées, vous devez activer la fonctionnalité
generic_eventslors de la création de l'instanceAgent. Dans le tableaufeatures, ajoutez ce qui suit :import { GenericEvents } from '@newrelic/browser-agent/features/generic_events';const options = {info: { ... },loader_config: { ... },init: { ... },features: [GenericEvents]}Pour plus d'informations, consultez la documentation d'installation du navigateur npm.
Description
Cet appel d'API envoie un événementBrowserPerformance au navigateur avec votre nom défini par l'utilisateur et votre attribut personnalisé. Ceci est utile pour créer manuellement un événement comme alternative ou en complément du suivi automatique des marques et des mesures.
Paramètres
paramètres | Description |
|---|---|
chaîne | Requis. Nom ou catégorie de la tâche. Signalé comme l'attribut Évitez d’utiliser des mots NRQL réservés lorsque vous nommez l’attribut ou la valeur. |
Objet JSON | Facultatif. Un objet utilisé pour fournir la configuration de l'événement capturé. Tous les attributs de l'objet sont facultatifs. Si Évitez d'utiliser des mots NRQL réservés dans l'attribut personnalisé. |
Valeurs de retour
Cette méthode renvoie un objet JSON avec les détails de mesure. start est l'heure de début. end est la fin des temps. duration est la longueur de la mesure du début à la fin. customAttributes sont des attribut personnalisé passés dans la mesure appel d'API. Les attributs personnalisés renvoyés ne sont pas fusionnés avec les attributs personnalisés définis par l'utilisateur, mais ils sont fusionnés lors de la création de l'événement BrowserPerformance.
Exemples
Exemple minimal
const myTask = newrelic.measure('checkout')/** myTask **/{ start: 0, // page origin time was used since start was not supplied end: 1234, // performance.now() was used since end was not supplied duration: 1234, // end - start customAttributes: { } // no custom attributes were supplied}/** the browser agent buffers and later harvests the newly created BrowserPerformance event **/Utilisation d'arguments numériques pour l'heure de début et/ou de fin
const myTask = newrelic.measure('checkout', { start: 1234, end: 5678})/** myTask **/{ start: 1234, // options.start time was used directly end: 5678, // options.end time was used directly duration: 4444, // end - start customAttributes: { } // no custom attributes were supplied}/** the browser agent buffers and later harvests the newly created BrowserPerformance event **/Utilisation des arguments PerformanceMark
const startMark = performance.mark('my-start-mark') // startTime = 1234// laterconst endMark = performance.mark('my-end-mark') // startTime = 5678const myTask = newrelic.measure('checkout', { start: startMark, end: endMark})/** myTask **/{ start: 1234, // options.start.startTime was used since it was a BrowserPerformance entry end: 5678, // options.end.startTime was used since it was a BrowserPerformance entry duration: 4444, // end - start customAttributes: { } // no custom attributes were supplied}/** the browser agent buffers and later harvests the newly created BrowserPerformance event **/Types d'arguments mixtes
const startMark = performance.mark('my-start-mark') // startTime = 1234const myTask = newrelic.measure('checkout', { start: startMark, end: 5678})/** myTask **/{ start: 1234, // options.start.startTime was used since it was a BrowserPerformance entry end: 5678, // options.end time was used directly duration: 4444, // end - start customAttributes: { } // no custom attributes were supplied}/** the browser agent buffers and later harvests the newly created BrowserPerformance event **/Utilisation d'attributs personnalisés
const myTask = newrelic.measure('checkout', { start: 1234, end: 5678, customAttributes: { foo: 'bar' }})/** myTask **/{ start: 1234, // options.start time was used directly end: 5678, // options.end time was used directly duration: 4444, // end - start customAttributes: { foo: 'bar' }}/** the browser agent buffers and later harvests the newly created BrowserPerformance event **/