무한 추적 설정 앱 을 사용하여 무한 추적 에 대한 많은 설정을 구성할 수 있습니다.GraphQL을 사용하여 이러한 다양한 구성 작업을 수행할 수도 있습니다.NerdGraph GraphiQL 탐색기 를 사용하면 Infinite Tracing 구성에 대한 쿼리 및 변형을 실행하고 결과를 볼 수 있습니다.이 문서에서는 사용 가능한 몇 가지 옵션에 대해 설명합니다.
팁
GraphQL을 시작하는 데 도움이 필요하면 Introduction to New Relic NerdGraph 를 확인하세요.
추적 관찰자에서 무작위 샘플러 업데이트
꼬리 기반 샘플링 알고리즘에 대한 문서에 설명된 대로 Infinite Tracing이 추적을 샘플링하기 위해 선택하는 몇 가지 방법이 있습니다. 임의 샘플러를 구성할 수 있으므로 유지되는 추적 비율을 제어할 수 있습니다.
팁
임의 필터를 변경하는 것이 적절한 시기에 대한 도움이 필요하면 무한 추적: 임의 추적 필터 를 참조하십시오.
다음 예는 기본값인 1%에서 값을 업데이트하는 방법을 보여줍니다.
api.newrelic.com/graphiql에서 NerdGraph GraphiQL 탐색기로 이동합니다.
다음 쿼리를 실행하여 수정할 무작위 샘플러가 포함된 추적 관찰자를 찾습니다.
{actor {account(id: YOUR_ACCOUNT_ID) {edge {tracing {traceObservers {idnameproviderRegionstatustraceFilters {randomTraceFilter {percentKept}}endpoints {agent {host}}}}}}}}응답에서 추적 관찰자
id
를 찾습니다. 다음은 값이123456789
인 예입니다.{"data": {"actor": {"account": {"edge": {"tracing": {"traceObservers": [{"endpoints": [{"agent": {"host": "YOUR_UUID_GOES_HERE.aws-us-east-1.tracing.edge.nr-data.net"}}],"id": 123456789,"name": "Production Workload, US-EAST-1","providerRegion": "AWS_US_EAST_1","status": "CREATED","traceFilters": {"randomTraceFilter": {"percentKept": 1}}}]}}}}}}id
및 유지하려는 백분율을 사용하여 변형을 실행합니다. 예를 들어, 이전 단계에서 찾은 ID가123456789
인 추적 관찰자에 대해 값을 50%로 높이려면 다음을 실행합니다.mutation {edgeUpdateTraceObservers(accountId: YOUR_ACCOUNT_IDtraceObserverConfigs: {id: 123456789randomTraceFilterConfig: { percentKept: 50 }}) {responses {errors {messagetype}traceObserver {traceFilters {randomTraceFilter {percentKept}}idendpoints {agent {host}}namestatus}}}}
변경을 확인하는 응답은 다음과 같습니다.
{ "data": { "edgeUpdateTraceObservers": { "responses": [ { "errors": null, "traceObserver": { "endpoints": [ { "agent": { "host": "YOUR_UUID_GOES_HERE.aws-us-east-1.tracing.edge.nr-data.net" } } ], "id": 123456789, "name": "Production Workload, US-EAST-1", "status": "CREATED", "traceFilters": { "randomTraceFilter": { "percentKept": 50 } } } } ] } }}
추적 관찰자에서 데이터 소스 업데이트
일부 엔터티는 추적 데이터를 Infinite Tracing 추적 관찰자에게 직접 보내도록 구성할 수 있지만 다른 엔터티는 New Relic이 추적 관찰자에게 데이터를 라우팅하도록 할 수 있습니다. 현재 모바일, 브라우저 및 Lambda 엔터티에 대해 이 기능을 지원합니다. Infinite Tracing의 맥락에서 우리는 이러한 엔티티를 데이터 소스라고 부릅니다.
팁
추적 관찰자의 데이터 소스에 대한 도움이 필요한 경우 추적 관찰자 설정 을 참조하십시오.
추적 관찰자에서 데이터 소스를 업데이트할 수 있는 세 가지 방법이 있습니다.
ADD:
트레이스 관찰자의 기존 데이터 소스에 새 데이터 소스를 추가하려면
ADD
DataSourceGroupUpdateType
을 사용하세요. 이 변형으로 인해 데이터 소스가 삭제되지 않습니다.REPLACE:
트레이스 관찰자의 기존 데이터 소스를 새로운 값 세트로 바꾸려면
REPLACE
DataSourceGroupUpdateType
을 사용하세요. 새 세트에 없는 기존 값의 상태는INACTIVE
로 설정됩니다.REMOVE:
트레이스 관찰자에서 하나 이상의 기존 데이터 소스를 제거하려면
REMOVE
DataSourceGroupUpdateType
을(를) 사용하세요. 전달된 모든 값의 상태는INACTIVE
로 설정됩니다.
다음 예에서는 기존 데이터 원본에 추가하는 방법을 보여줍니다.
api.newrelic.com/graphiql에서 NerdGraph GraphiQL 탐색기로 이동합니다.
다음 쿼리를 실행하여 수정하려는 데이터 원본 그룹이 포함된 추적 관찰자를 찾습니다.
{actor {account(id: YOUR_ACCOUNT_ID) {edge {tracing {traceObservers {idnamedataSourceGroup {dataSources {entity {guidnameentityType}status}}endpoints {agent {host}}}}}}}}응답에서 추적 관찰자
id
를 찾습니다. 다음은 두 개의 추적 관찰자가 있는 예입니다.id
값이259
인 US-EAST-1에 있는 "Production services"를 원한다고 가정해 보겠습니다.{"data": {"actor": {"account": {"edge": {"tracing": {"traceObservers": [{"dataSourceGroup": {"dataSources": [{"entity": {"entityType": "BROWSER_APPLICATION_ENTITY","guid": "MXxCUk9XU0VSfEFQUExJQ0FUSU9OfDE","name": "My 1st Browser App"},"status": "ACTIVE"},{"entity": {"entityType": "MOBILE_APPLICATION_ENTITY","guid": "MXxNT0JJTEV8QVBQTElDQVRJT058Mg","name": "My 1st iOS App"},"status": "ACTIVE"},{"entity": {"entityType": "INFRASTRUCTURE_AWS_LAMBDA_FUNCTION_ENTITY","guid": "MXxJTkZSQXxOQXwz","name": "My 1st Lambda Function"},"status": "ACTIVE"}]},"endpoints": [{"agent": {"host": "YOUR_UUID_GOES_HERE.aws-us-east-1.tracing.edge.nr-data.net"}}],"id": 259,"name": "Production services"},{"dataSourceGroup": {"dataSources": [{"entity": {"entityType": "BROWSER_APPLICATION_ENTITY","guid": "MXxCUk9XU0VSfEFQUExJQ0FUSU9OfDEw","name": "My Staging Browser App"},"status": "ACTIVE"},{"entity": {"entityType": "MOBILE_APPLICATION_ENTITY","guid": "MXxNT0JJTEV8QVBQTElDQVRJT058MTE","name": "My Staging Android App"},"status": "ACTIVE"},{"entity": {"entityType": "INFRASTRUCTURE_AWS_LAMBDA_FUNCTION_ENTITY","guid": "MXxJTkZSQXxOQXwxMg","name": "My Staging Lambda Function"},"status": "ACTIVE"}]},"endpoints": [{"agent": {"host": "YOUR_UUID_GOES_HERE.aws-us-west-2.tracing.edge.nr-data.net"}}],"id": 632,"name": "Staging Environment"}]}}}}}}ID, 하나 이상의 엔티티 가이드 및
ADD
,REPLACE
또는REMOVE
중 무엇을 원하는지 여부를 사용하여 변형을 실행합니다. 예를 들어 이전 단계에서 찾은 ID가259
인Production services
trace 관찰자에 새 브라우저 앱과 모바일 앱을 추가하려면 다음을 실행합니다.mutation {edgeUpdateTraceObservers(traceObserverConfigs: {id: 259dataSourceGroupConfig: {updateType: ADDguids: ["MXxCUk9XU0VSfEFQUExJQ0FUSU9OfDQ5""MXxNT0JJTEV8QVBQTElDQVRJT058MTY"]}}accountId: 1) {responses {errors {messagetype}traceObserver {dataSourceGroup {dataSources {entity {guidname}status}}}}}}
변경을 확인하는 응답은 다음과 같습니다.
{ "data": { "edgeUpdateTraceObservers": { "responses": [ { "errors": null, "traceObserver": { "dataSourceGroup": { "dataSources": [ { "entity": { "guid": "MXxCUk9XU0VSfEFQUExJQ0FUSU9OfDE", "name": "My 1st Browser App" }, "status": "ACTIVE" }, { "entity": { "guid": "MXxNT0JJTEV8QVBQTElDQVRJT058Mg", "name": "My 1st iOS App" }, "status": "ACTIVE" }, { "entity": { "guid": "MXxJTkZSQXxOQXwz", "name": "My 1st Lambda Function" }, "status": "ACTIVE" }, { "entity": { "guid": "MXxCUk9XU0VSfEFQUExJQ0FUSU9OfDQ5", "name": "My 2nd Browser App" }, "status": "ACTIVE" }, { "entity": { "guid": "MXxNT0JJTEV8QVBQTElDQVRJT058MTY", "name": "My 2nd Mobile App" }, "status": "ACTIVE" } ] } } } ] } }}
추적 관찰자의 이름 업데이트
추적 관찰자의 이름을 변경하는 방법은 다음과 같습니다.
api.newrelic.com/graphiql에서 NerdGraph GraphiQL 탐색기로 이동합니다.
이름을 업데이트하려는 추적 관찰자를 찾습니다.
{actor {account(id: YOUR_ACCOUNT_ID) {edge {tracing {traceObservers {idnameproviderRegionstatusendpoints {agent {host}}}}}}}}응답에서 반환된 추적 관찰자
id
를 찾습니다.{"data": {"actor": {"account": {"edge": {"tracing": {"traceObservers": [{"endpoints": [{"agent": {"host": "YOUR_UUID_GOES_HERE.aws-us-east-1.tracing.edge.nr-data.net"}}],"id": 123456789,"name": "Production Workload, US-EAST-1","providerRegion": "AWS_US_EAST_1","status": "CREATED"}]}}}}}}이름에 대한 새 값을 포함하는 변형을 실행합니다. 예를 들어, ID가
123456789
인 trace 관찰자의 이름을Global Workload, US-EAST-1
로 변경하려면 다음을 실행합니다.mutation {edgeUpdateTraceObservers(accountId: YOUR_ACCOUNT_IDtraceObserverConfigs: { id: 123456789, name: "Global Workload, US-EAST-1" }) {responses {errors {messagetype}traceObserver {idendpoints {agent {host}}namestatus}}}}
변경을 확인하는 응답은 다음과 같습니다.
{ "data": { "edgeUpdateTraceObservers": { "responses": [ { "errors": null, "traceObserver": { "endpoints": [ { "agent": { "host": "YOUR_UUID_GOES_HERE.aws-us-east-1.tracing.edge.nr-data.net" } } ], "id": 123456789, "name": "Global Workload, US-EAST-1", "status": "CREATED" } } ] } }}