• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

newrelic_record_datastore_segment (API do agente PHP)

Sintaxe

newrelic_record_datastore_segment(callable $func, array $parameters)

Registra um segmento de armazenamento de dados.

Requisitos

Versão do agente 7.5.0.199 ou superior.

Descrição

Registra um segmento de armazenamento de dados. Os segmentos do datastore aparecem nas guias Breakdown table e Databases da página de transação na interface do New Relic.

Esta função permite que um datastore não suportado seja instrumentado da mesma forma que o agente PHP instrumenta automaticamente seus datastores suportados.

Parâmetro

Parâmetro

Descrição

$callback

chamável

Obrigatório. A função que deve ser cronometrada para criar o segmento do armazenamento de dados.

$parameters

matriz

Obrigatório. Uma matriz associativa de parâmetros que descreve a chamada do armazenamento de dados.

As chaves suportadas na matriz $parameters são as seguintes:

Chave

Descrição

product

corda

Obrigatório. O nome do produto de armazenamento de dados que está sendo usado: por exemplo, MySQL para indicar que o segmento representa uma consulta em um banco de dados MySQL.

collection

corda

Opcional. A tabela ou coleção que está sendo usada ou consultada.

operation

corda

Opcional. A operação que está sendo executada: por exemplo, select para uma consulta SQL SELECT ou set para uma operação de conjunto do Memcached.

Embora as operações possam ser especificadas em qualquer caso, a New Relic sugere o uso de letras minúsculas para melhor alinhar com os nomes das operações usados pela instrumentação automatizada de armazenamento de dados do agente PHP.

host

corda

Opcional. O nome do host do armazenamento de dados.

portPathOrId

corda

Opcional. A porta ou soquete usado para conectar-se ao armazenamento de dados.

databaseName

corda

Opcional. O nome ou número do banco de dados em uso.

query

corda

Opcional. A consulta que foi enviada ao servidor.

Por motivos de segurança, esse valor só será usado se você definir product como um armazenamento de dados compatível. Isso permite que o agente ofusque corretamente a consulta. Os valores de produto suportados (que são correspondidos sem distinção entre maiúsculas e minúsculas) são: MySQL, MSSQL, Oracle, Postgres, SQLite, Firebird, Sybase e Informix.

inputQueryLabel

corda

Opcional. O nome do ORM em uso (por exemplo: Doctrine).

inputQuery

corda

Opcional. A consulta de entrada fornecida ao ORM.

Por motivos de segurança, e assim como acontece com o parâmetro query , esse valor será ignorado se o produto não for um armazenamento de dados compatível.

Importante

Os argumentos de string usados na matriz $parameters não devem conter o caractere especial '/'.

Valores de retorno

O valor de retorno de $callback é retornado. Se ocorrer um erro, false será retornado e um erro no nível E_WARNING será acionado.

Exemplos

Instrumentado um armazenamento de dados NoSQL não suportado

Para instrumentar um armazenamento de dados NoSQL hipotético chamado Bucket que expõe um método get , o código a seguir criaria uma métrica de armazenamento de dados que apareceria na interface do 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 uma biblioteca cliente SQL não suportada

Para registrar uma consulta para uma biblioteca cliente MySQL não suportada com a consulta ofuscada e anexada ao 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.