Important
Cette fonctionnalité fonctionne correctement uniquement si Default Interactions
est désactivé lors de l'exécution et configuré de manière appropriée lors de la construction.
Créer une interaction personnalisée
Vous pouvez créer des interactions personnalisées et les enrichir avec des informations supplémentaires. Si les interactions personnalisées ne sont pas fermées explicitement, l'agent New Relic les ferme automatiquement et envoie les données à la plateforme New Relic.
Pour créer une interaction personnalisée, utilisez startInteraction
pour démarrer l'interaction et endInteraction
pour la fermer. Le système mesure automatiquement le timing.
Java
// Start a custom interactionString id = NewRelic.startInteraction("Tap on Search");
// ...do some work here...
// End the custom interactionNewRelic.endInteraction(id);
Kotlin
// Start a custom interactionval id = NewRelic.startInteraction("Tap on Search")
// ...do some work here...
// End the custom interactionNewRelic.endInteraction(id)
Ces méthodes vous permettent de capturer la durée et les détails d'une interaction spécifique au sein de votre application, fournissant des informations plus détaillées sur le comportement des utilisateurs et les performances des applications.
Créer une trace enfant avec une interaction personnalisée
Les traces d'enfants sont similaires aux interactions personnalisées. Lorsqu'une interaction personnalisée parent est fermée, l'agent New Relic ferme automatiquement toutes les traces de méthodes enfants associées à cette interaction personnalisée parent.
Pour générer une trace enfant, utilisez la méthode NewRelic.startMethodTrace()
. Voici comment vous pouvez implémenter l’interaction personnalisée des parents et le suivi des enfants :
Java
// Start a parent custom interactionString parentId = NewRelic.startInteraction("Main Activity");
// Start a child traceNewRelic.startMethodTrace("Load Resource From Database");
// ...do some work here...
// End the child traceNewRelic.endMethodTrace();
// Start another child traceNewRelic.startMethodTrace("Load Resource From Server");
// ...do some work here...
// End the child traceNewRelic.endMethodTrace();
// End the parent interactionNewRelic.endInteraction(parentId);
Kotlin
// Start a parent custom interactionval parentId = NewRelic.startInteraction("Main Activity")
// Start a child traceNewRelic.startMethodTrace("Loop 1 Run")
// ...do some work here...
// End the child traceNewRelic.endMethodTrace()
// Start another child traceNewRelic.startMethodTrace("Loop 2 Run")
// ...do some work here...
// End the child traceNewRelic.endMethodTrace()
// End the parent interactionNewRelic.endInteraction(parentId)
Considérations
- Si vous souhaitez créer une interaction personnalisée avec la méthode trace, vous devez démarrer et terminer l'interaction sans aucune intervention de l'utilisateur.
- Si vous souhaitez calculer le temps entre deux interactions impliquant l'intervention de l'utilisateur, vous ne devez pas créer de trace enfant pour ces interactions.
Cette approche permet un suivi et une mesure détaillés de l'interaction au sein de votre application mobile pour fournir des informations précieuses détaillées sur les performances des applications et le comportement des utilisateurs.