• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

newrelic_record_datastore_segment (API d'agent PHP)

Syntaxe

newrelic_record_datastore_segment(callable $func, array $parameters)

Enregistre un segment datastore.

Exigences

Version de l'agent 7.5.0.199 ou supérieure.

Description

Enregistre un segment datastore. Les segments de datastore apparaissent dans les onglets Breakdown table et Databases de la page Transactions dans l'UI New Relic.

Cette fonction permet d'instrumenter un datastore non supporté de la même manière que l' agent PHP instrumente automatiquement ses datastores supportés.

Paramètres

paramètres

Description

$callback

appelable

Requis. La fonction qui doit être chronométrée pour créer le segment datastore .

$parameters

éventail

Requis. Un éventail associatif de paramètres décrivant l'appel datastore .

Les clés prises en charge dans l'éventail $parameters sont les suivantes :

Clé

Description

product

chaîne

Requis. Le nom du produit datastore utilisé : par exemple, MySQL pour indiquer que le segment représente une requête sur une base de données MySQL .

collection

chaîne

Facultatif. La table ou la collection utilisée ou la requête effectuée.

operation

chaîne

Facultatif. L'opération en cours d'exécution : par exemple, select pour une requête SQL SELECT ou set pour une opération d'ensemble Memcached.

Bien que les opérations puissent être spécifiées dans n'importe quel cas, New Relic suggère d'utiliser des minuscules pour mieux s'aligner sur les noms d'opération utilisés agent par datastore instrumentation l' automatisée de l' PHP.

host

chaîne

Facultatif. Le nom de l'hôte datastore .

portPathOrId

chaîne

Facultatif. Le port ou le socket utilisé pour se connecter au datastore.

databaseName

chaîne

Facultatif. Le nom ou le numéro de la base de données utilisée.

query

chaîne

Facultatif. La requête qui a été envoyée au serveur.

Pour des raisons de sécurité, cette valeur n'est utilisée que si vous définissez product sur un datastore pris en charge. Cela permet à l'agent d'obscurcir correctement la requête. Les valeurs de produit prises en charge (qui sont mises en correspondance de manière insensible à la casse) sont : MySQL, MSSQL, Oracle, Postgres, SQLite, Firebird, Sybase et Informix.

inputQueryLabel

chaîne

Facultatif. Le nom de l'ORM utilisé (par exemple : Doctrine).

inputQuery

chaîne

Facultatif. La requête d’entrée qui a été fournie à l’ORM.

Pour des raisons de sécurité, et comme pour le paramètre query, cette valeur sera ignorée si le produit n'est pas un datastore pris en charge.

Important

Les arguments de chaîne utilisés dans l'éventail $parameters ne doivent pas contenir le caractère spécial '/'.

Valeurs de retour

La valeur de retour de $callback est renvoyée. Si une erreur se produit, false est renvoyé et une erreur au niveau E_WARNING sera déclenchée.

Exemples

instrumenté un datastoreNoSQL non pris en charge

Pour instrumenter un datastore NoSQL hypothétique appelé Bucket qui expose une méthode get, le code suivant créerait une métrique de datastore qui s'afficherait dans l'UI New Relic :

$bucket = new Bucket($host, $port);
$id = 12345;
$value = newrelic_record_datastore_segment(function () use ($bucket, $id) {
return $bucket->get($id);
}, array(
'product' => 'Bucket',
'collection' => $id,
'operation' => 'get',
'host' => $host,
'portPathOrId' => $port,
));

instrumenté une bibliothèque de clients SQL non pris en charge

Pour enregistrer une requête pour une bibliothèque cliente MySQL non prise en charge avec la requête masquée et attachée au segment :

$sql = 'SELECT * FROM table';
$stmt = $db->prepare($sql);
$result = newrelic_record_datastore_segment(function () use ($stmt) {
return $stmt->execute();
}, array(
'product' => 'MySQL',
'collection' => 'table',
'operation' => 'select',
'host' => $host,
'portPathOrId' => $port,
'databaseName' => 'dbname',
'query' => $query,
));
Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.