통사론
newrelic_record_datastore_segment(callable $func, array $parameters)
데이터 저장소 세그먼트를 기록합니다.
요구 사항
에이전트 버전 7.5.0.199 이상.
설명
데이터스토어 세그먼트를 기록합니다. 데이터스토어 세그먼트는 Breakdown table Databases 뉴렐릭 에 있는 프로세서 페이지 의 및 탭에 UI 나타납니다.
이 기능을 사용하면 PHP 에이전트가 지원되는 데이터 저장소 를 자동으로 계측하는 것과 같은 방식으로 지원되지 않는 데이터 저장소를 계측할 수 있습니다.
매개변수
매개변수 | 설명 |
---|---|
호출 가능한 | 필수의. 데이터 저장소 세그먼트를 생성하기 위해 시간을 설정해야 하는 함수입니다. |
정렬 | 필수의. 데이터 저장소 호출을 설명하는 매개변수의 연관 배열입니다. |
$parameters
배열에서 지원되는 키는 다음과 같습니다.
열쇠 | 설명 |
---|---|
끈 | 필수의. 사용 중인 데이터 저장소 제품의 이름입니다. 예를 들어 |
끈 | 선택 과목. 사용 중이거나 쿼리 중인 테이블 또는 컬렉션입니다. |
끈 | 선택 과목. 수행 중인 작업: 예를 들어 SQL SELECT 쿼리의 경우 작업은 대소문자에 관계없이 지정할 수 있지만 New Relic은 PHP 에이전트의 자동화된 데이터 저장소 계측에서 사용되는 작업 이름과 더 잘 일치하도록 소문자를 사용할 것을 제안합니다. |
끈 | 선택 과목. 데이터 저장소 호스트 이름입니다. |
끈 | 선택 과목. 데이터 저장소에 연결하는 데 사용되는 포트 또는 소켓입니다. |
끈 | 선택 과목. 사용 중인 데이터베이스 이름 또는 번호입니다. |
끈 | 선택 과목. 서버로 보낸 쿼리입니다. 보안상의 이유로 이 값은 |
끈 | 선택 과목. 사용 중인 ORM의 이름(예: |
끈 | 선택 과목. ORM에 제공된 입력 쿼리입니다. 보안상의 이유로 |
중요
$parameters
배열에 사용되는 문자열 인수에는 특수 문자 '/'가 포함되어서는 안 됩니다.
반환 값
$callback
의 반환 값이 반환됩니다. 오류가 발생하면 false
이 반환되고 E_WARNING
수준의 오류가 트리거됩니다.
예
지원되지 않는 NoSQL 데이터 저장소 계측
get
메서드를 노출하는 Bucket
이라는 가상의 NoSQL 데이터 저장소를 계측하기 위해 다음 코드는 New Relic UI에 표시되는 데이터 저장소 측정항목을 생성합니다.
$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,));
지원되지 않는 SQL 클라이언트 라이브러리 계측
지원되지 않는 MySQL 클라이언트 라이브러리에 대한 쿼리를 난독화하고 세그먼트에 첨부하여 기록하려면:
$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,));