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 |
---|---|
chamável | Obrigatório. A função que deve ser cronometrada para criar o segmento do armazenamento de dados. |
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 |
---|---|
corda | Obrigatório. O nome do produto de armazenamento de dados que está sendo usado: por exemplo, |
corda | Opcional. A tabela ou coleção que está sendo usada ou consultada. |
corda | Opcional. A operação que está sendo executada: por exemplo, 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. |
corda | Opcional. O nome do host do armazenamento de dados. |
corda | Opcional. A porta ou soquete usado para conectar-se ao armazenamento de dados. |
corda | Opcional. O nome ou número do banco de dados em uso. |
corda | Opcional. A consulta que foi enviada ao servidor. Por motivos de segurança, esse valor só será usado se você definir |
corda | Opcional. O nome do ORM em uso (por exemplo: |
corda | Opcional. A consulta de entrada fornecida ao ORM. Por motivos de segurança, e assim como acontece com o parâmetro |
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,));