• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

NerdGraph チュートリアル: ブラウザー エージェントの監視の例

以下に、GraphQL を使用して作成できるさまざまなブラウザー構成の例をいくつか示します。

新しいブラウザ アプリケーションを作成する

UI を使用する代わりに、NerdGraph API を使用してブラウザー アプリケーションを作成できます。これの利点は、ブラウザ アプリケーションを New Relic で計測するときに、JavaScript スニペットをプログラムで作成および取得して、ブラウザ アプリにコピー アンド ペーストできることです。

npm を使用して複数のアプリケーションに対してを設定する方法については、 「npm を使用して複数のアプリケーションをセットアップする」を参照してください。

デフォルト設定で新しいブラウザ アプリケーションを作成するミューテーションの例を次に示します。

突然変異:

mutation CreateExampleBrowserApplication(
$accountId: Int!
$name: String!
$settings: AgentApplicationBrowserSettingsInput
) {
agentApplicationCreateBrowser(
accountId: $accountId
name: $name
settings: $settings
) {
guid
name
settings {
cookiesEnabled
distributedTracingEnabled
loaderScript
loaderType
}
}
}

変数:

{
"accountId": Int!,
"name": String!,
"settings": {
"cookiesEnabled": Boolean,
"distributedTracingEnabled": Boolean,
"loaderType": AgentApplicationBrowserLoader
}
}

JavaScript スニペットを取得する

JavaScript スニペットを取得して、 アプリケーションにコピー/ペーストできます。返されるスニペットは JSON でエンコードされた文字列であり、コピー/ペーストする前に解析する必要があることに注意してください。

クエリ:

query FetchBrowserJavaScriptSnippet($guid: EntityGuid!) {
actor {
entity(guid: $guid) {
... on BrowserApplicationEntity {
guid
name
browserProperties {
jsLoaderScript
}
}
}
}
}

変数:

{
"guid": EntityGuid!
}

ブラウザ監視の構成例

ブラウザ設定は NerdGraph を通じて構成できます。以下は、アプリケーションのapdexを変更する突然変異の例です。

突然変異:

mutation UpdateBrowserApdexTarget(
$guid: EntityGuid!
$settings: AgentApplicationSettingsUpdateInput!
) {
agentApplicationSettingsUpdate(guid: $guid, settings: $settings) {
browserSettings {
browserConfig {
apdexTarget
}
}
errors {
description
errorClass
field
}
}
}

変数:

{
"guid": EntityGuid!,
"settings": {
"browserConfig": {
"apdexTarget": Float
}
}
}

NerdGraph 経由で更新できるブラウザ設定の詳細については、次の変更を参照してください。各フィールドのドキュメントは、 NerdGraph エクスプローラーで見つけることができます。

突然変異:

mutation UpdateBrowserSettingsExample($guid: EntityGuid!, settings: AgentApplicationSettingsUpdateInput!) {
agentApplicationSettingsUpdate(guid: $guid, settings: $settings) {
browserSettings {
browserConfig {
apdexTarget
}
browserMonitoring {
ajax {
denyList
}
distributedTracing {
allowedOrigins
corsEnabled
corsUseNewrelicHeader
corsUseTracecontextHeaders
enabled
excludeNewrelicHeader
}
loader
privacy {
cookiesEnabled
}
}
dataManagement {
sendTransactionEventsToInternalStream
}
}
errors {
description
errorClass
field
}
}
}

変数:

{
"guid": EntityGuid!,
"settings": {
"browserConfig": {
"apdexTarget": Float
},
"browserMonitoring": {
"ajax": {
"denyList": [String!]
},
"distributedTracing": {
"allowedOrigins": [String!],
"corsEnabled": Boolean,
"corsUseNewrelicHeader": Boolean,
"corsUseTracecontextHeaders": Boolean,
"enabled": Boolean,
"excludeNewrelicHeader": Boolean
}
"loader": AgentApplicationSettingsBrowserLoaderInput,
"privacy": {
"cookiesEnabled": Boolean
}
}
"dataManagement": {
"sendTransactionEventsToInternalStream": Boolean
}
}
}

アプリケーション構成を取得する

npm パッケージのインストール方法で使用するブラウザ アプリケーション構成を取得できます。ニーズに応じて、構成は 2 つの異なる形式で返されます。

  • ウェブページのhead要素に挿入するための JSON エンコード文字列。
  • アプリケーションのソース コード内でそのまま使用できるオブジェクト。

クエリ:

query FetchBrowserConfiguration($guid: EntityGuid!) {
actor {
entity(guid: $guid) {
... on BrowserApplicationEntity {
guid
name
browserProperties {
jsConfig
jsConfigScript
}
}
}
}
}

変数:

{
"guid": EntityGuid!
}

データをブラウザセグメントでグループ化する

ブラウザ監視結果をブラウザセグメントごとにグループ化して、より意味のあるデータを取得できます。これを UIで行う代わりに、GraphQL を使用して行うことができます。

リストセグメント

既存のセグメントをリストすることから始めます。

{
actor {
entity(guid: "YOUR_GUID") {
... on BrowserApplicationEntity {
segmentAllowListAggregate {
segments
}
}
}
}
}

応答は次のとおりです。

"data": {
"actor": {
"entity": {
"segmentAllowListAggregate": {
"segments": [
"urlsegment1",
"urlsegment2"
]
}
}
}
}
"data": {
"actor": {
"entity": {
"segmentAllowListAggregate": {
"segments": [
"urlsegment1",
"urlsegment2"
]
}
}
}
}

セグメントの作成

agentApplicationSegmentsReplaceAllBrowserSegmentAllowList ミューテーションを使用してブラウザ セグメントを作成します。

mutation {
agentApplicationSegmentsReplaceAllBrowserSegmentAllowList(
entityGuid: "YOUR_GUID"
allowList: { segments: ["urlsegment1", "urlsegment2", "urlsegment3"] }
) {
segments
}
}

応答は次のとおりです。

"data": {
"agentApplicationSegmentsReplaceAllBrowserSegmentAllowList": {
"segments": [
"urlsegment3",
"urlsegment2",
"urlsegment1"
]
}
}

ブラウザエージェントのバージョン固定

New Relic の GraphQL API は、New Relic Browser エージェントの特定のバージョンを「固定」する方法を提供し、プラットフォーム内での一貫性を確保します。バージョンを固定すると、予期しない変更や動作が発生する可能性のある自動更新を防ぐことができます。この機能の主な利点は次のとおりです。

  • Control

    : 更新をいつ、どのように適用するかについての自主性を維持します。

  • Confidence

    : テストされ承認されたバージョンのエージェントが常に実行されていることを確認します。

  • Testability

    : 更新を決定する前に、隔離された環境で新しいバージョンを簡単にテストします。

  • Stability

    : 予期しない中断を最小限に抑え、一貫したアプリケーション動作を維持します。

  • Efficiency

    : デプロイ時間を短縮し、実行上の困難を軽減します。

ここでは、ブラウザ エージェント バージョン固定 API の使用方法の概要を示します。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.