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 |
---|---|
invocable | Requerido. La función que debe programarse para crear el segmento de almacenamiento de datos. |
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 |
---|---|
cadena | Requerido. El nombre del producto de almacenamiento de datos que se utiliza: por ejemplo, |
cadena | Opcional. La tabla o colección que se utiliza o se consulta. |
cadena | Opcional. La operación que se está realizando: por ejemplo, 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. |
cadena | Opcional. El nombre del host de almacenamiento de datos. |
cadena | Opcional. El puerto o socket utilizado para conectarse al almacenamiento de datos. |
cadena | Opcional. El nombre o número de la base de datos en uso. |
cadena | Opcional. La consulta que se envió al servidor. Por motivos de seguridad, este valor solo se utiliza si configura |
cadena | Opcional. El nombre del ORM en uso (por ejemplo: |
cadena | Opcional. La consulta de entrada que se proporcionó al ORM. Por motivos de seguridad, y al igual que con el parámetro |
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,));