• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

newrelic_record_datastore_segment (API del agente PHP)

Sintaxis

newrelic_record_datastore_segment(callable $func, array $parameters)

Registra un segmento de almacenamiento de datos.

Requisitos

Versión del agente 7.5.0.199 o superior.

Descripción

Registra un segmento de almacenamiento de datos. Los segmentos de almacenamiento de datos aparecen en las pestañas Breakdown table y Databases de la página de transacciones en la UI de New Relic.

Esta función permite instrumentar un almacenamiento de datos no compatible de la misma manera que el agente PHP instrumenta automáticamente sus almacenes de datos compatibles.

Parámetros

Parámetro

Descripción

$callback

invocable

Requerido. La función que debe programarse para crear el segmento de almacenamiento de datos.

$parameters

matriz

Requerido. Una matriz asociativa de parámetros que describen la llamada de almacenamiento de datos.

Las claves admitidas en la matriz $parameters son las siguientes:

Llave

Descripción

product

cadena

Requerido. El nombre del producto de almacenamiento de datos que se utiliza: por ejemplo, MySQL para indicar que el segmento representa una consulta a una base de datos MySQL.

collection

cadena

Opcional. La tabla o colección que se utiliza o se consulta.

operation

cadena

Opcional. La operación que se está realizando: por ejemplo, select para una consulta SQL SELECT o set para una operación de conjunto de Memcached.

Si bien las operaciones se pueden especificar con cualquier caso, New Relic sugiere usar minúsculas para alinearse mejor con los nombres de las operaciones utilizadas por la instrumentación automatizada de almacenamiento de datos del agente PHP.

host

cadena

Opcional. El nombre del host de almacenamiento de datos.

portPathOrId

cadena

Opcional. El puerto o socket utilizado para conectarse al almacenamiento de datos.

databaseName

cadena

Opcional. El nombre o número de la base de datos en uso.

query

cadena

Opcional. La consulta que se envió al servidor.

Por motivos de seguridad, este valor solo se utiliza si configura product en un almacenamiento de datos compatible. Esto permite al agente ofuscar correctamente la consulta. Los valores de producto admitidos (que coinciden sin distinguir entre mayúsculas y minúsculas) son: MySQL, MSSQL, Oracle, Postgres, SQLite, Firebird, Sybase y Informix.

inputQueryLabel

cadena

Opcional. El nombre del ORM en uso (por ejemplo: Doctrine).

inputQuery

cadena

Opcional. La consulta de entrada que se proporcionó al ORM.

Por motivos de seguridad, y al igual que con el parámetro query , este valor se ignorará si el producto no es un almacenamiento de datos compatible.

Importante

Los argumentos de cadena utilizados en la matriz $parameters no deben contener el carácter especial '/'.

Valores de retorno

Se devuelve el valor de retorno de $callback . Si se produce un error, se devuelve false y se activará un error en el nivel E_WARNING .

Ejemplos

Instrumentado un almacenamiento de datos NoSQL no compatible

Para instrumentar un almacenamiento de datos NoSQL hipotético llamado Bucket que exponga un método get, el siguiente código crearía una métrica de almacenamiento de datos que se mostraría en la UI de 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,
));

Instrumentado una biblioteca cliente SQL no compatible

Para registrar una consulta para una biblioteca cliente MySQL no compatible con la consulta ofuscada y adjunta al segmento:

$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,
));
Copyright © 2024 New Relic Inc.

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