APM signale les données métriques sous la forme de données métriques d'intervalle de temps, et vous pouvez utiliser NRQL pour interroger et alerter sur ce type de données. Pour explorer vos données d'intervalle de temps, voir Explorer vos métriques.
Pourquoi effectuer une requête intervalle de temps métrique ?
New Relic fournit des rapports sur les métriques de plusieurs manières. Une variété de données métriques est appelée metric timeslice data; c'est le type de données utilisé pour générer de nombreux graphiques dans APM, et le navigateur (pour plus de détails, voir les données métriques de l'intervalle de temps).
les métriques sont automatiquement converties des données d'intervalle de temps métrique en données métriques dimensionnelles plus détaillées, ce qui les ouvre aux interrogations via NRQL et via notre API NerdGraph. Cette fonctionnalité vous permet de créer des visualisations personnalisées puissantes et approfondies de ces mesures APM importantes. Et cela inclut la possibilité de requêter vos métriques personnalisées.
Important
Vous ne pouvez pas requêter des métriques timeslice en conjonction avec des métriques dimensionnelles ou des données d'événement. Toute requête impliquant une métrique newrelic.timeslice.value
ou apm.*
ne peut renvoyer que des métriques APM.
Où faire ma requête ?
Nous vous recommandons d'interroger les données d'intervalle de temps métrique APM à l'aide de notre générateur de requêtes. Cette expérience offre toutes les fonctionnalités NRQL et fournit également des suggestions de saisie semi-automatique utiles et des commentaires sur les erreurs de requête.
Vous pouvez également :
- Créez une requête NRQL à l'aide de notre API NerdGraph (GraphQL)
- Alerte sur requête NRQL utilisant la condition d'alerte NRQL
Comment construire une requête
Dans APM, certains graphiques ont la possibilité d' afficher la requête NRQL qui a généré ce graphique. Il s’agit d’un bon point de départ pour comprendre comment interroger les métriques. La requête NRQL ci-dessous est légèrement modifiée par rapport au tableau des taux d'erreur sur la page de résumé .
FROM MetricSELECT count(apm.service.error.count) / count(apm.service.transaction.duration)WHERE (entity.guid = 'AN_ENTITY_GUID')AND (transactionType = 'Web')SINCE 1 day ago TIMESERIES
Voici une description détaillée du fonctionnement des différentes parties de cette requête :
Segment de requête | Qu'est-ce que ça fait ? |
---|---|
|
|
| Ce calcul génère un décompte d'erreurs à partir d'un décompte total de métriques de transaction. Cette requête utilise les noms métriques convertis. Notez que vous pouvez utiliser d'autres fonctions d'agrégateur. |
| Vous devez spécifier au moins une source de données. Vous pouvez sélectionner le GUID d'une seule entité, comme indiqué ici, ou vous pouvez sélectionner plusieurs sources. Cette requête utilise |
| Définit le type de transaction sur Web, ce qui signifie que l'arrière-plan/la transaction non Web ne sera pas comptabilisé. |
| Sélection d'une plage horaire. |
| Cette clause facultative affiche les résultats dans un graphique temporel. |
Pour des informations générales sur la syntaxe NRQL, notamment FROM
, FACET
et TIMESERIES
, voir Introduction à NRQL.
Pour plus de requêtes, voir les exemples de requêtes.
Comment les données d'intervalle de temps métrique sont converties
La conversion des métriques de tranche de temps d'origine en métriques dimensionnelles disponibles pour l'interrogation est un processus continu et n'est pas terminé. Si vous ne voyez pas la métrique que vous recherchez dans cette section, consultez Requête générique.
Voici comment les métriques de tranche de temps APM originales sont converties en métriques dimensionnelles :
intervalle de temps métrique structure | Structure métrique dimensionnelle |
---|---|
Les noms métriques APM sont représentés sous forme de chaînes uniques de segments séparés par des barres obliques. Par exemple, la métrique « | Une métrique unidimensionnelle nommée Cette métrique possède trois attributs représentant les valeurs de données codées dans le nom de la métrique,
|
Certaines des métriques APM mises à disposition sous forme de métriques dimensionnelles :
Nom métrique | Description | Attributs | Unité métrique |
---|---|---|---|
| Temps passé dans le code en mode utilisateur |
| pourcentage |
| temps de réponse pour les appels de base de données répartis par opérations de table |
| secondes |
| Résumé des mesures du nombre d'erreurs |
| compter |
| temps de réponse pour les appels externes répartis par nom d'hôte externe |
| secondes |
| Nombre d'instances d'agent | compter | |
| Mémoire de processus en Mo | mégaoctets | |
| Scores Apdex par transaction |
| apdex |
| temps de réponse par transaction |
| secondes |
| Nombre d'erreurs par transaction |
| compter |
| Temps de réponse d'appel externe par type de transaction |
| secondes |
Apprenez à voir toutes les métriques à votre disposition. Pour obtenir l'unité métrique pour un nom de métrique donné, vous pouvez utiliser une requête comme :
FROM MetricSELECT unitWHERE appName = 'YOUR_APP_NAME'AND metricName = 'METRIC_NAME'
Pour en savoir plus sur la structure générale des données d'intervalle de temps métrique, y compris quelques exemples courants, voir données d'intervalle de temps métrique.
Attributs
Ces attributs sont disponibles en plus de l'attribut spécifique à la métrique répertorié dans le tableau des métriques ci-dessus.
Nom | Description |
---|---|
| Le nom de l'application. |
| L'ID de l'application. |
| Le GUID de l'application. |
| L'hôte du processus de monitoring. |
| L'ID du démarrage de l'hôte, s'il est disponible. |
| Le |
| Pour les agents Java , |
| Le nom de la métrique dimensionnelle. |
| Le nom de la tranche de temps de la métrique legacy . |
| (Facultatif) Le nom de la tranche de temps de la métrique legacy à laquelle cette métrique est « limitée ». Les métriques avec une portée lui appartiennent : leurs mesures s'appliquent au contexte de la métrique nommée dans l'attribut |
Aperçu des mesures
Les métriques d'aperçu vous permettent d'obtenir une répartition du temps passé pendant l'exécution. Ces mesures sont uniques à plusieurs égards :
- Il s’agit d’une combinaison de plusieurs tranches de temps.
- Ils sont conçus pour fonctionner uniquement avec la fonction agrégateur
average
. - Le code exécuté simultanément affichera le temps d'exécution combiné.
Par exemple, si votre service appelle une base de données MySQL dans 3 threads simultanés avec un temps de réponse moyen de 0,1 seconde pour chaque thread, le segment MySQL s'affichera comme 0,3.
Plusieurs mesures d'ensemble sont fournies à des fins différentes :
Nom métrique | Description | Attributs |
---|---|---|
| Répartition du temps passé dans les différentes parties du service pour la transaction web |
|
| Répartition du temps passé dans les différentes parties du service pour les tâches d'arrière-plan/de transaction non Web |
|
| Répartition du temps passé sur une transaction spécifique |
|
| Répartition du temps passé sur une transaction clé spécifique |
|
Requête générique avec le newrelic.timeslice.value
Pour les métriques qui n'ont pas été converties en métriques dimensionnelles, ou pour vos propres métriques personnalisées, nous avons une métrique dimensionnelle nommée newrelic.timeslice.value
.
Important
Nous vous recommandons d'utiliser les dimensions métriques du tableau ci-dessus lorsque cela est possible.
Quand l'utiliser newrelic.timeslice.value
Étant donné un nom d'intervalle de temps métrique, vous pouvez effectuer une requête pour voir s'il possède un équivalent métrique dimensionnel converti avec cette syntaxe :
FROM MetricSELECT uniques(metricName)WHERE metricTimesliceName = 'Datastore/statement/MySQL/test/select'
Si le seul nom de métrique renvoyé est newrelic.timeslice.value
, vous devrez interroger vos données en utilisant cette approche générale.
Obtenir les métriques disponibles
Pour obtenir une liste des métriques disponibles pour une application, vous pouvez utiliser une requête comme :
SELECT uniques(metricTimesliceName) FROM Metric WHERE appName = 'YOUR_APP_NAME' AND newrelic.timeslice.value IS NOT NULL
Facette sur un segment de nom de métrique générique
Certains noms d'intervalle de temps métrique incluent des valeurs d'attribut sous forme de segments du nom métrique. Par exemple, nos agents signalent des métriques en suivant la durée des appels externes en utilisant ce format :
External/{externalHost}/all
Ici, {externalHost}
représente le nom d’hôte pour l’appel réseau sortant.
Voici un exemple de requête newrelic.timeslice.value
générique d'une métrique personnalisée qui facette un segment métrique générique :
FROM Metric SELECT count(newrelic.timeslice.value) WHERE appName = 'MY APP' WITH METRIC_FORMAT 'Custom/Labels/{action}' TIMESERIES FACET action
Dans cette requête, {action}
crée un attribut temporaire, action
, qui est ensuite utilisé par FACET action
. Vous pouvez utiliser le nom de votre choix, car il s’agit uniquement d’un attribut qui existe pendant la durée de la requête. Vous devez choisir un nom qui n’entre pas en conflit avec un nom d’attribut existant.
Fonctions d'agrégateur recommandées
Les fonctions recommandées de l'agrégateur incluent :NRQL
apdex
average
sum
count
rate
uniques
Exemples de requêtes
Quelques exemples d'interrogation de données d'intervalle de temps métrique :