Envoyer des événements personnalisés - Amazon CloudWatch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Envoyer des événements personnalisés

CloudWatch RUM enregistre et ingère les événements listés dansInformations collectées par le client Web CloudWatch RUM. Si vous utilisez la version 1.12.0 ou ultérieure du client Web CloudWatch RUM, vous pouvez définir, enregistrer et envoyer des événements personnalisés supplémentaires. Vous définissez le nom du type d'événement et les données à envoyer pour chaque type d'événement que vous définissez. Chaque charge utile d'événement personnalisé peut atteindre 6 Ko.

Les événements personnalisés sont ingérés uniquement si les événements personnalisés sont activés dans le moniteur d'applications. Pour mettre à jour les paramètres de configuration de votre moniteur d'applications, utilisez la console CloudWatch RUM ou l'UpdateAppMonitorAPI.

Après avoir activé les événements personnalisés, puis défini et envoyé des événements personnalisés, vous pouvez les rechercher. Pour les rechercher, utilisez l'onglet Events de la console CloudWatch RUM. Recherchez en utilisant le type d'événement.

Exigences et syntaxe

Les événements personnalisés se composent d'un type d'événement et des détails de l'événement. Les conditions requises pour ces derniers sont les suivantes :

  • Type d'événement

    • Il peut s'agir du type ou du nom de votre événement. Par exemple, le type d'événement intégré CloudWatch RUM appelé JsErrorpossède un type d'événement decom.amazon.rum.js_error_event.

    • Doit comporter entre 1 et 256 caractères.

    • Peut être une combinaison de caractères alphanumériques, de traits de soulignement, de tirets et de points.

  • Détails de l'événement

    • Contient les données réelles que vous souhaitez enregistrer dans CloudWatch RUM.

    • Doit être un objet qui se compose de champs et de valeurs.

Exemples d'enregistrement d'événements personnalisés

Il existe deux manières d'enregistrer des événements personnalisés dans le client Web CloudWatch RUM.

  • Utilisez l'recordEventAPI du client Web CloudWatch RUM.

  • Utilisez un plugin personnalisé.

Envoyer un événement personnalisé à l'aide de l'API recordEvent, exemple NPM

awsRum.recordEvent('my_custom_event', { location: 'IAD', current_url: 'amazonaws.com', user_interaction: { interaction_1 : "click", interaction_2 : "scroll" }, visit_count:10 } )

Envoyer un événement personnalisé à l'aide de l'API recordEvent, exemple de script intégré

cwr('recordEvent', { type: 'my_custom_event', data: { location: 'IAD', current_url: 'amazonaws.com', user_interaction: { interaction_1 : "click", interaction_2 : "scroll" }, visit_count:10 } })

Exemple d'envoi d'un événement personnalisé à l'aide d'un plugin personnalisé

// Example of a plugin that listens to a scroll event, and // records a 'custom_scroll_event' that contains the timestamp of the event. class MyCustomPlugin implements Plugin { // Initialize MyCustomPlugin. constructor() { this.enabled; this.context; this.id = 'custom_event_plugin'; } // Load MyCustomPlugin. load(context) { this.context = context; this.enable(); } // Turn on MyCustomPlugin. enable() { this.enabled = true; this.addEventHandler(); } // Turn off MyCustomPlugin. disable() { this.enabled = false; this.removeEventHandler(); } // Return MyCustomPlugin Id. getPluginId() { return this.id; } // Record custom event. record(data) { this.context.record('custom_scroll_event', data); } // EventHandler. private eventHandler = (scrollEvent: Event) => { this.record({timestamp: Date.now()}) } // Attach an eventHandler to scroll event. private addEventHandler(): void { window.addEventListener('scroll', this.eventHandler); } // Detach eventHandler from scroll event. private removeEventHandler(): void { window.removeEventListender('scroll', this.eventHandler); } }