Invio di eventi personalizzati - Amazon CloudWatch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Invio di eventi personalizzati

CloudWatch RUM registra e inserisce gli eventi elencati inInformazioni raccolte dal client web CloudWatch RUM. Se si utilizza la versione 1.12.0 o successiva del client web CloudWatch RUM, è possibile definire, registrare e inviare eventi personalizzati aggiuntivi. Puoi stabilire il nome del tipo di evento e i dati da inviare per ogni tipo di evento che definisci. Ogni payload di eventi personalizzato può contenere fino a 6 KB.

Gli eventi personalizzati vengono inseriti solo se sono stati abilitati nel monitoraggio dell'app. Per aggiornare le impostazioni di configurazione dell'app monitor, utilizza la console CloudWatch RUM o l'UpdateAppMonitorAPI.

Dopo aver abilitato gli eventi personalizzati e aver definito e inviato gli eventi personalizzati, puoi effettuare una ricerca. Per cercarle, usa la scheda Eventi nella console CloudWatch RUM. Effettua la ricerca utilizzando il tipo di evento.

Requisiti e sintassi

Gli eventi personalizzati sono costituiti da un tipo di evento e dai relativi dettagli. I parametri sono i seguenti:

  • Tipo di evento

    • Questo valore può essere il tipo o il nome dell'evento. Ad esempio, il tipo di evento integrato CloudWatch RUM chiamato JsErrorha un tipo di evento dicom.amazon.rum.js_error_event.

    • Deve contenere da 1 a 256 caratteri.

    • Può essere una combinazione di caratteri alfanumerici, caratteri di sottolineatura, trattini e punti.

  • Dettagli dell'evento

    • Contiene i dati effettivi che si desidera registrare in CloudWatch RUM.

    • Deve essere un oggetto composto da campi e valori.

Esempi di registrazione di eventi personalizzati

Esistono due modi per registrare eventi personalizzati nel client web CloudWatch RUM.

  • Utilizza l'recordEventAPI del client web CloudWatch RUM.

  • Utilizza un plug-in personalizzato.

Invio di un evento personalizzato tramite l'API recordEvent (esempio NPM)

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

Invio di un evento personalizzato tramite l'API recordEvent (esempio di script incorporato)

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

Esempio di invio di un evento personalizzato tramite un plug-in personalizzato

// 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); } }